diff --git a/gnome-panel-2.18.0-update-clock-immediately.patch b/gnome-panel-2.18.0-update-clock-immediately.patch new file mode 100644 index 0000000..89018e5 --- /dev/null +++ b/gnome-panel-2.18.0-update-clock-immediately.patch @@ -0,0 +1,69 @@ +--- gnome-panel-2.18.0/applets/clock/clock.c.update-clock-immediately 2007-04-03 20:10:39.000000000 +0400 ++++ gnome-panel-2.18.0/applets/clock/clock.c 2007-04-03 20:43:08.000000000 +0400 +@@ -2001,14 +2001,30 @@ + g_free (utf8); + } + ++static void ++on_config_tool_exited (GPid pid, ++ gint status, ++ gpointer data) ++{ ++ ClockData *clock; ++ ++ clock = (ClockData *) data; ++ ++ refresh_clock (clock); ++ ++ g_spawn_close_pid (pid); ++} ++ + static gboolean + try_config_tool (GdkScreen *screen, +- const char *tool) ++ const char *tool, ++ ClockData *clock) + { + GtkWidget *dialog; + GError *err; + char **argv; + char *path; ++ GPid pid; + + if (!tool || tool[0] == '\0') + return FALSE; +@@ -2028,15 +2044,18 @@ + NULL, + argv, + NULL, +- G_SPAWN_SEARCH_PATH, +- NULL, ++ G_SPAWN_SEARCH_PATH | G_SPAWN_DO_NOT_REAP_CHILD, + NULL, + NULL, ++ &pid, + &err)) { ++ ++ g_child_watch_add (pid, on_config_tool_exited, clock); + g_strfreev (argv); + return TRUE; + } + ++ + g_strfreev (argv); + + dialog = gtk_message_dialog_new (NULL, +@@ -2070,11 +2089,11 @@ + + screen = gtk_widget_get_screen (cd->applet); + +- if (try_config_tool (screen, cd->config_tool)) ++ if (try_config_tool (screen, cd->config_tool, cd)) + return; + + for (i = 0; i < G_N_ELEMENTS (clock_config_tools); i++) +- if (try_config_tool (screen, clock_config_tools [i])) ++ if (try_config_tool (screen, clock_config_tools [i], cd)) + return; + + dialog = gtk_message_dialog_new (NULL, diff --git a/gnome-panel.spec b/gnome-panel.spec index def4c9d..1763b44 100644 --- a/gnome-panel.spec +++ b/gnome-panel.spec @@ -22,7 +22,7 @@ Summary: GNOME panel Name: gnome-panel Version: 2.18.0 -Release: 5%{?dist} +Release: 6%{?dist} URL: http://www.gnome.org Source0: http://ftp.gnome.org/pub/GNOME/sources/gnome-panel/2.18/%{name}-%{version}.tar.bz2 Source1: redhat-panel-default-setup.entries @@ -98,6 +98,9 @@ Patch17: gnome-panel-xdg-user-dirs.patch # http://bugzilla.gnome.org/show_bug.cgi?id=424545 Patch18: gnome-panel-2.18.0-hide-menu-if-root.patch +# http://bugzilla.gnome.org/show_bug.cgi?id=425910 +Patch19: gnome-panel-2.18.0-update-clock-immediately.patch + Conflicts: gnome-power-manager < 2.15.3 %description @@ -131,6 +134,7 @@ Panel Applets using the libpanel-applet library. %patch15 -p0 -b .compiz-support %patch17 -p0 -b .xdg-user-dirs %patch18 -p1 -b .hide-lock-menu-if-root +%patch19 -p1 -b .update-clock-immediately . %{SOURCE4} @@ -311,6 +315,9 @@ fi %{_datadir}/gtk-doc %changelog +* Tue Apr 3 2007 Ray Strode - 2.18.0-6 +- update the clock after timezone changes (bug 230832) + * Sat Mar 31 2007 Matthias Clasen - 2.18.0-5 - Remove the bug-buddy patch again; fixed better in libgnome