tooltip: Ensure our quark is not 0

Many of the tooltip functions can be called before a tooltip
object is created, and thus initializing the quark in class_init
is not good enough.
This commit is contained in:
Matthias Clasen 2016-05-06 00:45:05 -04:00
parent 360a3c1690
commit d91b8c91d3

View File

@ -148,7 +148,16 @@ static void gtk_tooltip_display_closed (GdkDisplay *display,
static void gtk_tooltip_set_last_window (GtkTooltip *tooltip, static void gtk_tooltip_set_last_window (GtkTooltip *tooltip,
GdkWindow *window); GdkWindow *window);
static GQuark quark_current_tooltip; static inline GQuark tooltip_quark (void)
{
static GQuark quark;
if G_UNLIKELY (quark == 0)
quark = g_quark_from_static_string ("gdk-display-current-tooltip");
return quark;
}
#define quark_current_tooltip tooltip_quark()
G_DEFINE_TYPE (GtkTooltip, gtk_tooltip, G_TYPE_OBJECT); G_DEFINE_TYPE (GtkTooltip, gtk_tooltip, G_TYPE_OBJECT);
@ -160,8 +169,6 @@ gtk_tooltip_class_init (GtkTooltipClass *klass)
object_class = G_OBJECT_CLASS (klass); object_class = G_OBJECT_CLASS (klass);
object_class->dispose = gtk_tooltip_dispose; object_class->dispose = gtk_tooltip_dispose;
quark_current_tooltip = g_quark_from_static_string ("gdk-display-current-tooltip");
} }
static void static void