summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@fedoraproject.org>2009-03-03 17:31:38 +0000
committerMatthias Clasen <mclasen@fedoraproject.org>2009-03-03 17:31:38 +0000
commitdb29d8ba7417d8d02107a24f34e111881c54ecc1 (patch)
tree6c14057b5969aa20bcf8ec8a9aa08a3ac25ea7d1
parenta7aa5e79d8cb303813b20f1975d57afb3cf58f26 (diff)
downloadgnome-panel-db29d8ba7417d8d02107a24f34e111881c54ecc1.tar.gz
gnome-panel-db29d8ba7417d8d02107a24f34e111881c54ecc1.tar.xz
gnome-panel-db29d8ba7417d8d02107a24f34e111881c54ecc1.zip
-rw-r--r--.cvsignore2
-rw-r--r--gnome-panel-2.24.0-hide-shutdown-if-unavailable.patch80
-rw-r--r--gnome-panel-2.24.1-smoother-slide-in.patch661
-rw-r--r--gnome-panel.spec15
-rw-r--r--panel-resizing.patch49
-rw-r--r--sources2
-rw-r--r--tryexec.patch29
7 files changed, 9 insertions, 829 deletions
diff --git a/.cvsignore b/.cvsignore
index 1b82f5d..da21b85 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -1 +1 @@
-gnome-panel-2.25.91.tar.bz2
+gnome-panel-2.25.92.tar.bz2
diff --git a/gnome-panel-2.24.0-hide-shutdown-if-unavailable.patch b/gnome-panel-2.24.0-hide-shutdown-if-unavailable.patch
deleted file mode 100644
index f84d22b..0000000
--- a/gnome-panel-2.24.0-hide-shutdown-if-unavailable.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-diff -ru gnome-panel-2.24.0/gnome-panel/libpanel-util/panel-session-manager.c new/gnome-panel/libpanel-util/panel-session-manager.c
---- gnome-panel-2.24.0/gnome-panel/libpanel-util/panel-session-manager.c 2008-09-22 17:21:03.000000000 -0400
-+++ new/gnome-panel/libpanel-util/panel-session-manager.c 2008-10-09 12:56:14.000000000 -0400
-@@ -141,6 +141,39 @@
- }
- }
-
-+gboolean
-+panel_session_manager_is_shutdown_available (PanelSessionManager *manager)
-+{
-+ GError *error;
-+ DBusGProxy *proxy;
-+ gboolean is_shutdown_available;
-+
-+ g_return_if_fail (PANEL_IS_SESSION_MANAGER (manager));
-+
-+ error = NULL;
-+
-+ if (!panel_dbus_service_ensure_connection (PANEL_DBUS_SERVICE (manager),
-+ &error)) {
-+ g_warning ("Could not connect to session manager: %s",
-+ error->message);
-+ g_error_free (error);
-+ return;
-+ }
-+
-+ proxy = panel_dbus_service_get_proxy (PANEL_DBUS_SERVICE (manager));
-+
-+ if (!dbus_g_proxy_call (proxy, "CanShutdown", &error,
-+ G_TYPE_INVALID, G_TYPE_BOOLEAN,
-+ &is_shutdown_available, G_TYPE_INVALID) &&
-+ error != NULL) {
-+ g_warning ("Could not ask session manager if shut down is available: %s",
-+ error->message);
-+ g_error_free (error);
-+ return FALSE;
-+ }
-+ return is_shutdown_available;
-+}
-+
- PanelSessionManager *
- panel_session_manager_get (void)
- {
-diff -ru gnome-panel-2.24.0/gnome-panel/libpanel-util/panel-session-manager.h new/gnome-panel/libpanel-util/panel-session-manager.h
---- gnome-panel-2.24.0/gnome-panel/libpanel-util/panel-session-manager.h 2008-09-22 17:21:03.000000000 -0400
-+++ new/gnome-panel/libpanel-util/panel-session-manager.h 2008-10-09 12:57:27.000000000 -0400
-@@ -63,6 +63,7 @@
- void panel_session_manager_request_logout (PanelSessionManager *session,
- PanelSessionManagerLogoutType mode);
- void panel_session_manager_request_shutdown (PanelSessionManager *session);
-+gboolean panel_session_manager_is_shutdown_available (PanelSessionManager *session);
-
- G_END_DECLS
-
-diff -ru gnome-panel-2.24.0/gnome-panel/panel-action-button.c new/gnome-panel/panel-action-button.c
---- gnome-panel-2.24.0/gnome-panel/panel-action-button.c 2008-10-09 12:59:52.000000000 -0400
-+++ new/gnome-panel/panel-action-button.c 2008-10-09 13:05:28.000000000 -0400
-@@ -190,15 +190,13 @@
- static gboolean
- panel_action_shutdown_reboot_is_disabled (void)
- {
-- return panel_lockdown_get_disable_log_out();
--#if 0
-- /* FIXME: waiting for a gnome-session dbus api to know if
-- * shutdown/reboot is possible:
-- * http://bugzilla.gnome.org/show_bug.cgi?id=536915 */
-- return (panel_lockdown_get_disable_log_out() ||
-- (!gdm_supports_logout_action (GDM_LOGOUT_ACTION_SHUTDOWN) &&
-- !gdm_supports_logout_action (GDM_LOGOUT_ACTION_REBOOT)));
--#endif
-+ PanelSessionManager *manager;
-+
-+ if (panel_lockdown_get_disable_log_out())
-+ return TRUE;
-+
-+ manager = panel_session_manager_get ();
-+ return !panel_session_manager_is_shutdown_available (manager);
- }
-
- /* Run Application
diff --git a/gnome-panel-2.24.1-smoother-slide-in.patch b/gnome-panel-2.24.1-smoother-slide-in.patch
deleted file mode 100644
index 389a015..0000000
--- a/gnome-panel-2.24.1-smoother-slide-in.patch
+++ /dev/null
@@ -1,661 +0,0 @@
-commit 2d6b5f237b167989b96302b8447333dc94e082f6
-Author: Ray Strode <rstrode@redhat.com>
-Date: Mon Nov 3 17:19:13 2008 -0500
-
- Don't slide panel down until applets load
-
-diff --git a/gnome-panel/applet.c b/gnome-panel/applet.c
-index 165ded5..53be8e4 100644
---- a/gnome-panel/applet.c
-+++ b/gnome-panel/applet.c
-@@ -792,6 +792,7 @@ typedef struct {
- } PanelAppletToLoad;
-
- static GSList *panel_applets_to_load = NULL;
-+static GSList *panel_applets_loading = NULL;
- static gboolean panel_applet_have_load_idle = FALSE;
-
- static void
-@@ -819,6 +820,52 @@ panel_applet_on_load_queue (const char *id)
- }
-
- static gboolean
-+initially_unhide_toplevels (void)
-+{
-+ GSList *toplevels, *l;
-+
-+ toplevels = panel_toplevel_list_toplevels ();
-+
-+ l = toplevels;
-+ while (l != NULL) {
-+ PanelToplevel *toplevel;
-+
-+ toplevel = (PanelToplevel *) l->data;
-+ if (!panel_toplevel_get_is_attached (toplevel))
-+ panel_toplevel_queue_initial_unhide (toplevel);
-+ l = l->next;
-+ }
-+
-+ return FALSE;
-+}
-+
-+void
-+panel_applet_stop_loading (const char *id)
-+{
-+ PanelAppletToLoad *applet;
-+ GSList *l, *applet_link;
-+
-+ applet_link = NULL;
-+ for (l = panel_applets_loading; l; l = l->next) {
-+ applet = l->data;
-+
-+ if (strcmp (applet->id, id) == 0) {
-+ break;
-+ }
-+ }
-+
-+ if (l == NULL)
-+ return;
-+
-+ panel_applets_loading = g_slist_delete_link (panel_applets_loading, l);
-+ free_applet_to_load (applet);
-+
-+ if (panel_applets_loading == NULL) {
-+ initially_unhide_toplevels ();
-+ }
-+}
-+
-+static gboolean
- panel_applet_load_idle_handler (gpointer dummy)
- {
- PanelAppletToLoad *applet = NULL;
-@@ -848,8 +895,8 @@ panel_applet_load_idle_handler (gpointer dummy)
- panel_applet_have_load_idle = FALSE;
- return FALSE;
- }
--
- panel_applets_to_load = g_slist_delete_link (panel_applets_to_load, l);
-+ panel_applets_loading = g_slist_append (panel_applets_loading, applet);
-
- panel_widget = panel_toplevel_get_panel_widget (toplevel);
-
-@@ -873,6 +920,7 @@ panel_applet_load_idle_handler (gpointer dummy)
- applet->locked,
- applet->position,
- applet->id);
-+ panel_applet_stop_loading (applet->id);
- break;
- case PANEL_OBJECT_MENU:
- panel_menu_button_load_from_gconf (panel_widget,
-@@ -880,12 +928,14 @@ panel_applet_load_idle_handler (gpointer dummy)
- applet->position,
- TRUE,
- applet->id);
-+ panel_applet_stop_loading (applet->id);
- break;
- case PANEL_OBJECT_LAUNCHER:
- launcher_load_from_gconf (panel_widget,
- applet->locked,
- applet->position,
- applet->id);
-+ panel_applet_stop_loading (applet->id);
- break;
- case PANEL_OBJECT_LOGOUT:
- case PANEL_OBJECT_LOCK:
-@@ -896,6 +946,7 @@ panel_applet_load_idle_handler (gpointer dummy)
- applet->position,
- TRUE,
- applet->id);
-+ panel_applet_stop_loading (applet->id);
- break;
- case PANEL_OBJECT_ACTION:
- panel_action_button_load_from_gconf (
-@@ -904,6 +955,7 @@ panel_applet_load_idle_handler (gpointer dummy)
- applet->position,
- TRUE,
- applet->id);
-+ panel_applet_stop_loading (applet->id);
- break;
- case PANEL_OBJECT_MENU_BAR:
- panel_menu_bar_load_from_gconf (
-@@ -912,18 +964,18 @@ panel_applet_load_idle_handler (gpointer dummy)
- applet->position,
- TRUE,
- applet->id);
-+ panel_applet_stop_loading (applet->id);
- break;
- case PANEL_OBJECT_SEPARATOR:
- panel_separator_load_from_gconf (panel_widget,
- applet->locked,
- applet->position,
- applet->id);
-+ panel_applet_stop_loading (applet->id);
- default:
- break;
- }
-
-- free_applet_to_load (applet);
--
- return TRUE;
- }
-
-@@ -971,8 +1023,10 @@ panel_applet_compare (const PanelAppletToLoad *a,
- void
- panel_applet_load_queued_applets (void)
- {
-- if (!panel_applets_to_load)
-+ if (!panel_applets_to_load) {
-+ g_idle_add (initially_unhide_toplevels, NULL);
- return;
-+ }
-
- panel_applets_to_load = g_slist_sort (panel_applets_to_load,
- (GCompareFunc) panel_applet_compare);
-diff --git a/gnome-panel/applet.h b/gnome-panel/applet.h
-index 8790229..16cfa46 100644
---- a/gnome-panel/applet.h
-+++ b/gnome-panel/applet.h
-@@ -53,6 +53,7 @@ AppletInfo *panel_applet_register (GtkWidget *applet,
- gboolean exactpos,
- PanelObjectType type,
- const char *id);
-+void panel_applet_stop_loading (const char *id);
-
- const char *panel_applet_get_id (AppletInfo *info);
- const char *panel_applet_get_id_by_widget (GtkWidget *widget);
-diff --git a/gnome-panel/panel-applet-frame.c b/gnome-panel/panel-applet-frame.c
-index 58f4fb2..8aafd83 100644
---- a/gnome-panel/panel-applet-frame.c
-+++ b/gnome-panel/panel-applet-frame.c
-@@ -1311,6 +1312,7 @@ panel_applet_frame_activated (CORBA_Object object,
- panel_applet_frame_loading_failed (frame, frame_act->id);
- CORBA_exception_free (&corba_ev);
- bonobo_object_release_unref (object, NULL);
-+ panel_applet_stop_loading (frame_act->id);
- g_free (frame_act->id);
- g_free (frame_act);
- g_free (error);
-@@ -1327,6 +1329,7 @@ panel_applet_frame_activated (CORBA_Object object,
- g_warning (G_STRLOC ": failed to load applet %s",
- frame->priv->iid);
- panel_applet_frame_loading_failed (frame, frame_act->id);
-+ panel_applet_stop_loading (frame_act->id);
- g_free (frame_act->id);
- g_free (frame_act);
- return;
-@@ -1338,6 +1341,7 @@ panel_applet_frame_activated (CORBA_Object object,
- "(cannot get control frame)", frame->priv->iid);
- panel_applet_frame_loading_failed (frame, frame_act->id);
- gtk_object_sink (GTK_OBJECT (widget));
-+ panel_applet_stop_loading (frame_act->id);
- g_free (frame_act->id);
- g_free (frame_act);
- return;
-@@ -1354,6 +1358,7 @@ panel_applet_frame_activated (CORBA_Object object,
- frame->priv->iid, error);
- panel_applet_frame_loading_failed (frame, frame_act->id);
- gtk_object_sink (GTK_OBJECT (widget));
-+ panel_applet_stop_loading (frame_act->id);
- g_free (frame_act->id);
- g_free (frame_act);
- g_free (error);
-@@ -1377,6 +1382,7 @@ panel_applet_frame_activated (CORBA_Object object,
- frame->priv->iid, error);
- panel_applet_frame_loading_failed (frame, frame_act->id);
- gtk_object_sink (GTK_OBJECT (widget));
-+ panel_applet_stop_loading (frame_act->id);
- g_free (frame_act->id);
- g_free (frame_act);
- g_free (error);
-@@ -1401,6 +1407,7 @@ panel_applet_frame_activated (CORBA_Object object,
- "(cannot get control)", frame->priv->iid);
- panel_applet_frame_loading_failed (frame, frame_act->id);
- gtk_object_sink (GTK_OBJECT (widget));
-+ panel_applet_stop_loading (frame_act->id);
- g_free (frame_act->id);
- g_free (frame_act);
- return;
-@@ -1413,6 +1420,7 @@ panel_applet_frame_activated (CORBA_Object object,
- "(cannot get applet shell)", frame->priv->iid);
- panel_applet_frame_loading_failed (frame, frame_act->id);
- gtk_object_sink (GTK_OBJECT (widget));
-+ panel_applet_stop_loading (frame_act->id);
- g_free (frame_act->id);
- g_free (frame_act);
- return;
-@@ -1444,6 +1452,7 @@ panel_applet_frame_activated (CORBA_Object object,
- panel_lockdown_notify_add (G_CALLBACK (panel_applet_frame_sync_menu_state),
- frame);
-
-+ panel_applet_stop_loading (frame_act->id);
- g_free (frame_act->id);
- g_free (frame_act);
- }
-diff --git a/gnome-panel/panel-toplevel.c b/gnome-panel/panel-toplevel.c
-index 5d8b8d4..37fc5f0 100644
---- a/gnome-panel/panel-toplevel.c
-+++ b/gnome-panel/panel-toplevel.c
-@@ -2900,10 +2900,14 @@ panel_toplevel_initially_hide (PanelToplevel *toplevel)
- if (!toplevel->priv->attached) {
- toplevel->priv->initial_animation_done = FALSE;
-
-+ /* We start the panel off hidden until all the
-+ * applets are loaded, and then finally slide i
-+ * down when it's ready to be used
-+ */
- toplevel->priv->state = PANEL_STATE_AUTO_HIDDEN;
- gtk_widget_queue_resize (GTK_WIDGET (toplevel));
-
-- panel_toplevel_queue_auto_unhide (toplevel);
-+ panel_toplevel_update_struts (toplevel, FALSE);
- } else
- toplevel->priv->initial_animation_done = TRUE;
-
-@@ -3638,6 +3642,17 @@ panel_toplevel_queue_auto_unhide (PanelToplevel *toplevel)
- toplevel);
- }
-
-+void
-+panel_toplevel_queue_initial_unhide (PanelToplevel *toplevel)
-+{
-+ if (toplevel->priv->initial_animation_done)
-+ return;
-+ /* Give the applets a second or so to frob after registering */
-+ toplevel->priv->unhide_timeout =
-+ g_timeout_add_seconds (1, (GSourceFunc) panel_toplevel_auto_unhide_timeout_handler,
-+ toplevel);
-+}
-+
- static gboolean
- panel_toplevel_enter_notify_event (GtkWidget *widget,
- GdkEventCrossing *event)
-diff --git a/gnome-panel/panel-toplevel.h b/gnome-panel/panel-toplevel.h
-index 81e6c76..60400ea 100644
---- a/gnome-panel/panel-toplevel.h
-+++ b/gnome-panel/panel-toplevel.h
-@@ -136,6 +136,7 @@ void panel_toplevel_hide (PanelToplevel
- void panel_toplevel_unhide (PanelToplevel *toplevel);
- void panel_toplevel_queue_auto_hide (PanelToplevel *toplevel);
- void panel_toplevel_queue_auto_unhide (PanelToplevel *toplevel);
-+void panel_toplevel_queue_initial_unhide (PanelToplevel *toplevel);
- void panel_toplevel_push_autohide_disabler (PanelToplevel *toplevel);
- void panel_toplevel_pop_autohide_disabler (PanelToplevel *toplevel);
-
-
-commit 2c3e3ad9f93a2b17e2a251913e48d154d15ef93e
-Author: Ray Strode <rstrode@redhat.com>
-Date: Mon Nov 3 11:50:16 2008 -0500
-
- Split animation end side calculation to new func
-
- We're going to need it in other places than
- start_animation.
-
-diff --git a/gnome-panel/panel-toplevel.c b/gnome-panel/panel-toplevel.c
-index 37fc5f0..0962659 100644
---- a/gnome-panel/panel-toplevel.c
-+++ b/gnome-panel/panel-toplevel.c
-@@ -3338,22 +3338,19 @@ panel_toplevel_get_animation_time (PanelToplevel *toplevel)
- }
-
- static void
--panel_toplevel_start_animation (PanelToplevel *toplevel)
-+panel_toplevel_calculate_animation_end_geometry (PanelToplevel *toplevel)
- {
- GdkScreen *screen;
- int monitor_width, monitor_height;
-- int deltax, deltay, deltaw = 0, deltah = 0;
-- int cur_x = -1, cur_y = -1;
-- long t;
--
-- screen = panel_toplevel_get_monitor_geometry (
-- toplevel, NULL, NULL, &monitor_width, &monitor_height);
-
- toplevel->priv->animation_end_x = toplevel->priv->x;
- toplevel->priv->animation_end_y = toplevel->priv->y;
- toplevel->priv->animation_end_width = -1;
- toplevel->priv->animation_end_height = -1;
-
-+ screen = panel_toplevel_get_monitor_geometry (
-+ toplevel, NULL, NULL, &monitor_width, &monitor_height);
-+
- if (!toplevel->priv->expand) {
-
- if (toplevel->priv->x_centered)
-@@ -3384,6 +3381,18 @@ panel_toplevel_start_animation (PanelToplevel *toplevel)
- &toplevel->priv->animation_end_width,
- &toplevel->priv->animation_end_height);
-
-+}
-+
-+static void
-+panel_toplevel_start_animation (PanelToplevel *toplevel)
-+{
-+ GdkScreen *screen;
-+ int deltax, deltay, deltaw = 0, deltah = 0;
-+ int cur_x = -1, cur_y = -1;
-+ long t;
-+
-+ panel_toplevel_calculate_animation_end_geometry (toplevel);
-+
- toplevel->priv->animating = TRUE;
-
- panel_toplevel_update_struts (toplevel, TRUE);
-@@ -3396,6 +3405,8 @@ panel_toplevel_start_animation (PanelToplevel *toplevel)
-
- gdk_window_get_origin (GTK_WIDGET (toplevel)->window, &cur_x, &cur_y);
-
-+ screen = gtk_widget_get_screen (GTK_WIDGET (toplevel));
-+
- cur_x -= panel_multiscreen_x (screen, toplevel->priv->monitor);
- cur_y -= panel_multiscreen_y (screen, toplevel->priv->monitor);
-
-
-commit 36b97aa7bb302b65f554c370d7e8c58af4386a76
-Author: Ray Strode <rstrode@redhat.com>
-Date: Mon Nov 3 17:20:09 2008 -0500
-
- Don't change struts while animating
-
-diff --git a/gnome-panel/panel-toplevel.c b/gnome-panel/panel-toplevel.c
-index 0962659..bef6a02 100644
---- a/gnome-panel/panel-toplevel.c
-+++ b/gnome-panel/panel-toplevel.c
-@@ -188,7 +188,8 @@ struct _PanelToplevelPrivate {
- /* flag to see if we have already done geometry updating,
- if not then we're still loading and can ignore many things */
- guint updated_geometry_initial : 1;
-- /* flag to see if we have done the initial animation */
-+ /* flags to see if we have done the initial animation */
-+ guint initial_animation_started : 1;
- guint initial_animation_done : 1;
- };
-
-@@ -231,6 +232,8 @@ enum {
- static guint toplevel_signals [LAST_SIGNAL] = { 0 };
- static GSList *toplevel_list = NULL;
-
-+static void panel_toplevel_calculate_animation_end_geometry (PanelToplevel *toplevel);
-+
- GSList *
- panel_toplevel_list_toplevels (void)
- {
-@@ -1372,7 +1375,7 @@ panel_toplevel_get_effective_auto_hide_size (PanelToplevel *toplevel)
- }
-
- static gboolean
--panel_toplevel_update_struts (PanelToplevel *toplevel, gboolean end_of_animation)
-+panel_toplevel_update_struts (PanelToplevel *toplevel)
- {
- PanelOrientation orientation;
- GdkScreen *screen;
-@@ -1382,6 +1385,8 @@ panel_toplevel_update_struts (PanelToplevel *toplevel, gboolean end_of_animation
- int monitor_x, monitor_y;
- int monitor_width, monitor_height;
-
-+ panel_toplevel_calculate_animation_end_geometry (toplevel);
-+
- if (!toplevel->priv->updated_geometry_initial)
- return FALSE;
-
-@@ -1397,25 +1402,18 @@ panel_toplevel_update_struts (PanelToplevel *toplevel, gboolean end_of_animation
- &monitor_width,
- &monitor_height);
-
-- if (end_of_animation) {
-- x = toplevel->priv->animation_end_x;
-- y = toplevel->priv->animation_end_y;
-- x += panel_multiscreen_x (screen, toplevel->priv->monitor);
-- x += panel_multiscreen_y (screen, toplevel->priv->monitor);
-- if (toplevel->priv->animation_end_width != -1)
-- width = toplevel->priv->animation_end_width;
-- else
-- width = toplevel->priv->geometry.width;
-- if (toplevel->priv->animation_end_height != -1)
-- height = toplevel->priv->animation_end_height;
-- else
-- height = toplevel->priv->geometry.height;
-- } else {
-- x = toplevel->priv->geometry.x;
-- y = toplevel->priv->geometry.y;
-- width = toplevel->priv->geometry.width;
-+ x = toplevel->priv->animation_end_x;
-+ y = toplevel->priv->animation_end_y;
-+ x += panel_multiscreen_x (screen, toplevel->priv->monitor);
-+ x += panel_multiscreen_y (screen, toplevel->priv->monitor);
-+ if (toplevel->priv->animation_end_width != -1)
-+ width = toplevel->priv->animation_end_width;
-+ else
-+ width = toplevel->priv->geometry.width;
-+ if (toplevel->priv->animation_end_height != -1)
-+ height = toplevel->priv->animation_end_height;
-+ else
- height = toplevel->priv->geometry.height;
-- }
-
- orientation = toplevel->priv->orientation;
-
-@@ -1827,7 +1825,7 @@ panel_toplevel_update_auto_hide_position (PanelToplevel *toplevel,
- height = toplevel->priv->original_height;
- snap_tolerance = toplevel->priv->snap_tolerance;
-
-- if (toplevel->priv->initial_animation_done) {
-+ if (toplevel->priv->initial_animation_started) {
- auto_hide_size = panel_toplevel_get_effective_auto_hide_size (toplevel);
- } else {
- /* when loading, we animate from outside the screen */
-@@ -2029,6 +2027,7 @@ panel_toplevel_update_animating_position (PanelToplevel *toplevel)
- if (toplevel->priv->geometry.x - monitor_offset_x == toplevel->priv->animation_end_x &&
- toplevel->priv->geometry.y - monitor_offset_y == toplevel->priv->animation_end_y) {
- toplevel->priv->animating = FALSE;
-+ toplevel->priv->initial_animation_done = TRUE;
-
- if (toplevel->priv->attached && panel_toplevel_get_is_hidden (toplevel))
- gtk_widget_unmap (GTK_WIDGET (toplevel));
-@@ -2499,7 +2498,12 @@ panel_toplevel_update_geometry (PanelToplevel *toplevel,
- panel_toplevel_update_size (toplevel, requisition);
- panel_toplevel_update_position (toplevel);
-
-- panel_toplevel_update_struts (toplevel, FALSE);
-+ panel_toplevel_update_struts (toplevel);
-+
-+ if (toplevel->priv->animating) {
-+ return;
-+ }
-+
- if (toplevel->priv->state == PANEL_STATE_NORMAL ||
- toplevel->priv->state == PANEL_STATE_AUTO_HIDDEN) {
- panel_struts_update_toplevel_geometry (toplevel,
-@@ -2898,6 +2902,7 @@ static void
- panel_toplevel_initially_hide (PanelToplevel *toplevel)
- {
- if (!toplevel->priv->attached) {
-+ toplevel->priv->initial_animation_started = FALSE;
- toplevel->priv->initial_animation_done = FALSE;
-
- /* We start the panel off hidden until all the
-@@ -2907,9 +2912,11 @@ panel_toplevel_initially_hide (PanelToplevel *toplevel)
- toplevel->priv->state = PANEL_STATE_AUTO_HIDDEN;
- gtk_widget_queue_resize (GTK_WIDGET (toplevel));
-
-- panel_toplevel_update_struts (toplevel, FALSE);
-- } else
-+ panel_toplevel_update_struts (toplevel);
-+ } else {
-+ toplevel->priv->initial_animation_started = TRUE;
- toplevel->priv->initial_animation_done = TRUE;
-+ }
-
- }
-
-@@ -3298,6 +3305,7 @@ panel_toplevel_animation_timeout (PanelToplevel *toplevel)
- toplevel->priv->animation_end_time.tv_sec = 0xdead;
- toplevel->priv->animation_end_time.tv_usec = 0xdead;
- toplevel->priv->animation_timeout = 0;
-+ toplevel->priv->initial_animation_started = TRUE;
- toplevel->priv->initial_animation_done = TRUE;
- }
-
-@@ -3343,6 +3351,9 @@ panel_toplevel_calculate_animation_end_geometry (PanelToplevel *toplevel)
- GdkScreen *screen;
- int monitor_width, monitor_height;
-
-+ if (toplevel->priv->animating)
-+ return;
-+
- toplevel->priv->animation_end_x = toplevel->priv->x;
- toplevel->priv->animation_end_y = toplevel->priv->y;
- toplevel->priv->animation_end_width = -1;
-@@ -3395,13 +3406,12 @@ panel_toplevel_start_animation (PanelToplevel *toplevel)
-
- toplevel->priv->animating = TRUE;
-
-- panel_toplevel_update_struts (toplevel, TRUE);
- panel_struts_update_toplevel_geometry (toplevel,
- &toplevel->priv->animation_end_x,
- &toplevel->priv->animation_end_y,
- &toplevel->priv->animation_end_width,
- &toplevel->priv->animation_end_height);
-- panel_toplevel_update_struts (toplevel, FALSE);
-+ panel_toplevel_update_struts (toplevel);
-
- gdk_window_get_origin (GTK_WIDGET (toplevel)->window, &cur_x, &cur_y);
-
-@@ -3571,16 +3581,18 @@ panel_toplevel_auto_unhide_timeout_handler (PanelToplevel *toplevel)
- if (toplevel->priv->animating)
- return TRUE;
-
-- if (!toplevel->priv->animate)
-+ if (!toplevel->priv->animate) {
-+ toplevel->priv->initial_animation_started = TRUE;
- toplevel->priv->initial_animation_done = TRUE;
-+ }
-
- /* initial animation for auto-hidden panels: we need to unhide and hide
- * again to get at the right size */
-- if (!toplevel->priv->initial_animation_done &&
-+ if (!toplevel->priv->initial_animation_started &&
- toplevel->priv->auto_hide) {
- toplevel->priv->unhide_timeout = 0;
- panel_toplevel_unhide (toplevel);
-- toplevel->priv->initial_animation_done = TRUE;
-+ toplevel->priv->initial_animation_started = TRUE;
- panel_toplevel_hide (toplevel, TRUE, -1);
- return FALSE;
- }
-@@ -3656,7 +3668,7 @@ panel_toplevel_queue_auto_unhide (PanelToplevel *toplevel)
- void
- panel_toplevel_queue_initial_unhide (PanelToplevel *toplevel)
- {
-- if (toplevel->priv->initial_animation_done)
-+ if (toplevel->priv->initial_animation_started)
- return;
- /* Give the applets a second or so to frob after registering */
- toplevel->priv->unhide_timeout =
-@@ -4505,8 +4517,9 @@ panel_toplevel_init (PanelToplevel *toplevel)
- toplevel->priv->position_centered = FALSE;
- toplevel->priv->attached = FALSE;
- toplevel->priv->attach_hidden = FALSE;
-- toplevel->priv->updated_geometry_initial = FALSE;
-- toplevel->priv->initial_animation_done = FALSE;
-+ toplevel->priv->updated_geometry_initial = FALSE;
-+ toplevel->priv->initial_animation_started = FALSE;
-+ toplevel->priv->initial_animation_done = FALSE;
-
- gtk_widget_add_events (GTK_WIDGET (toplevel),
- GDK_BUTTON_PRESS_MASK |
-@@ -4809,7 +4822,7 @@ panel_toplevel_set_auto_hide_size (PanelToplevel *toplevel,
- toplevel->priv->auto_hide_size = auto_hide_size;
-
- if (toplevel->priv->state == PANEL_STATE_AUTO_HIDDEN) {
-- if (panel_toplevel_update_struts (toplevel, FALSE)) {
-+ if (panel_toplevel_update_struts (toplevel)) {
- if (toplevel->priv->animate) {
- panel_toplevel_unhide (toplevel);
- panel_toplevel_hide (toplevel, TRUE, -1);
-@@ -4985,7 +4998,7 @@ panel_toplevel_set_auto_hide (PanelToplevel *toplevel,
- else
- panel_toplevel_queue_auto_unhide (toplevel);
-
-- if (panel_toplevel_update_struts (toplevel, FALSE))
-+ if (panel_toplevel_update_struts (toplevel))
- gtk_widget_queue_resize (GTK_WIDGET (toplevel));
-
- g_object_notify (G_OBJECT (toplevel), "auto-hide");
-
-commit 2184c0fc4aa8fea0ffebe1192164125e24107178
-Author: Ray Strode <rstrode@redhat.com>
-Date: Mon Nov 3 17:12:04 2008 -0500
-
- Set up struts initially when realizing window
-
-diff --git a/gnome-panel/panel-toplevel.c b/gnome-panel/panel-toplevel.c
-index bef6a02..96f564c 100644
---- a/gnome-panel/panel-toplevel.c
-+++ b/gnome-panel/panel-toplevel.c
-@@ -2939,6 +2939,7 @@ panel_toplevel_realize (GtkWidget *widget)
-
- panel_toplevel_initially_hide (toplevel);
-
-+ panel_toplevel_update_struts (toplevel);
- panel_toplevel_move_resize_window (toplevel, TRUE, TRUE);
- }
-
-
-commit 835cea12efb407b2c9181d33e442317cc1a16904
-Author: Ray Strode <rstrode@redhat.com>
-Date: Mon Nov 3 17:13:32 2008 -0500
-
- Set up initial animation to correct position
-
- The initial animation for autohidden panels, is
- the auto hide size, not the normal size. So,
- detect that case and only slide to the autohide size.
-
-diff --git a/gnome-panel/panel-toplevel.c b/gnome-panel/panel-toplevel.c
-index 96f564c..0a71ba0 100644
---- a/gnome-panel/panel-toplevel.c
-+++ b/gnome-panel/panel-toplevel.c
-@@ -3412,7 +3412,30 @@ panel_toplevel_start_animation (PanelToplevel *toplevel)
- &toplevel->priv->animation_end_y,
- &toplevel->priv->animation_end_width,
- &toplevel->priv->animation_end_height);
-- panel_toplevel_update_struts (toplevel);
-+
-+ /* If we're in the initial animation and we're autohidden, we only want
-+ * to animate to the autohidden height
-+ */
-+ if (toplevel->priv->initial_animation_started && !toplevel->priv->initial_animation_done && toplevel->priv->state == PANEL_STATE_AUTO_HIDDEN) {
-+ switch (toplevel->priv->orientation) {
-+ case PANEL_ORIENTATION_TOP:
-+ toplevel->priv->animation_end_y -= toplevel->priv->geometry.height;
-+ toplevel->priv->animation_end_y += panel_toplevel_get_effective_auto_hide_size (toplevel);
-+ break;
-+ case PANEL_ORIENTATION_BOTTOM:
-+ toplevel->priv->animation_end_y += toplevel->priv->geometry.height;
-+ toplevel->priv->animation_end_y -= panel_toplevel_get_effective_auto_hide_size (toplevel);
-+ break;
-+ case PANEL_ORIENTATION_LEFT:
-+ toplevel->priv->animation_end_x -= toplevel->priv->geometry.width;
-+ toplevel->priv->animation_end_x += panel_toplevel_get_effective_auto_hide_size (toplevel);
-+ break;
-+ case PANEL_ORIENTATION_RIGHT:
-+ toplevel->priv->animation_end_x += toplevel->priv->geometry.width;
-+ toplevel->priv->animation_end_x -= panel_toplevel_get_effective_auto_hide_size (toplevel);
-+ break;
-+ }
-+ }
-
- gdk_window_get_origin (GTK_WIDGET (toplevel)->window, &cur_x, &cur_y);
-
-diff -up gnome-panel-2.24.1/gnome-panel/panel-applet-frame.c.fix-it gnome-panel-2.24.1/gnome-panel/panel-applet-frame.c
---- gnome-panel-2.24.1/gnome-panel/panel-applet-frame.c.fix-it 2008-11-03 18:02:07.000000000 -0500
-+++ gnome-panel-2.24.1/gnome-panel/panel-applet-frame.c 2008-11-03 18:02:10.000000000 -0500
-@@ -1286,6 +1286,7 @@ panel_applet_frame_activated (CORBA_Obje
- if (!in_default_panel_config (frame_act->id)) {
- panel_applet_frame_loading_failed (frame, frame_act->id);
- }
-+ panel_applet_stop_loading (frame_act->id);
- g_free (frame_act->id);
- g_free (frame_act);
- return;
diff --git a/gnome-panel.spec b/gnome-panel.spec
index a585a14..7545761 100644
--- a/gnome-panel.spec
+++ b/gnome-panel.spec
@@ -22,8 +22,8 @@
Summary: GNOME panel
Name: gnome-panel
-Version: 2.25.91
-Release: 3%{?dist}
+Version: 2.25.92
+Release: 1%{?dist}
URL: http://www.gnome.org
Source0: http://download.gnome.org/sources/gnome-panel/2.25/%{name}-%{version}.tar.bz2
@@ -105,17 +105,14 @@ Patch8: launcher-desktop-files.patch
Patch9: desktop-file-monitoring.patch
Patch10: preferred-apps.patch
-# don't pop up an error dialog if an applet from the
+# don't pop up an error dialog if an applet from the
# default configuration is missing; we don't want to
-# add a hard dependency on e.g. tomboy
+# add a hard dependency on e.g. tomboy
Patch11: applet-error.patch
# http://bugzilla.gnome.org/show_bug.cgi?id=520111
Patch24: gnome-panel-2.21.92-allow-spurious-view-done-signals.patch
-# http://bugzilla.gnome.org/show_bug.cgi?id=572933
-Patch25: panel-resizing.patch
-
Patch35: clock-wakeups.patch
Conflicts: gnome-power-manager < 2.15.3
@@ -163,7 +160,6 @@ Panel Applets using the libpanel-applet library.
%patch10 -p1 -b .preferred-apps
%patch11 -p1 -b .applet-error
%patch24 -p1 -b .allow-spurious-view-done-signals
-%patch25 -p1 -b .panel-resizing
%patch35 -p1 -b .clock-wakeups
libtoolize --force --copy
@@ -366,6 +362,9 @@ fi
%{_datadir}/gtk-doc/html/*
%changelog
+* Tue Mar 3 2009 Matthias Clasen <mclasen@redhat.com> - 2.25.92-1
+- Update to 2.25.92
+
* Fri Feb 27 2009 Matthias Clasen <mclasen@redhat.com> - 2.25.91-3
- Require PolicyKit-authentication-agent
diff --git a/panel-resizing.patch b/panel-resizing.patch
deleted file mode 100644
index 3fd9d52..0000000
--- a/panel-resizing.patch
+++ /dev/null
@@ -1,49 +0,0 @@
---- gnome-panel-2.25.91/gnome-panel/panel-multiscreen.c 2009-02-17 04:25:39.000000000 -0500
-+++ hacked/gnome-panel/panel-multiscreen.c 2009-02-23 19:23:06.571095094 -0500
-@@ -40,6 +40,26 @@
- static int *monitors = NULL;
- static GdkRectangle **geometries = NULL;
- static gboolean initialized = FALSE;
-+static guint reinit_id = 0;
-+
-+static gboolean
-+panel_multiscreen_reinit_idle (gpointer data)
-+{
-+ panel_multiscreen_reinit ();
-+
-+ reinit_id = 0;
-+
-+ return FALSE;
-+}
-+
-+static void
-+panel_multiscreen_queue_reinit (void)
-+{
-+ if (reinit_id)
-+ return;
-+
-+ reinit_id = g_idle_add (panel_multiscreen_reinit_idle, NULL);
-+}
-
- void
- panel_multiscreen_init (void)
-@@ -63,7 +83,9 @@
- screen = gdk_display_get_screen (display, i);
-
- g_signal_connect (screen, "size-changed",
-- G_CALLBACK (panel_multiscreen_reinit), NULL);
-+ G_CALLBACK (panel_multiscreen_queue_reinit), NULL);
-+ g_signal_connect (screen, "monitors-changed",
-+ G_CALLBACK (panel_multiscreen_queue_reinit), NULL);
-
- monitors [i] = gdk_screen_get_n_monitors (screen);
- geometries [i] = g_new0 (GdkRectangle, monitors [i]);
-@@ -105,7 +127,7 @@
-
- screen = gdk_display_get_screen (display, i);
- g_signal_handlers_disconnect_by_func (screen,
-- panel_multiscreen_reinit,
-+ panel_multiscreen_queue_reinit,
- NULL);
- }
-
diff --git a/sources b/sources
index c975bdd..eefd47e 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-8b6f0c2c1d53be49cfe1bbe433e1e758 gnome-panel-2.25.91.tar.bz2
+0cbff3b35bb71d0d25b8bdbb3d348312 gnome-panel-2.25.92.tar.bz2
diff --git a/tryexec.patch b/tryexec.patch
deleted file mode 100644
index 7226f38..0000000
--- a/tryexec.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-diff -up gnome-panel-2.24.0/gnome-panel/panel-menu-items.c.tryexec gnome-panel-2.24.0/gnome-panel/panel-menu-items.c
---- gnome-panel-2.24.0/gnome-panel/panel-menu-items.c.tryexec 2008-10-09 13:31:01.000000000 -0400
-+++ gnome-panel-2.24.0/gnome-panel/panel-menu-items.c 2008-10-09 13:36:29.000000000 -0400
-@@ -151,6 +151,8 @@ panel_menu_items_append_from_desktop (Gt
- char *icon;
- char *name;
- char *comment;
-+ char *tryexec;
-+ char *prog;
-
- path_freeme = NULL;
-
-@@ -189,6 +191,16 @@ panel_menu_items_append_from_desktop (Gt
- g_free (path_freeme);
- return;
- }
-+ tryexec = panel_key_file_get_string (key_file, "TryExec");
-+ if (tryexec) {
-+ prog = g_find_program_in_path (tryexec);
-+ g_free (tryexec);
-+ if (!prog) {
-+ g_key_file_free (key_file);
-+ return;
-+ }
-+ g_free (prog);
-+ }
-
- icon = panel_key_file_get_locale_string (key_file, "Icon");
- comment = panel_key_file_get_locale_string (key_file, "Comment");