Contents of /trunk/mozilla-firefox/patches/mozilla-firefox-1.5.0-gtk.patch
Parent Directory | Revision Log
Revision 153 -
(show annotations)
(download)
Tue May 8 20:52:56 2007 UTC (17 years, 4 months ago) by niro
File size: 2621 byte(s)
Tue May 8 20:52:56 2007 UTC (17 years, 4 months ago) by niro
File size: 2621 byte(s)
-import
1 | --- mozilla/widget/src/gtk2/nsWindow.cpp-orig 2005-11-25 21:21:44.539138750 -0600 |
2 | +++ mozilla/widget/src/gtk2/nsWindow.cpp 2005-11-25 21:28:57.330186500 -0600 |
3 | @@ -148,9 +148,9 @@ |
4 | GdkEventVisibility *event); |
5 | static gboolean window_state_event_cb (GtkWidget *widget, |
6 | GdkEventWindowState *event); |
7 | -static void style_set_cb (GtkWidget *widget, |
8 | - GtkStyle *previous_style, |
9 | - gpointer data); |
10 | +static void theme_changed_cb (GtkSettings *settings, |
11 | + GParamSpec *pspec, |
12 | + nsWindow *data); |
13 | #ifdef __cplusplus |
14 | extern "C" { |
15 | #endif /* __cplusplus */ |
16 | @@ -372,6 +372,10 @@ |
17 | mIsDestroyed = PR_TRUE; |
18 | mCreated = PR_FALSE; |
19 | |
20 | + g_signal_handlers_disconnect_by_func(gtk_settings_get_default(), |
21 | + (gpointer)G_CALLBACK(theme_changed_cb), |
22 | + this); |
23 | + |
24 | // ungrab if required |
25 | nsCOMPtr<nsIWidget> rollupWidget = do_QueryReferent(gRollupWindow); |
26 | if (NS_STATIC_CAST(nsIWidget *, this) == rollupWidget.get()) { |
27 | @@ -2434,8 +2438,15 @@ |
28 | G_CALLBACK(delete_event_cb), NULL); |
29 | g_signal_connect(G_OBJECT(mShell), "window_state_event", |
30 | G_CALLBACK(window_state_event_cb), NULL); |
31 | - g_signal_connect(G_OBJECT(mShell), "style_set", |
32 | - G_CALLBACK(style_set_cb), NULL); |
33 | + g_signal_connect_after(gtk_settings_get_default(), |
34 | + "notify::gtk-theme-name", |
35 | + G_CALLBACK(theme_changed_cb), this); |
36 | + g_signal_connect_after(gtk_settings_get_default(), |
37 | + "notify::gtk-key-theme-name", |
38 | + G_CALLBACK(theme_changed_cb), this); |
39 | + g_signal_connect_after(gtk_settings_get_default(), |
40 | + "notify::gtk-font-name", |
41 | + G_CALLBACK(theme_changed_cb), this); |
42 | } |
43 | |
44 | if (mContainer) { |
45 | @@ -3916,11 +3927,9 @@ |
46 | |
47 | /* static */ |
48 | void |
49 | -style_set_cb (GtkWidget *widget, GtkStyle *previous_style, gpointer data) |
50 | +theme_changed_cb (GtkSettings *settings, GParamSpec *pspec, nsWindow *data) |
51 | { |
52 | - nsWindow *window = get_window_for_gtk_widget(widget); |
53 | - if (window) |
54 | - window->ThemeChanged(); |
55 | + data->ThemeChanged(); |
56 | } |
57 | |
58 | ////////////////////////////////////////////////////////////////////// |