diff options
author | Matthias Clasen <mclasen@fedoraproject.org> | 2009-03-03 17:31:38 +0000 |
---|---|---|
committer | Matthias Clasen <mclasen@fedoraproject.org> | 2009-03-03 17:31:38 +0000 |
commit | db29d8ba7417d8d02107a24f34e111881c54ecc1 (patch) | |
tree | 6c14057b5969aa20bcf8ec8a9aa08a3ac25ea7d1 | |
parent | a7aa5e79d8cb303813b20f1975d57afb3cf58f26 (diff) | |
download | gnome-panel-db29d8ba7417d8d02107a24f34e111881c54ecc1.tar.gz gnome-panel-db29d8ba7417d8d02107a24f34e111881c54ecc1.tar.xz gnome-panel-db29d8ba7417d8d02107a24f34e111881c54ecc1.zip |
2.25.92gnome-panel-2_25_92-1_fc11
-rw-r--r-- | .cvsignore | 2 | ||||
-rw-r--r-- | gnome-panel-2.24.0-hide-shutdown-if-unavailable.patch | 80 | ||||
-rw-r--r-- | gnome-panel-2.24.1-smoother-slide-in.patch | 661 | ||||
-rw-r--r-- | gnome-panel.spec | 15 | ||||
-rw-r--r-- | panel-resizing.patch | 49 | ||||
-rw-r--r-- | sources | 2 | ||||
-rw-r--r-- | tryexec.patch | 29 |
7 files changed, 9 insertions, 829 deletions
@@ -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); - } - @@ -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"); |