Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 28 Jan 2006 21:35:24 +0100
From:      Stijn Hoop <stijn@win.tue.nl>
To:        Anish Mistry <mistry.7@osu.edu>, Mark Kane <mark@mkproductions.org>, gnome@freebsd.org, Frank Staals <frankstaals@gmx.net>, freebsd-questions@freebsd.org, Simon Barner <barner@freebsd.org>
Subject:   Re: Firefox 1.5
Message-ID:  <20060128203524.GB68709@pcwin002.win.tue.nl>
In-Reply-To: <20060128163501.GA68709@pcwin002.win.tue.nl>
References:  <a8b370910601262206p2dea460fj87b097fadaa3372b@mail.gmail.com> <200601271218.00377.mistry.7@osu.edu> <43DA7946.6000100@mkproductions.org> <200601271850.21187.mistry.7@osu.edu> <20060128163501.GA68709@pcwin002.win.tue.nl>

next in thread | previous in thread | raw e-mail | index | archive | help

--4Ckj6UjgE2iN1+kY
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

For those interested, paste the inline patch below in

/usr/ports/www/firefox/files/patch-bugzilla305970

And reinstall your firefox. Thanks again, Anish, it certainly seemed to
help me!

--Stijn

--- widget/src/gtk2/nsWindow.cpp.orig	Thu Aug 18 10:11:23 2005
+++ widget/src/gtk2/nsWindow.cpp	Sat Jan 28 18:34:03 2006
@@ -148,9 +148,9 @@
                                            GdkEventVisibility *event);
 static gboolean window_state_event_cb     (GtkWidget *widget,
                                            GdkEventWindowState *event);
-static void     style_set_cb              (GtkWidget *widget,
-                                           GtkStyle *previous_style,
-                                           gpointer data);
+static void     theme_changed_cb          (GtkSettings *settings,
+                                           GParamSpec *pspec,
+                                           nsWindow *data);
 #ifdef __cplusplus
 extern "C" {
 #endif /* __cplusplus */
@@ -372,6 +372,10 @@
     mIsDestroyed =3D PR_TRUE;
     mCreated =3D PR_FALSE;
=20
+    g_signal_handlers_disconnect_by_func(gtk_settings_get_default(),
+                                         (gpointer)G_CALLBACK(theme_change=
d_cb),
+                                         this);
+
     // ungrab if required
     nsCOMPtr<nsIWidget> rollupWidget =3D do_QueryReferent(gRollupWindow);
     if (NS_STATIC_CAST(nsIWidget *, this) =3D=3D rollupWidget.get()) {
@@ -2434,8 +2438,16 @@
                          G_CALLBACK(delete_event_cb), NULL);
         g_signal_connect(G_OBJECT(mShell), "window_state_event",
                          G_CALLBACK(window_state_event_cb), NULL);
-        g_signal_connect(G_OBJECT(mShell), "style_set",
-                         G_CALLBACK(style_set_cb), NULL);
+
+        g_signal_connect_after(gtk_settings_get_default(),
+                               "notify::gtk-theme-name",
+                               G_CALLBACK(theme_changed_cb), this);
+        g_signal_connect_after(gtk_settings_get_default(),
+                               "notify::gtk-key-theme-name",
+                               G_CALLBACK(theme_changed_cb), this);
+        g_signal_connect_after(gtk_settings_get_default(),
+                               "notify::gtk-font-name",
+                               G_CALLBACK(theme_changed_cb), this);
     }
=20
     if (mContainer) {
@@ -3916,11 +3928,9 @@
=20
 /* static */
 void
-style_set_cb (GtkWidget *widget, GtkStyle *previous_style, gpointer data)
+theme_changed_cb (GtkSettings *settings, GParamSpec *pspec, nsWindow *data)
 {
-    nsWindow *window =3D get_window_for_gtk_widget(widget);
-    if (window)
-        window->ThemeChanged();
+    data->ThemeChanged();
 }
=20
 //////////////////////////////////////////////////////////////////////

--4Ckj6UjgE2iN1+kY
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (FreeBSD)

iD8DBQFD29WMY3r/tLQmfWcRAvdxAKCZaMrrTvzViiC8C8C+kHosFDYinACgt2Gi
vXoM9JW2WvS4c4oCYl9ymeY=
=NW82
-----END PGP SIGNATURE-----

--4Ckj6UjgE2iN1+kY--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060128203524.GB68709>