~ubuntu-branches/ubuntu/oneiric/gnome-panel/oneiric

« back to all changes in this revision

Viewing changes to debian/patches/92_git_fix_applets_in_multiscreen.patch

  • Committer: Bazaar Package Importer
  • Author(s): Sebastien Bacher, Sebastien Bacher, Jeremy Bicha
  • Date: 2011-05-30 11:04:49 UTC
  • mfrom: (1.13.10 upstream) (2.2.5 experimental)
  • Revision ID: james.westby@ubuntu.com-20110530110449-hinl17kxkcefjw6x
Tags: 1:3.0.2-0ubuntu1
[ Sebastien Bacher ]
* New upstream version
* debian/control.in:
  - the new libgweather version is in oneiric, use it
  - drop the python and python-gconf depends, 
    they were added for gnome-panel-add which is still using gconf and buggy
* debian/gnome-panel-data.install:
  - don't install the apport hook, it's only getting gconf datas which 
    doesn't work since gnome-panel uses gsettings
* debian/patches/90_build_fixes.patch:
  - restore build fix from git not applied in the new serie
* debian/patches/01_panel_submenus.patch:
  - don't take that Debian diff, the .menus use the upstream naming in Ubuntu
* debian/patches/06_no_resize_grip.patch:
  - dropped, the issue is fixed in the new version
* debian/patches/50_fix-potfiles.patch:
  - dropped, the issue is fixed in the new version
* debian/watch:
  - track unstable series as well

Drop those delta, since gnome-panel is not the default Ubuntu session now we
can go back to an experience closer to the upstream one: 
* debian/control.in:
  - drop the indicators recommends, unity-2d is the ubuntu fallback session
    so we can get back to use an upstream config for gnome-panel and reduce
    the delta we carry
* debian/patches/04_default_panel_config.patch:
  - don't modify the upstream layout
* debian/patches/05_no_session_delay.patch:
  - no need to tweak the upstream session to optimize it
* debian/patches/16_compiz_workspace_switcher.patch:
  - go back to the upstream switcher behaviour    
* debian/patches/25_dynamic_fusa_detection.patch:
  - not needed since we use the upstream layout, could be ported if someone
    is wanting to do the work though
* debian/patches/30_disable-initial-animation.patch, debian/rules:
  - drop the --disable-initial-animation, that was some login optimization
    but since it's not the default desktop you should go back to the 
    upstream behaviour

[ Jeremy Bicha ]   
* New upstream version
* Merge from Debian experimental, remaining Ubuntu changes:
* debian/control:
  - Recommends gnome-settings-daemon which has the timezone polkit service
* debian/rules:
  - Update translations template.
* debian/gnome-panel-data.install:
  - Install apport hook
  - Install the "About Ubuntu" menu item.
* debian/patches/01_layout.patch:
  - Disabled, Help & About Ubuntu don't fit as well in Gnome Panel 3
* debian/patches/01_panel_submenus.patch.
  - Dropped
* debian/patches/03_dnd_places_link.patch:
  - Disabled, when using Drag'n'Drop from Places menu, install a link launcher
    (.desktop file) instead of copying the entire directory.
* debian/patches/17_about-ubuntu-translation.patch:
  - List ubuntu-about.desktop for translation.
* debian/patches/40_unset_menuproxy.patch:
  - Make sure gnome-panel and the applets don't pick up menu proxies.
* debian/patches/50_fix-potfiles.patch
  - Fix i18n
* debian/patches/85_disable_shutdown_on_ltsp.patch:
  - Suppress the shutdown option in the panel if LTSP_CLIENT is set.
* debian/patches/71_change_bookmark_submenu_limit_value.patch
  - Dropped, picked up by Debian
* debian/patches/18_lockdown_lock_editor.patch:
* debian/patches/90_git_wnck_show_realize.patch:
* debian/patches/90_fix_linking_DSO_link.patch:
* debian/patches/91_gir_annotations.patch
* debian/patches/92_git_calendar_day.patch
* debian/patches/92_git_fix_applets_in_multiscreen.patch:
  - Dropped, applied upstream
* debian/watch:
  - watch unstable versions

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
From cb969e989477e2671d1e0cdd1519866d61d0c98c Mon Sep 17 00:00:00 2001
2
 
From: Vincent Untz <vuntz@gnome.org>
3
 
Date: Tue, 01 Feb 2011 12:55:34 +0000
4
 
Subject: panel: Fix dbus applets to work in multiscreen environment
5
 
 
6
 
When the applet is created, the frame itself is not yet added to a
7
 
widget hierarchy, and is therefore not associated with any screen. So we
8
 
