]> git.pld-linux.org Git - packages/firefox.git/blob - mozilla-firefox-bug305970.patch
- starting playing with FF 1.5.0.1, nfy
[packages/firefox.git] / mozilla-firefox-bug305970.patch
1 Index: mozilla/widget/src/gtk2/nsWindow.cpp
2 ===================================================================
3 RCS file: /cvsroot/mozilla/widget/src/gtk2/nsWindow.cpp,v
4 retrieving revision 1.145.2.1
5 diff -d -u -p -r1.145.2.1 nsWindow.cpp
6 --- mozilla/widget/src/gtk2/nsWindow.cpp        18 Aug 2005 08:11:23 -0000      1.145.2.1
7 +++ mozilla/widget/src/gtk2/nsWindow.cpp        24 Nov 2005 14:32:31 -0000
8 @@ -148,9 +148,9 @@ static gboolean visibility_notify_event_
9                                             GdkEventVisibility *event);
10  static gboolean window_state_event_cb     (GtkWidget *widget,
11                                             GdkEventWindowState *event);
12 -static void     style_set_cb              (GtkWidget *widget,
13 -                                           GtkStyle *previous_style,
14 -                                           gpointer data);
15 +static void     theme_changed_cb          (GtkSettings *settings,
16 +                                           GParamSpec *pspec,
17 +                                           nsWindow *data);
18  #ifdef __cplusplus
19  extern "C" {
20  #endif /* __cplusplus */
21 @@ -372,6 +372,10 @@ nsWindow::Destroy(void)
22      mIsDestroyed = PR_TRUE;
23      mCreated = PR_FALSE;
24  
25 +    g_signal_handlers_disconnect_by_func(gtk_settings_get_default(),
26 +                                         (gpointer)G_CALLBACK(theme_changed_cb),
27 +                                         this);
28 +
29      // ungrab if required
30      nsCOMPtr<nsIWidget> rollupWidget = do_QueryReferent(gRollupWindow);
31      if (NS_STATIC_CAST(nsIWidget *, this) == rollupWidget.get()) {
32 @@ -2434,8 +2438,16 @@ nsWindow::NativeCreate(nsIWidget        
33                           G_CALLBACK(delete_event_cb), NULL);
34          g_signal_connect(G_OBJECT(mShell), "window_state_event",
35                           G_CALLBACK(window_state_event_cb), NULL);
36 -        g_signal_connect(G_OBJECT(mShell), "style_set",
37 -                         G_CALLBACK(style_set_cb), NULL);
38 +
39 +        g_signal_connect_after(gtk_settings_get_default(),
40 +                               "notify::gtk-theme-name",
41 +                               G_CALLBACK(theme_changed_cb), this);
42 +        g_signal_connect_after(gtk_settings_get_default(),
43 +                               "notify::gtk-key-theme-name",
44 +                               G_CALLBACK(theme_changed_cb), this);
45 +        g_signal_connect_after(gtk_settings_get_default(),
46 +                               "notify::gtk-font-name",
47 +                               G_CALLBACK(theme_changed_cb), this);
48      }
49  
50      if (mContainer) {
51 @@ -3916,11 +3928,9 @@ window_state_event_cb (GtkWidget *widget
52  
53  /* static */
54  void
55 -style_set_cb (GtkWidget *widget, GtkStyle *previous_style, gpointer data)
56 +theme_changed_cb (GtkSettings *settings, GParamSpec *pspec, nsWindow *data)
57  {
58 -    nsWindow *window = get_window_for_gtk_widget(widget);
59 -    if (window)
60 -        window->ThemeChanged();
61 +    data->ThemeChanged();
62  }
63  
64  //////////////////////////////////////////////////////////////////////
This page took 0.029648 seconds and 3 git commands to generate.