GSGrab * gs_grab_new (void) { if (grab_object) { g_object_ref (grab_object); } else { grab_object = g_object_new (GS_TYPE_GRAB, NULL); g_object_add_weak_pointer (grab_object, (gpointer *) &grab_object); } return GS_GRAB (grab_object); }
static void gs_grab_finalize (GObject *object) { GSGrab *grab; g_return_if_fail (object != NULL); g_return_if_fail (GS_IS_GRAB (object)); grab = GS_GRAB (object); g_return_if_fail (grab->priv != NULL); gtk_widget_destroy (grab->priv->invisible); G_OBJECT_CLASS (gs_grab_parent_class)->finalize (object); }