always sent the default screen as the one to be used to the applet.
9
 
 
10
 
We can simply use the screen of the PanelWidget that will contain the
11
 
applet instead.
12
 
 
13
 
https://bugzilla.gnome.org/show_bug.cgi?id=632369
14
 
---
15
 
diff --git a/gnome-panel/libpanel-applet-private/panel-applet-container.c b/gnome-panel/libpanel-applet-private/panel-applet-container.c
16
 
index eef163a..3fa947c 100644
17
 
--- a/gnome-panel/libpanel-applet-private/panel-applet-container.c
18
 
+++ b/gnome-panel/libpanel-applet-private/panel-applet-container.c
19
 
@@ -446,6 +446,7 @@ on_factory_appeared (GDBusConnection   *connection,
20
 
 
21
 
 static void
22
 
 panel_applet_container_get_applet (PanelAppletContainer *container,
23
 
+                                  GdkScreen            *screen,
24
 
                                   const gchar          *iid,
25
 
                                   GVariant             *props,
26
 
                                   GCancellable         *cancellable,
27
 
@@ -454,7 +455,7 @@ panel_applet_container_get_applet (PanelAppletContainer *container,
28
 
 {
29
 
        GSimpleAsyncResult *result;
30
 
        AppletFactoryData  *data;
31
 
-       gint                screen;
32
 
+       gint                screen_number;
33
 
        gchar              *bus_name;
34
 
        gchar              *factory_id;
35
 
        gchar              *applet_id;
36
 
@@ -479,12 +480,14 @@ panel_applet_container_get_applet (PanelAppletContainer *container,
37
 
        factory_id = g_strndup (iid, strlen (iid) - strlen (applet_id));
38
 
        applet_id += 2;
39
 
 
40
 
-       screen = gdk_screen_get_number (gtk_widget_get_screen (container->priv->socket));
41
 
+       /* we can't use the screen of the container widget since it's not in a
42
 
+        * widget hierarchy yet */
43
 
+       screen_number = gdk_screen_get_number (screen);
44
 
 
45
 
        data = g_new (AppletFactoryData, 1);
46
 
        data->result = result;
47
 
        data->factory_id = factory_id;
48
 
-       data->parameters = g_variant_new ("(si*)", applet_id, screen, props);
49
 
+       data->parameters = g_variant_new ("(si*)", applet_id, screen_number, props);
50
 
        data->cancellable = cancellable ? g_object_ref (cancellable) : NULL;
51
 
 
52
 
        bus_name = g_strdup_printf (PANEL_APPLET_BUS_NAME, factory_id);
53
 
@@ -503,6 +506,7 @@ panel_applet_container_get_applet (PanelAppletContainer *container,
54
 
 
55
 
 void
56
 
 panel_applet_container_add (PanelAppletContainer *container,
57
 
+                           GdkScreen            *screen,
58
 
                            const gchar          *iid,
59
 
                            GCancellable         *cancellable,
60
 
                            GAsyncReadyCallback   callback,
61
 
@@ -514,7 +518,7 @@ panel_applet_container_add (PanelAppletContainer *container,
62
 
 
63
 
        panel_applet_container_cancel_pending_operations (container);
64
 
 
65
 
-       panel_applet_container_get_applet (container, iid, properties,
66
 
+       panel_applet_container_get_applet (container, screen, iid, properties,
67
 
                                           cancellable, callback, user_data);
68
 
 }
69
 
 
70
 
diff --git a/gnome-panel/libpanel-applet-private/panel-applet-container.h b/gnome-panel/libpanel-applet-private/panel-applet-container.h
71
 
index 130bf16..e4de97a 100644
72
 
--- a/gnome-panel/libpanel-applet-private/panel-applet-container.h
73
 
+++ b/gnome-panel/libpanel-applet-private/panel-applet-container.h
74
 
@@ -73,6 +73,7 @@ GtkWidget *panel_applet_container_new                     (void);
75
 
 
76
 
 
77
 
 void       panel_applet_container_add                     (PanelAppletContainer *container,
78
 
+                                                          GdkScreen            *screen,
79
 
                                                           const gchar          *iid,
80
 
                                                           GCancellable        *cancellable,
81
 
                                                           GAsyncReadyCallback  callback,
82
 
diff --git a/gnome-panel/libpanel-applet-private/panel-applet-frame-dbus.c b/gnome-panel/libpanel-applet-private/panel-applet-frame-dbus.c
83
 
index 9aaac15..dd3aecb 100644
84
 
--- a/gnome-panel/libpanel-applet-private/panel-applet-frame-dbus.c
85
 
+++ b/gnome-panel/libpanel-applet-private/panel-applet-frame-dbus.c
86
 
@@ -411,6 +411,7 @@ panel_applet_frame_dbus_load (const gchar                 *iid,
87
 
        PanelAppletFrameDBus *dbus_frame;
88
 
        PanelAppletFrame     *frame;
89
 
        GVariantBuilder       builder;
90
 
+       GdkScreen            *screen;
91
 
        gchar                *conf_path;
92
 
        gchar                *background;
93
 
        guint                 orient;
94
 
@@ -425,6 +426,7 @@ panel_applet_frame_dbus_load (const gchar                 *iid,
95
 
        frame = PANEL_APPLET_FRAME (dbus_frame);
96
 
        _panel_applet_frame_set_iid (frame, iid);
97
 
 
98
 
+       screen = panel_applet_frame_activating_get_screen (frame_act);
99
 
        orient = get_panel_applet_orient (panel_applet_frame_activating_get_orientation (frame_act));
100
 
        conf_path = panel_applet_frame_activating_get_conf_path (frame_act);
101
 
        /* we can't really get a background string at this point since we don't
102
 
@@ -456,7 +458,7 @@ panel_applet_frame_dbus_load (const gchar                 *iid,
103
 
        g_object_set_data (G_OBJECT (frame), "panel-applet-frame-activating", frame_act);
104
 
 
105
 
        panel_applet_container_add (dbus_frame->priv->container,
106
 
-                                   iid, NULL,
107
 
+                                   screen, iid, NULL,
108
 
                                    (GAsyncReadyCallback) panel_applet_frame_dbus_activated,
109
 
                                    frame,
110
 
                                    g_variant_builder_end (&builder));
111
 
diff --git a/gnome-panel/panel-applet-frame.c b/gnome-panel/panel-applet-frame.c
112
 
index a411bf0..114e32f 100644
113
 
--- a/gnome-panel/panel-applet-frame.c
114
 
+++ b/gnome-panel/panel-applet-frame.c
115
 
@@ -805,6 +805,12 @@ panel_applet_frame_activating_free (PanelAppletFrameActivating *frame_act)
116
 
        g_slice_free (PanelAppletFrameActivating, frame_act);
117
 
 }
118
 
 
119
 
+GdkScreen *
120
 
+panel_applet_frame_activating_get_screen (PanelAppletFrameActivating *frame_act)
121
 
+{
122
 
+       return gtk_widget_get_screen (frame_act->panel);
123
 
+}
124
 
+
125
 
 PanelOrientation
126
 
 panel_applet_frame_activating_get_orientation (PanelAppletFrameActivating *frame_act)
127
 
 {
128
 
diff --git a/gnome-panel/panel-applet-frame.h b/gnome-panel/panel-applet-frame.h
129
 
index a459bb7..a551c4c 100644
130
 
--- a/gnome-panel/panel-applet-frame.h
131
 
+++ b/gnome-panel/panel-applet-frame.h
132
 
@@ -105,6 +105,7 @@ void  panel_applet_frame_set_panel          (PanelAppletFrame    *frame,
133
 
 
134
 
 typedef struct _PanelAppletFrameActivating        PanelAppletFrameActivating;
135
 
 
136
 
+GdkScreen        *panel_applet_frame_activating_get_screen      (PanelAppletFrameActivating *frame_act);
137
 
 PanelOrientation  panel_applet_frame_activating_get_orientation (PanelAppletFrameActivating *frame_act);
138
 
 guint32           panel_applet_frame_activating_get_size        (PanelAppletFrameActivating *frame_act);
139
 
 gboolean          panel_applet_frame_activating_get_locked      (PanelAppletFrameActivating *frame_act);
140
 
diff --git a/gnome-panel/panel-test-applets.c b/gnome-panel/panel-test-applets.c
141
 
index 58b1a3a..b302bc2 100644
142
 
--- a/gnome-panel/panel-test-applets.c
143
 
+++ b/gnome-panel/panel-test-applets.c
144
 
@@ -164,6 +164,7 @@ load_applet_into_window (const char *title,
145
 
        g_variant_builder_add (&builder, "{sv}",
146
 
                               "orient", g_variant_new_uint32 (orientation));
147
 
        panel_applet_container_add (PANEL_APPLET_CONTAINER (container),
148
 
+                                   gtk_widget_get_screen (applet_window),
149
 
                                    title, NULL,
150
 
                                    (GAsyncReadyCallback)applet_activated_cb,
151
 
                                    applet_window,
152
 
--
153
 
cgit v0.9