Fix some possible crashes if the default display is NULL
Unlikely that many people will hit these, but still. https://bugzilla.gnome.org/show_bug.cgi?id=645176
This commit is contained in:
parent
32358a58f4
commit
9e6d3d969c
@ -134,7 +134,8 @@ gdk_display_class_init (GdkDisplayClass *class)
|
|||||||
static void
|
static void
|
||||||
free_pointer_info (GdkPointerWindowInfo *info)
|
free_pointer_info (GdkPointerWindowInfo *info)
|
||||||
{
|
{
|
||||||
g_object_unref (info->toplevel_under_pointer);
|
if (info->toplevel_under_pointer)
|
||||||
|
g_object_unref (info->toplevel_under_pointer);
|
||||||
g_slice_free (GdkPointerWindowInfo, info);
|
g_slice_free (GdkPointerWindowInfo, info);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -605,6 +605,8 @@ gdk_event_copy (const GdkEvent *event)
|
|||||||
void
|
void
|
||||||
gdk_event_free (GdkEvent *event)
|
gdk_event_free (GdkEvent *event)
|
||||||
{
|
{
|
||||||
|
GdkDisplay *display;
|
||||||
|
|
||||||
g_return_if_fail (event != NULL);
|
g_return_if_fail (event != NULL);
|
||||||
|
|
||||||
if (event->any.window)
|
if (event->any.window)
|
||||||
@ -670,7 +672,9 @@ gdk_event_free (GdkEvent *event)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
_gdk_display_event_data_free (gdk_display_get_default (), event);
|
display = gdk_display_get_default ();
|
||||||
|
if (display)
|
||||||
|
_gdk_display_event_data_free (display, event);
|
||||||
|
|
||||||
g_hash_table_remove (event_hash, event);
|
g_hash_table_remove (event_hash, event);
|
||||||
g_slice_free (GdkEventPrivate, (GdkEventPrivate*) event);
|
g_slice_free (GdkEventPrivate, (GdkEventPrivate*) event);
|
||||||
|
@ -77,7 +77,8 @@ gdk_x11_display_manager_set_default_display (GdkDisplayManager *manager,
|
|||||||
{
|
{
|
||||||
GDK_X11_DISPLAY_MANAGER (manager)->default_display = display;
|
GDK_X11_DISPLAY_MANAGER (manager)->default_display = display;
|
||||||
|
|
||||||
_gdk_x11_display_make_default (display);
|
if (display)
|
||||||
|
_gdk_x11_display_make_default (display);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
Loading…
Reference in New Issue
Block a user