X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;ds=sidebyside;f=cut-n-paste%2Ftoolbar-editor%2Fegg-editable-toolbar.c;h=d65b7eb97086a6e2dd6c4cbbd9ea288b094620ef;hb=df7ffac1abb2328b91bb87306f6e77807cc4e10d;hp=2b26b4eaaabba0c3479b8379a5c04e5cb3b6b32d;hpb=88f0701b10f70b8aede0f7e23014875ab72c2e26;p=evince.git diff --git a/cut-n-paste/toolbar-editor/egg-editable-toolbar.c b/cut-n-paste/toolbar-editor/egg-editable-toolbar.c index 2b26b4ea..d65b7eb9 100644 --- a/cut-n-paste/toolbar-editor/egg-editable-toolbar.c +++ b/cut-n-paste/toolbar-editor/egg-editable-toolbar.c @@ -48,8 +48,6 @@ #include #include -static void egg_editable_toolbar_class_init (EggEditableToolbarClass *klass); -static void egg_editable_toolbar_init (EggEditableToolbar *etoolbar); static GdkPixbuf * new_separator_pixbuf (void); #define MIN_TOOLBAR_HEIGHT 20 @@ -78,8 +76,6 @@ enum static guint egg_editable_toolbar_signals[LAST_SIGNAL] = { 0 }; -static GObjectClass *parent_class = NULL; - #define EGG_EDITABLE_TOOLBAR_GET_PRIVATE(object)(G_TYPE_INSTANCE_GET_PRIVATE ((object), EGG_TYPE_EDITABLE_TOOLBAR, EggEditableToolbarPrivate)) struct _EggEditableToolbarPrivate @@ -104,32 +100,7 @@ struct _EggEditableToolbarPrivate GtkToolItem *dnd_toolitem; }; -GType -egg_editable_toolbar_get_type (void) -{ - static GType type = 0; - - if (G_UNLIKELY (type == 0)) - { - static const GTypeInfo our_info = { - sizeof (EggEditableToolbarClass), - NULL, /* base_init */ - NULL, /* base_finalize */ - (GClassInitFunc) egg_editable_toolbar_class_init, - NULL, - NULL, /* class_data */ - sizeof (EggEditableToolbar), - 0, /* n_preallocs */ - (GInstanceInitFunc) egg_editable_toolbar_init - }; - - type = g_type_register_static (GTK_TYPE_VBOX, - "EggEditableToolbar", - &our_info, 0); - } - - return type; -} +G_DEFINE_TYPE (EggEditableToolbar, egg_editable_toolbar, GTK_TYPE_VBOX); static int get_dock_position (EggEditableToolbar *etoolbar, @@ -463,9 +434,13 @@ configure_item_cursor (GtkToolItem *item, if (priv->edit_mode > 0) { GdkCursor *cursor; + GdkScreen *screen; GdkPixbuf *pixbuf = NULL; - - cursor = gdk_cursor_new (GDK_HAND2); + + screen = gtk_widget_get_screen (GTK_WIDGET (etoolbar)); + + cursor = gdk_cursor_new_for_display (gdk_screen_get_display (screen), + GDK_HAND2); gdk_window_set_cursor (widget->window, cursor); gdk_cursor_unref (cursor); @@ -1393,6 +1368,9 @@ egg_editable_toolbar_dispose (GObject *object) priv->visibility_paths = NULL; } + g_free (priv->popup_path); + priv->popup_path = NULL; + if (priv->manager != NULL) { if (priv->visibility_id) @@ -1412,7 +1390,7 @@ egg_editable_toolbar_dispose (GObject *object) priv->model = NULL; } - G_OBJECT_CLASS (parent_class)->dispose (object); + G_OBJECT_CLASS (egg_editable_toolbar_parent_class)->dispose (object); } static void @@ -1584,8 +1562,6 @@ egg_editable_toolbar_class_init (EggEditableToolbarClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); - parent_class = g_type_class_peek_parent (klass); - object_class->dispose = egg_editable_toolbar_dispose; object_class->set_property = egg_editable_toolbar_set_property; object_class->get_property = egg_editable_toolbar_get_property; @@ -1791,10 +1767,13 @@ new_pixbuf_from_widget (GtkWidget *widget) GdkVisual *visual; gint icon_width; gint icon_height; + GdkScreen *screen; icon_width = DEFAULT_ICON_WIDTH; - if (!gtk_icon_size_lookup_for_settings (gtk_settings_get_default (), + screen = gtk_widget_get_screen (widget); + + if (!gtk_icon_size_lookup_for_settings (gtk_settings_get_for_screen (screen), GTK_ICON_SIZE_LARGE_TOOLBAR, NULL, &icon_height))