Blob Blame History Raw
--- trunk/gtk/gtktooltips.c	2007/07/21 13:19:11	18520
+++ trunk/gtk/gtktooltips.c	2007/08/07 13:32:19	18587
@@ -103,6 +103,8 @@
   private->tips_data_table =
     g_hash_table_new_full (NULL, NULL, NULL,
                            (GDestroyNotify) gtk_tooltips_destroy_data);
+
+  gtk_tooltips_force_window (tooltips);
 }
 
 static void
@@ -144,6 +146,12 @@
 
   g_return_if_fail (tooltips != NULL);
 
+  if (tooltips->tip_window)
+    {
+      gtk_widget_destroy (tooltips->tip_window);
+      tooltips->tip_window = NULL;
+    }
+
   g_hash_table_remove_all (private->tips_data_table);
 
   GTK_OBJECT_CLASS (gtk_tooltips_parent_class)->destroy (object);
@@ -154,7 +162,18 @@
 {
   g_return_if_fail (GTK_IS_TOOLTIPS (tooltips));
 
-  /* nop */
+  if (!tooltips->tip_window)
+    {
+      tooltips->tip_window = gtk_window_new (GTK_WINDOW_POPUP);
+      g_signal_connect (tooltips->tip_window,
+			"destroy",
+			G_CALLBACK (gtk_widget_destroyed),
+			&tooltips->tip_window);
+
+      tooltips->tip_label = gtk_label_new (NULL);
+      gtk_container_add (GTK_CONTAINER (tooltips->tip_window),
+			 tooltips->tip_label);
+    }
 }
 
 void