[devhelp/wip/swilmet/misc: 16/17] window: override object signal handler for ::configure-event



commit 477cf2f23618a8d94b493bd979c62cd8d5d97f0f
Author: Sébastien Wilmet <swilmet gnome org>
Date:   Sun Nov 15 18:52:35 2015 +0100

    window: override object signal handler for ::configure-event
    
    https://bugzilla.gnome.org/show_bug.cgi?id=758141

 src/dh-window.c |   13 ++++++-------
 1 files changed, 6 insertions(+), 7 deletions(-)
---
diff --git a/src/dh-window.c b/src/dh-window.c
index 8cffe17..24edb72 100644
--- a/src/dh-window.c
+++ b/src/dh-window.c
@@ -596,7 +596,7 @@ dh_window_screen_changed (GtkWidget *window,
 }
 
 static gboolean
-window_configure_event_cb (GtkWidget         *window,
+dh_window_configure_event (GtkWidget         *window,
                            GdkEventConfigure *event)
 {
         DhWindowPrivate *priv;
@@ -607,7 +607,10 @@ window_configure_event_cb (GtkWidget         *window,
                                       dh_settings_peek_window_settings (priv->settings),
                                       TRUE);
 
-        return GDK_EVENT_PROPAGATE;
+        if (GTK_WIDGET_CLASS (dh_window_parent_class)->configure_event == NULL)
+                return GDK_EVENT_PROPAGATE;
+
+        return GTK_WIDGET_CLASS (dh_window_parent_class)->configure_event (window, event);
 }
 
 static void
@@ -689,6 +692,7 @@ dh_window_class_init (DhWindowClass *klass)
         object_class->dispose = dh_window_dispose;
 
         widget_class->screen_changed = dh_window_screen_changed;
+        widget_class->configure_event = dh_window_configure_event;
 
         klass->open_link = dh_window_open_link;
 
@@ -1443,11 +1447,6 @@ dh_window_new (DhApp *application)
 
         window_populate (window);
 
-        g_signal_connect (window,
-                          "configure-event",
-                          G_CALLBACK (window_configure_event_cb),
-                          NULL);
-
         dh_util_window_settings_restore (GTK_WINDOW (window),
                                          dh_settings_peek_window_settings (priv->settings),
                                          TRUE);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]