aboutsummaryrefslogtreecommitdiffstats
path: root/meta-xfce
diff options
context:
space:
mode:
authorAndreas Müller <schnitzeltony@googlemail.com>2016-02-17 12:21:14 +0100
committerMartin Jansa <Martin.Jansa@gmail.com>2016-02-25 17:45:50 +0100
commit3754057077a3602bc48e534d9666623dffc9925b (patch)
tree5f18d2acd1d058563fa18e0be7bc3e475257d8a7 /meta-xfce
parent0408ccd6f0cb5e3aa6802ec27c319587450fac1b (diff)
downloadmeta-openembedded-3754057077a3602bc48e534d9666623dffc9925b.tar.gz
meta-openembedded-3754057077a3602bc48e534d9666623dffc9925b.tar.bz2
meta-openembedded-3754057077a3602bc48e534d9666623dffc9925b.zip
xfce4-panel: make date/time plugins handle timezone changes properly
0001... was applied to make 0002... apply on 4.12-release and git master branch. Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Diffstat (limited to 'meta-xfce')
-rw-r--r--meta-xfce/recipes-xfce/xfce4-panel/files/0001-Fix-compiler-warning-in-clock-plugin-about-shadowed-.patch606
-rw-r--r--meta-xfce/recipes-xfce/xfce4-panel/files/0002-clock-time-make-change-of-system-s-timezone-change-t.patch42
-rw-r--r--meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.12.0.bb4
3 files changed, 652 insertions, 0 deletions
diff --git a/meta-xfce/recipes-xfce/xfce4-panel/files/0001-Fix-compiler-warning-in-clock-plugin-about-shadowed-.patch b/meta-xfce/recipes-xfce/xfce4-panel/files/0001-Fix-compiler-warning-in-clock-plugin-about-shadowed-.patch
new file mode 100644
index 000000000..d971fca05
--- /dev/null
+++ b/meta-xfce/recipes-xfce/xfce4-panel/files/0001-Fix-compiler-warning-in-clock-plugin-about-shadowed-.patch
@@ -0,0 +1,606 @@
+From 5a9e94ab7bd628f5bf6b46ea7ea91cf40b4aee98 Mon Sep 17 00:00:00 2001
+From: Matt Thirtytwo <matt.59491@gmail.com>
+Date: Mon, 2 Mar 2015 21:18:41 +0100
+Subject: [PATCH] Fix compiler warning in clock plugin about shadowed 'time'
+ variable
+
+Upstream-Status: Backport [1]
+
+[1] http://git.xfce.org/xfce/xfce4-panel/commit/?id=5a9e94ab7bd628f5bf6b46ea7ea91cf40b4aee98
+
+Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
+
+---
+ plugins/clock/clock-analog.c | 20 ++++++-------
+ plugins/clock/clock-binary.c | 28 +++++++++---------
+ plugins/clock/clock-digital.c | 8 ++---
+ plugins/clock/clock-fuzzy.c | 6 ++--
+ plugins/clock/clock-lcd.c | 34 +++++++++++-----------
+ plugins/clock/clock-time.c | 68 +++++++++++++++++++++----------------------
+ plugins/clock/clock.c | 12 ++++----
+ 7 files changed, 88 insertions(+), 88 deletions(-)
+
+diff --git a/plugins/clock/clock-analog.c b/plugins/clock/clock-analog.c
+index 2e96a09..910450d 100644
+--- a/plugins/clock/clock-analog.c
++++ b/plugins/clock/clock-analog.c
+@@ -216,7 +216,7 @@ xfce_clock_analog_expose_event (GtkWidget *widget,
+ gdouble xc, yc;
+ gdouble angle, radius;
+ cairo_t *cr;
+- GDateTime *time;
++ GDateTime *date_time;
+
+ panel_return_val_if_fail (XFCE_CLOCK_IS_ANALOG (analog), FALSE);
+
+@@ -239,7 +239,7 @@ xfce_clock_analog_expose_event (GtkWidget *widget,
+ cairo_clip (cr);
+
+ /* get the local time */
+- time = clock_time_get_time (analog->time);
++ date_time = clock_time_get_time (analog->time);
+
+ /* set the line properties */
+ cairo_set_line_width (cr, 1);
+@@ -251,20 +251,20 @@ xfce_clock_analog_expose_event (GtkWidget *widget,
+ if (analog->show_seconds)
+ {
+ /* second pointer */
+- angle = TICKS_TO_RADIANS (g_date_time_get_second (time));
++ angle = TICKS_TO_RADIANS (g_date_time_get_second (date_time));
+ xfce_clock_analog_draw_pointer (cr, xc, yc, radius, angle, 0.7, TRUE);
+ }
+
+ /* minute pointer */
+- angle = TICKS_TO_RADIANS (g_date_time_get_minute (time));
++ angle = TICKS_TO_RADIANS (g_date_time_get_minute (date_time));
+ xfce_clock_analog_draw_pointer (cr, xc, yc, radius, angle, 0.8, FALSE);
+
+ /* hour pointer */
+- angle = HOURS_TO_RADIANS (g_date_time_get_hour (time), g_date_time_get_minute (time));
++ angle = HOURS_TO_RADIANS (g_date_time_get_hour (date_time), g_date_time_get_minute (date_time));
+ xfce_clock_analog_draw_pointer (cr, xc, yc, radius, angle, 0.5, FALSE);
+
+ /* cleanup */
+- g_date_time_unref (time);
++ g_date_time_unref (date_time);
+ cairo_destroy (cr);
+ }
+
+@@ -347,12 +347,12 @@ xfce_clock_analog_draw_pointer (cairo_t *cr,
+
+ static gboolean
+ xfce_clock_analog_update (XfceClockAnalog *analog,
+- ClockTime *time)
++ ClockTime *clock_time)
+ {
+ GtkWidget *widget = GTK_WIDGET (analog);
+
+ panel_return_val_if_fail (XFCE_CLOCK_IS_ANALOG (analog), FALSE);
+- panel_return_val_if_fail (XFCE_IS_CLOCK_TIME (time), FALSE);
++ panel_return_val_if_fail (XFCE_IS_CLOCK_TIME (clock_time), FALSE);
+
+ /* update if the widget if visible */
+ if (G_LIKELY (GTK_WIDGET_VISIBLE (widget)))
+@@ -364,11 +364,11 @@ xfce_clock_analog_update (XfceClockAnalog *analog,
+
+
+ GtkWidget *
+-xfce_clock_analog_new (ClockTime *time)
++xfce_clock_analog_new (ClockTime *clock_time)
+ {
+ XfceClockAnalog *analog = g_object_new (XFCE_CLOCK_TYPE_ANALOG, NULL);
+
+- analog->time = time;
++ analog->time = clock_time;
+ analog->timeout = clock_time_timeout_new (CLOCK_INTERVAL_MINUTE,
+ analog->time,
+ G_CALLBACK (xfce_clock_analog_update), analog);
+diff --git a/plugins/clock/clock-binary.c b/plugins/clock/clock-binary.c
+index 4751c51..46b852c 100644
+--- a/plugins/clock/clock-binary.c
++++ b/plugins/clock/clock-binary.c
+@@ -262,7 +262,7 @@ xfce_clock_binary_expose_event_true_binary (XfceClockBinary *binary,
+ GtkAllocation *alloc)
+ {
+ GdkColor *active, *inactive;
+- GDateTime *time;
++ GDateTime *date_time;
+ gint row, rows;
+ static gint binary_table[] = { 32, 16, 8, 4, 2, 1 };
+ gint col, cols = G_N_ELEMENTS (binary_table);
+@@ -282,7 +282,7 @@ xfce_clock_binary_expose_event_true_binary (XfceClockBinary *binary,
+ active = &(GTK_WIDGET (binary)->style->dark[GTK_STATE_SELECTED]);
+ }
+
+- time = clock_time_get_time (binary->time);
++ date_time = clock_time_get_time (binary->time);
+
+ /* init sizes */
+ remain_h = alloc->height;
+@@ -293,11 +293,11 @@ xfce_clock_binary_expose_event_true_binary (XfceClockBinary *binary,
+ {
+ /* get the time this row represents */
+ if (row == 0)
+- ticks = g_date_time_get_hour (time);
++ ticks = g_date_time_get_hour (date_time);
+ else if (row == 1)
+- ticks = g_date_time_get_minute (time);
++ ticks = g_date_time_get_minute (date_time);
+ else
+- ticks = g_date_time_get_second (time);
++ ticks = g_date_time_get_second (date_time);
+
+ /* reset sizes */
+ remain_w = alloc->width;
+@@ -336,7 +336,7 @@ xfce_clock_binary_expose_event_true_binary (XfceClockBinary *binary,
+ offset_y += h;
+ }
+
+- g_date_time_unref (time);
++ g_date_time_unref (date_time);
+ }
+
+
+@@ -348,7 +348,7 @@ xfce_clock_binary_expose_event_binary (XfceClockBinary *binary,
+ {
+ GdkColor *active, *inactive;
+ static gint binary_table[] = { 80, 40, 20, 10, 8, 4, 2, 1 };
+- GDateTime *time;
++ GDateTime *date_time;
+ gint row, rows = G_N_ELEMENTS (binary_table) / 2;
+ gint col, cols;
+ gint digit;
+@@ -368,7 +368,7 @@ xfce_clock_binary_expose_event_binary (XfceClockBinary *binary,
+ active = &(GTK_WIDGET (binary)->style->dark[GTK_STATE_SELECTED]);
+ }
+
+- time = clock_time_get_time (binary->time);
++ date_time = clock_time_get_time (binary->time);
+
+ remain_w = alloc->width;
+ offset_x = alloc->x;
+@@ -379,11 +379,11 @@ xfce_clock_binary_expose_event_binary (XfceClockBinary *binary,
+ {
+ /* get the time this row represents */
+ if (col == 0)
+- ticks = g_date_time_get_hour (time);
++ ticks = g_date_time_get_hour (date_time);
+ else if (col == 2)
+- ticks = g_date_time_get_minute (time);
++ ticks = g_date_time_get_minute (date_time);
+ else if (col == 4)
+- ticks = g_date_time_get_second (time);
++ ticks = g_date_time_get_second (date_time);
+
+ /* reset sizes */
+ remain_h = alloc->height;
+@@ -520,7 +520,7 @@ xfce_clock_binary_expose_event (GtkWidget *widget,
+
+ static gboolean
+ xfce_clock_binary_update (XfceClockBinary *binary,
+- ClockTime *time)
++ ClockTime *clock_time)
+ {
+ GtkWidget *widget = GTK_WIDGET (binary);
+
+@@ -536,11 +536,11 @@ xfce_clock_binary_update (XfceClockBinary *binary,
+
+
+ GtkWidget *
+-xfce_clock_binary_new (ClockTime *time)
++xfce_clock_binary_new (ClockTime *clock_time)
+ {
+ XfceClockBinary *binary = g_object_new (XFCE_CLOCK_TYPE_BINARY, NULL);
+
+- binary->time = time;
++ binary->time = clock_time;
+ binary->timeout = clock_time_timeout_new (CLOCK_INTERVAL_MINUTE,
+ binary->time,
+ G_CALLBACK (xfce_clock_binary_update), binary);
+diff --git a/plugins/clock/clock-digital.c b/plugins/clock/clock-digital.c
+index c293ed2..34e7019 100644
+--- a/plugins/clock/clock-digital.c
++++ b/plugins/clock/clock-digital.c
+@@ -194,12 +194,12 @@ xfce_clock_digital_finalize (GObject *object)
+
+ static gboolean
+ xfce_clock_digital_update (XfceClockDigital *digital,
+- ClockTime *time)
++ ClockTime *clock_time)
+ {
+ gchar *string;
+
+ panel_return_val_if_fail (XFCE_CLOCK_IS_DIGITAL (digital), FALSE);
+- panel_return_val_if_fail (XFCE_IS_CLOCK_TIME (time), FALSE);
++ panel_return_val_if_fail (XFCE_IS_CLOCK_TIME (clock_time), FALSE);
+
+ /* set time string */
+ string = clock_time_strdup_strftime (digital->time, digital->format);
+@@ -212,11 +212,11 @@ xfce_clock_digital_update (XfceClockDigital *digital,
+
+
+ GtkWidget *
+-xfce_clock_digital_new (ClockTime *time)
++xfce_clock_digital_new (ClockTime *clock_time)
+ {
+ XfceClockDigital *digital = g_object_new (XFCE_CLOCK_TYPE_DIGITAL, NULL);
+
+- digital->time = time;
++ digital->time = clock_time;
+ digital->timeout = clock_time_timeout_new (clock_time_interval_from_format (digital->format),
+ digital->time,
+ G_CALLBACK (xfce_clock_digital_update), digital);
+diff --git a/plugins/clock/clock-fuzzy.c b/plugins/clock/clock-fuzzy.c
+index 7b0aa41..4b361dd 100644
+--- a/plugins/clock/clock-fuzzy.c
++++ b/plugins/clock/clock-fuzzy.c
+@@ -275,7 +275,7 @@ xfce_clock_fuzzy_finalize (GObject *object)
+
+ static gboolean
+ xfce_clock_fuzzy_update (XfceClockFuzzy *fuzzy,
+- ClockTime *time)
++ ClockTime *clock_time)
+ {
+ GDateTime *date_time;
+ gint sector;
+@@ -353,11 +353,11 @@ xfce_clock_fuzzy_update (XfceClockFuzzy *fuzzy,
+
+
+ GtkWidget *
+-xfce_clock_fuzzy_new (ClockTime *time)
++xfce_clock_fuzzy_new (ClockTime *clock_time)
+ {
+ XfceClockFuzzy *fuzzy = g_object_new (XFCE_CLOCK_TYPE_FUZZY, NULL);
+
+- fuzzy->time = time;
++ fuzzy->time = clock_time;
+ fuzzy->timeout = clock_time_timeout_new (CLOCK_INTERVAL_MINUTE,
+ fuzzy->time,
+ G_CALLBACK (xfce_clock_fuzzy_update), fuzzy);
+diff --git a/plugins/clock/clock-lcd.c b/plugins/clock/clock-lcd.c
+index 84e74e6..b180d30 100644
+--- a/plugins/clock/clock-lcd.c
++++ b/plugins/clock/clock-lcd.c
+@@ -285,7 +285,7 @@ xfce_clock_lcd_expose_event (GtkWidget *widget,
+ gint ticks, i;
+ gdouble size;
+ gdouble ratio;
+- GDateTime *time;
++ GDateTime *date_time;
+
+ panel_return_val_if_fail (XFCE_CLOCK_IS_LCD (lcd), FALSE);
+
+@@ -317,10 +317,10 @@ xfce_clock_lcd_expose_event (GtkWidget *widget,
+ cairo_set_line_width (cr, MAX (size * 0.05, 1.5));
+
+ /* get the local time */
+- time = clock_time_get_time (lcd->time);
++ date_time = clock_time_get_time (lcd->time);
+
+ /* draw the hours */
+- ticks = g_date_time_get_hour (time);
++ ticks = g_date_time_get_hour (date_time);
+
+ /* convert 24h clock to 12h clock */
+ if (!lcd->show_military && ticks > 12)
+@@ -333,8 +333,8 @@ xfce_clock_lcd_expose_event (GtkWidget *widget,
+ * because we might miss the exact second (due to slightly delayed
+ * timeout) we queue a resize the first 3 seconds or anything in
+ * the first minute */
+- if ((ticks == 10 || ticks == 0) && g_date_time_get_minute (time) == 0
+- && (!lcd->show_seconds || g_date_time_get_second (time) < 3))
++ if ((ticks == 10 || ticks == 0) && g_date_time_get_minute (date_time) == 0
++ && (!lcd->show_seconds || g_date_time_get_second (date_time) < 3))
+ g_object_notify (G_OBJECT (lcd), "size-ratio");
+
+ if (ticks >= 10)
+@@ -352,7 +352,7 @@ xfce_clock_lcd_expose_event (GtkWidget *widget,
+ if (i == 0)
+ {
+ /* get the minutes */
+- ticks = g_date_time_get_minute (time);
++ ticks = g_date_time_get_minute (date_time);
+ }
+ else
+ {
+@@ -361,11 +361,11 @@ xfce_clock_lcd_expose_event (GtkWidget *widget,
+ break;
+
+ /* get the seconds */
+- ticks = g_date_time_get_second (time);
++ ticks = g_date_time_get_second (date_time);
+ }
+
+ /* draw the dots */
+- if (lcd->flash_separators && (g_date_time_get_second (time) % 2) == 1)
++ if (lcd->flash_separators && (g_date_time_get_second (date_time) % 2) == 1)
+ offset_x += size * RELATIVE_SPACE * 2;
+ else
+ offset_x = xfce_clock_lcd_draw_dots (cr, size, offset_x, offset_y);
+@@ -380,14 +380,14 @@ xfce_clock_lcd_expose_event (GtkWidget *widget,
+ if (lcd->show_meridiem)
+ {
+ /* am or pm? */
+- ticks = g_date_time_get_hour (time) >= 12 ? 11 : 10;
++ ticks = g_date_time_get_hour (date_time) >= 12 ? 11 : 10;
+
+ /* draw the digit */
+ offset_x = xfce_clock_lcd_draw_digit (cr, ticks, size, offset_x, offset_y);
+ }
+
+ /* drop the pushed group */
+- g_date_time_unref (time);
++ g_date_time_unref (date_time);
+ cairo_pop_group_to_source (cr);
+ cairo_paint (cr);
+ cairo_destroy (cr);
+@@ -403,16 +403,16 @@ xfce_clock_lcd_get_ratio (XfceClockLcd *lcd)
+ {
+ gdouble ratio;
+ gint ticks;
+- GDateTime *time;
++ GDateTime *date_time;
+
+ /* get the local time */
+- time = clock_time_get_time (lcd->time);
++ date_time = clock_time_get_time (lcd->time);
+
+ /* 8:8(space)8 */
+ ratio = (3 * RELATIVE_DIGIT) + RELATIVE_DOTS + RELATIVE_SPACE;
+
+- ticks = g_date_time_get_hour (time);
+- g_date_time_unref (time);
++ ticks = g_date_time_get_hour (date_time);
++ g_date_time_unref (date_time);
+
+ if (!lcd->show_military && ticks > 12)
+ ticks -= 12;
+@@ -584,7 +584,7 @@ xfce_clock_lcd_draw_digit (cairo_t *cr,
+
+ static gboolean
+ xfce_clock_lcd_update (XfceClockLcd *lcd,
+- ClockTime *time)
++ ClockTime *clock_time)
+ {
+ GtkWidget *widget = GTK_WIDGET (lcd);
+
+@@ -600,11 +600,11 @@ xfce_clock_lcd_update (XfceClockLcd *lcd,
+
+
+ GtkWidget *
+-xfce_clock_lcd_new (ClockTime *time)
++xfce_clock_lcd_new (ClockTime *clock_time)
+ {
+ XfceClockLcd *lcd = g_object_new (XFCE_CLOCK_TYPE_LCD, NULL);
+
+- lcd->time = time;
++ lcd->time = clock_time;
+ lcd->timeout = clock_time_timeout_new (CLOCK_INTERVAL_MINUTE,
+ lcd->time,
+ G_CALLBACK (xfce_clock_lcd_update), lcd);
+diff --git a/plugins/clock/clock-time.c b/plugins/clock/clock-time.c
+index 16b0f89..b015b13 100644
+--- a/plugins/clock/clock-time.c
++++ b/plugins/clock/clock-time.c
+@@ -107,10 +107,10 @@ clock_time_class_init (ClockTimeClass *klass)
+
+
+ static void
+-clock_time_init (ClockTime *time)
++clock_time_init (ClockTime *clock_time)
+ {
+- time->timezone_name = g_strdup (DEFAULT_TIMEZONE);
+- time->timezone = g_time_zone_new_local ();
++ clock_time->timezone_name = g_strdup (DEFAULT_TIMEZONE);
++ clock_time->timezone = g_time_zone_new_local ();
+ }
+
+
+@@ -118,11 +118,11 @@ clock_time_init (ClockTime *time)
+ static void
+ clock_time_finalize (GObject *object)
+ {
+- ClockTime *time = XFCE_CLOCK_TIME (object);
++ ClockTime *clock_time = XFCE_CLOCK_TIME (object);
+
+- g_free (time->timezone_name);
++ g_free (clock_time->timezone_name);
+
+- g_time_zone_unref (time->timezone);
++ g_time_zone_unref (clock_time->timezone);
+
+ G_OBJECT_CLASS (clock_time_parent_class)->finalize (object);
+ }
+@@ -135,12 +135,12 @@ clock_time_get_property (GObject *object,
+ GValue *value,
+ GParamSpec *pspec)
+ {
+- ClockTime *time = XFCE_CLOCK_TIME (object);
++ ClockTime *clock_time = XFCE_CLOCK_TIME (object);
+
+ switch (prop_id)
+ {
+ case PROP_TIMEZONE:
+- g_value_set_string (value, time->timezone_name);
++ g_value_set_string (value, clock_time->timezone_name);
+ break;
+
+ default:
+@@ -157,29 +157,29 @@ clock_time_set_property (GObject *object,
+ const GValue *value,
+ GParamSpec *pspec)
+ {
+- ClockTime *time = XFCE_CLOCK_TIME (object);
++ ClockTime *clock_time = XFCE_CLOCK_TIME (object);
+ const gchar *str_value;
+
+ switch (prop_id)
+ {
+ case PROP_TIMEZONE:
+ str_value = g_value_get_string (value);
+- if (g_strcmp0 (time->timezone_name, str_value) != 0)
++ if (g_strcmp0 (clock_time->timezone_name, str_value) != 0)
+ {
+- g_free (time->timezone_name);
+- g_time_zone_unref (time->timezone);
++ g_free (clock_time->timezone_name);
++ g_time_zone_unref (clock_time->timezone);
+ if (str_value == NULL || g_strcmp0 (str_value, "") == 0)
+ {
+- time->timezone_name = g_strdup (DEFAULT_TIMEZONE);
+- time->timezone = g_time_zone_new_local ();
++ clock_time->timezone_name = g_strdup (DEFAULT_TIMEZONE);
++ clock_time->timezone = g_time_zone_new_local ();
+ }
+ else
+ {
+- time->timezone_name = g_strdup (str_value);
+- time->timezone = g_time_zone_new (str_value);
++ clock_time->timezone_name = g_strdup (str_value);
++ clock_time->timezone = g_time_zone_new (str_value);
+ }
+
+- g_signal_emit (G_OBJECT (time), clock_time_signals[TIME_CHANGED], 0);
++ g_signal_emit (G_OBJECT (clock_time), clock_time_signals[TIME_CHANGED], 0);
+ }
+ break;
+
+@@ -192,14 +192,14 @@ clock_time_set_property (GObject *object,
+
+
+ GDateTime *
+-clock_time_get_time (ClockTime *time)
++clock_time_get_time (ClockTime *clock_time)
+ {
+ GDateTime *date_time;
+
+- panel_return_val_if_fail (XFCE_IS_CLOCK_TIME (time), NULL);
++ panel_return_val_if_fail (XFCE_IS_CLOCK_TIME (clock_time), NULL);
+
+- if (time->timezone != NULL)
+- date_time = g_date_time_new_now (time->timezone);
++ if (clock_time->timezone != NULL)
++ date_time = g_date_time_new_now (clock_time->timezone);
+ else
+ date_time = g_date_time_new_now_local ();
+
+@@ -209,15 +209,15 @@ clock_time_get_time (ClockTime *time)
+
+
+ gchar *
+-clock_time_strdup_strftime (ClockTime *time,
++clock_time_strdup_strftime (ClockTime *clock_time,
+ const gchar *format)
+ {
+ GDateTime *date_time;
+ gchar *str;
+
+- panel_return_val_if_fail (XFCE_IS_CLOCK_TIME (time), NULL);
++ panel_return_val_if_fail (XFCE_IS_CLOCK_TIME (clock_time), NULL);
+
+- date_time = clock_time_get_time (time);
++ date_time = clock_time_get_time (clock_time);
+ str = g_date_time_format (date_time, format);
+
+ g_date_time_unref (date_time);
+@@ -262,7 +262,7 @@ static gboolean
+ clock_time_timeout_running (gpointer user_data)
+ {
+ ClockTimeTimeout *timeout = user_data;
+- GDateTime *time;
++ GDateTime *date_time;
+
+ g_signal_emit (G_OBJECT (timeout->time), clock_time_signals[TIME_CHANGED], 0);
+
+@@ -270,8 +270,8 @@ clock_time_timeout_running (gpointer user_data)
+ if (timeout->interval == CLOCK_INTERVAL_MINUTE)
+ {
+ /* sync again when we don't run on time */
+- time = clock_time_get_time (timeout->time);
+- timeout->restart = (g_date_time_get_second (time) != 0);
++ date_time = clock_time_get_time (timeout->time);
++ timeout->restart = (g_date_time_get_second (date_time) != 0);
+ }
+
+ return !timeout->restart;
+@@ -312,13 +312,13 @@ clock_time_timeout_sync (gpointer user_data)
+
+ ClockTimeTimeout *
+ clock_time_timeout_new (guint interval,
+- ClockTime *time,
++ ClockTime *clock_time,
+ GCallback c_handler,
+ gpointer gobject)
+ {
+ ClockTimeTimeout *timeout;
+
+- panel_return_val_if_fail (XFCE_IS_CLOCK_TIME (time), NULL);
++ panel_return_val_if_fail (XFCE_IS_CLOCK_TIME (clock_time), NULL);
+
+ panel_return_val_if_fail (interval > 0, NULL);
+
+@@ -326,10 +326,10 @@ clock_time_timeout_new (guint interval,
+ timeout->interval = 0;
+ timeout->timeout_id = 0;
+ timeout->restart = FALSE;
+- timeout->time = time;
++ timeout->time = clock_time;
+
+ timeout->time_changed_id =
+- g_signal_connect_swapped (G_OBJECT (time), "time-changed",
++ g_signal_connect_swapped (G_OBJECT (clock_time), "time-changed",
+ c_handler, gobject);
+
+ g_object_ref (G_OBJECT (timeout->time));
+@@ -345,7 +345,7 @@ void
+ clock_time_timeout_set_interval (ClockTimeTimeout *timeout,
+ guint interval)
+ {
+- GDateTime *time;
++ GDateTime *date_time;
+ guint next_interval;
+ gboolean restart;
+
+@@ -372,8 +372,8 @@ clock_time_timeout_set_interval (ClockTimeTimeout *timeout,
+ /* get the seconds to the next internal */
+ if (interval == CLOCK_INTERVAL_MINUTE)
+ {
+- time = clock_time_get_time (timeout->time);
+- next_interval = 60 - g_date_time_get_second (time);
++ date_time = clock_time_get_time (timeout->time);
++ next_interval = 60 - g_date_time_get_second (date_time);
+ }
+ else
+ {
+diff --git a/plugins/clock/clock.c b/plugins/clock/clock.c
+index 6c80978..e07c17b 100644
+--- a/plugins/clock/clock.c
++++ b/plugins/clock/clock.c
+@@ -1113,17 +1113,17 @@ static void
+ clock_plugin_calendar_show_event (GtkWidget *calendar_window,
+ ClockPlugin *plugin)
+ {
+- GDateTime *time;
++ GDateTime *date_time;
+
+ panel_return_if_fail (XFCE_IS_PANEL_PLUGIN (plugin));
+
+ clock_plugin_reposition_calendar (plugin);
+
+- time = clock_time_get_time (plugin->time);
+- gtk_calendar_select_month (GTK_CALENDAR (plugin->calendar), g_date_time_get_month (time) - 1,
+- g_date_time_get_year (time));
+- gtk_calendar_select_day (GTK_CALENDAR (plugin->calendar), g_date_time_get_day_of_month (time));
+- g_date_time_unref (time);
++ date_time = clock_time_get_time (plugin->time);
++ gtk_calendar_select_month (GTK_CALENDAR (plugin->calendar), g_date_time_get_month (date_time) - 1,
++ g_date_time_get_year (date_time));
++ gtk_calendar_select_day (GTK_CALENDAR (plugin->calendar), g_date_time_get_day_of_month (date_time));
++ g_date_time_unref (date_time);
+ }
+
+
+--
+2.5.0
+
diff --git a/meta-xfce/recipes-xfce/xfce4-panel/files/0002-clock-time-make-change-of-system-s-timezone-change-t.patch b/meta-xfce/recipes-xfce/xfce4-panel/files/0002-clock-time-make-change-of-system-s-timezone-change-t.patch
new file mode 100644
index 000000000..9dca3ba57
--- /dev/null
+++ b/meta-xfce/recipes-xfce/xfce4-panel/files/0002-clock-time-make-change-of-system-s-timezone-change-t.patch
@@ -0,0 +1,42 @@
+From c582338ef4f33b3dc07a2636340d55b9fb530650 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
+Date: Wed, 17 Feb 2016 00:15:44 +0100
+Subject: [PATCH] clock-time: make change of system's timezone change time for
+ DEFAULT_TIMEZONE
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+clock_time->timezone is set in clock_time_init so the condition
+
+'clock_time->timezone != NULL
+
+is matching always.
+
+Tested by selecting seconds displayed (-> quick update) and changing timezone.
+
+Upstream-Status: Submitted [1]
+
+[1] https://bugzilla.xfce.org/show_bug.cgi?id=12453
+
+Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
+---
+ plugins/clock/clock-time.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/plugins/clock/clock-time.c b/plugins/clock/clock-time.c
+index b015b13..4459b85 100644
+--- a/plugins/clock/clock-time.c
++++ b/plugins/clock/clock-time.c
+@@ -198,7 +198,7 @@ clock_time_get_time (ClockTime *clock_time)
+
+ panel_return_val_if_fail (XFCE_IS_CLOCK_TIME (clock_time), NULL);
+
+- if (clock_time->timezone != NULL)
++ if (g_strcmp0 (clock_time->timezone_name, DEFAULT_TIMEZONE) != 0)
+ date_time = g_date_time_new_now (clock_time->timezone);
+ else
+ date_time = g_date_time_new_now_local ();
+--
+2.5.0
+
diff --git a/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.12.0.bb b/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.12.0.bb
index d41f9ca05..6a2b944be 100644
--- a/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.12.0.bb
+++ b/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.12.0.bb
@@ -8,6 +8,10 @@ inherit xfce gtk-doc
SRC_URI[md5sum] = "5a333af704e386c90ad829b6baf1a758"
SRC_URI[sha256sum] = "30920fc2e2fc26279a82b5261a155c2cc15ab2aa1ced2275684a6ff8261b97b0"
+SRC_URI += " \
+ file://0001-Fix-compiler-warning-in-clock-plugin-about-shadowed-.patch \
+ file://0002-clock-time-make-change-of-system-s-timezone-change-t.patch \
+"
EXTRA_OECONF += "--enable-gtk3"