Date: Wed, 01 Feb 2006 18:59:52 +0200 From: Panagiotis Astithas <past@ebs.gr> To: Stijn Hoop <stijn@win.tue.nl>, 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: <43E0E908.7010603@ebs.gr> In-Reply-To: <20060128203524.GB68709@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> <20060128203524.GB68709@pcwin002.win.tue.nl>
next in thread | previous in thread | raw e-mail | index | archive | help
Stijn Hoop wrote: > 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 = PR_TRUE; > mCreated = PR_FALSE; > > + g_signal_handlers_disconnect_by_func(gtk_settings_get_default(), > + (gpointer)G_CALLBACK(theme_changed_cb), > + this); > + > // ungrab if required > nsCOMPtr<nsIWidget> rollupWidget = do_QueryReferent(gRollupWindow); > if (NS_STATIC_CAST(nsIWidget *, this) == 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); > } > > if (mContainer) { > @@ -3916,11 +3928,9 @@ > > /* static */ > void > -style_set_cb (GtkWidget *widget, GtkStyle *previous_style, gpointer data) > +theme_changed_cb (GtkSettings *settings, GParamSpec *pspec, nsWindow *data) > { > - nsWindow *window = get_window_for_gtk_widget(widget); > - if (window) > - window->ThemeChanged(); > + data->ThemeChanged(); > } > > ////////////////////////////////////////////////////////////////////// This has made firefox a pleasure to use again for me. Thanks, Panagiotis
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?43E0E908.7010603>