summaryrefslogtreecommitdiff
path: root/applets/clock/clock.c
diff options
context:
space:
mode:
Diffstat (limited to 'applets/clock/clock.c')
-rw-r--r--applets/clock/clock.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/applets/clock/clock.c b/applets/clock/clock.c
index fee7edf2..edd53ed2 100644
--- a/applets/clock/clock.c
+++ b/applets/clock/clock.c
@@ -857,8 +857,19 @@ create_calendar (ClockData *cd)
{
GtkWidget *window;
char *prefs_path;
+ char *fallback_path = NULL;
prefs_path = mate_panel_applet_get_preferences_path (MATE_PANEL_APPLET (cd->applet));
+
+ /* Provide a fallback preferences path in case the applet doesn't
+ * provide one. This happens when running outside the actual panel,
+ * like in mate-panel-test-applets */
+ if (!prefs_path || !prefs_path[0]) {
+ fallback_path = g_strdup ("/org/mate/panel/applets/clock/");
+ g_free (prefs_path);
+ prefs_path = fallback_path;
+ }
+
window = calendar_window_new (&cd->current_time,
prefs_path,
cd->orient == MATE_PANEL_APPLET_ORIENT_UP);
@@ -922,8 +933,8 @@ position_calendar_popup (ClockData *cd)
button_w = allocation.width;
button_h = allocation.height;
- screen = gtk_window_get_screen (GTK_WINDOW (cd->calendar_popup));
- display = gdk_screen_get_display (screen);
+ screen = gtk_widget_get_screen (GTK_WIDGET (cd->calendar_popup));
+ display = gtk_widget_get_display (GTK_WIDGET (cd->calendar_popup));
n = gdk_display_get_n_monitors (display);
for (i = 0; i < n; i++) {