diff options
Diffstat (limited to 'applets/clock/clock.c')
| -rw-r--r-- | applets/clock/clock.c | 15 |
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++) { |
