gtkshow: don't call _get_display() on a NULL GdkScreen

gtk_show_uri() is documented to accept a NULL screen to mean the default
one. Calling gdk_screen_get_display() on a NULL object will cause
segfaults.
This commit is contained in:
Cosimo Cecchi 2011-01-13 16:03:49 +01:00
parent 04494c5df0
commit 7e29fc5b42

View File

@ -63,10 +63,16 @@ gtk_show_uri (GdkScreen *screen,
{
GdkAppLaunchContext *context;
gboolean ret;
GdkDisplay *display;
g_return_val_if_fail (uri != NULL, FALSE);
context = gdk_display_get_app_launch_context (gdk_screen_get_display (screen));
if (screen != NULL)
display = gdk_screen_get_display (screen);
else
display = gdk_display_get_default ();
context = gdk_display_get_app_launch_context (display);
gdk_app_launch_context_set_screen (context, screen);
gdk_app_launch_context_set_timestamp (context, timestamp);