diff options
author | Owen Taylor <otaylor@redhat.com> | 1998-11-06 16:03:17 +0000 |
---|---|---|
committer | Owen Taylor <otaylor@src.gnome.org> | 1998-11-06 16:03:17 +0000 |
commit | 093032a4c1940919ef403556d4912f371c3bfc24 (patch) | |
tree | 78ec24e0d6ce2d84453f27ba496673f53206db8e /gtk/gtkthemes.c | |
parent | 4b0e615fc5e2ab8c996f08e5401ba459eca7f078 (diff) | |
download | gtk+-themes-2.tar.gz |
Queue a clear/redraw, not just a redraw, so the focus gets undrawnthemes-2
Thu Nov 5 12:06:16 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtkcheckbutton.c (gtk_check_button_draw_focus): Queue
a clear/redraw, not just a redraw, so the focus
gets undrawn properly.
* gtk/gtktogglebutton.c (gtk_toggle_button_unrealize):
Chain to gtk_widget_unrealize() instead of duplicating
code.
Wed Nov 4 14:34:51 1998 Owen Taylor <otaylor@redhat.com>
* gdk/gdk.c gdk/gdkprivate.h gdk/gdkwindow.c: Removed
last vestiges of old DND.
Tue Nov 3 12:27:52 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtkentry.c: Restored inner border to entries,
erase cursors to background image.
Fri Oct 30 12:09:21 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtkentry.c gtk/gtkstyle.[ch]: removed paint_entry() -
it was identical to paint_flat_box().
* gtk/gtkstyle.c: Coding style fixups.
* gtk/gtkwindow.c (gtk_window_move_resize): removed useless
test.
* gtk/gtkframe.c gtkstyle.[ch] gtknotebook.c:
Change 'side' for paint_[box/shadow]_gap and paint_extension
to be GtkPositionType instead of a random int.
* gtk/gtkaspectframe.c (gtk_aspect_frame_paint): Use
"frame" as detail - an aspectframe should draw identical
to a frame.
Tue Oct 27 09:58:11 1998 Owen Taylor <otaylor@redhat.com>
* gdk/gdkwindow.c (gdk_window_merge_child_shapes): renamed
from combine_child_shapes().
* gdk/gdkwindow.c: Merge propagate_shapes() and
propagate_combine_shapes() to remove code duplication.
Diffstat (limited to 'gtk/gtkthemes.c')
-rw-r--r-- | gtk/gtkthemes.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/gtk/gtkthemes.c b/gtk/gtkthemes.c index 29d6ac23b9..d2482a0af9 100644 --- a/gtk/gtkthemes.c +++ b/gtk/gtkthemes.c @@ -52,7 +52,7 @@ gtk_theme_engine_get (gchar *name) if (!engine_hash) engine_hash = g_hash_table_new (g_str_hash, g_str_equal); - + /* get the library name for the theme */ result = g_hash_table_lookup (engine_hash, name); @@ -100,11 +100,13 @@ gtk_theme_engine_get (gchar *name) /* setup anything it needs to set up. */ result->init((GtkThemeEngine *)result); - g_hash_table_insert (engine_hash, name, result); + g_hash_table_insert (engine_hash, result->name, result); } } - - return (GtkThemeEngine *)result; + else + result->refcount++; + + return (GtkThemeEngine *)result; } void @@ -127,7 +129,7 @@ gtk_theme_engine_unref (GtkThemeEngine *engine) if (private->refcount == 0) { - g_hash_table_remove (engine_hash, private); + g_hash_table_remove (engine_hash, private->name); g_module_close (private->library); g_free (private->name); |