bug 1225970 dispatch an event to release the widget after draw r=roc

--HG--
extra : rebase_source : 11fb4b79b3a245d178e935e41a140ead22c33d31
This commit is contained in:
Karl Tomlinson 2015-11-19 16:41:12 +13:00
parent 92b3a32812
commit d492b7f418

View File

@ -5449,6 +5449,18 @@ gboolean
expose_event_cb(GtkWidget *widget, cairo_t *cr)
{
draw_window_of_widget(widget, gtk_widget_get_window(widget), cr);
// A strong reference is already held during "draw" signal emission,
// but GTK+ 3.4 wants the object to live a little longer than that
// (bug 1225970).
g_object_ref(widget);
g_idle_add(
[](gpointer data) -> gboolean {
g_object_unref(data);
return G_SOURCE_REMOVE;
},
widget);
return FALSE;
}
#endif //MOZ_WIDGET_GTK2