]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix tooltips in PGTK child frames
authorPo Lu <luangruo@yahoo.com>
Sat, 11 Dec 2021 10:44:53 +0000 (18:44 +0800)
committerPo Lu <luangruo@yahoo.com>
Sat, 11 Dec 2021 10:44:53 +0000 (18:44 +0800)
* src/gtkutil.c (xg_show_tooltip, xg_hide_tooltip): Make
safe for child frames.

src/gtkutil.c

index 225984af41adffcddb6b4d8a9e0982b4edd21dab..0164d873bb3a111ae51501a39f96c1135796c71c 100644 (file)
@@ -928,15 +928,18 @@ xg_show_tooltip (struct frame *f,
                 Lisp_Object string)
 {
   Lisp_Object encoded_string = ENCODE_UTF_8 (string);
-  gtk_widget_set_tooltip_text (FRAME_GTK_OUTER_WIDGET (f), SSDATA (encoded_string));
+  gtk_widget_set_tooltip_text (FRAME_GTK_OUTER_WIDGET (f)
+                              ? FRAME_GTK_OUTER_WIDGET (f)
+                              : FRAME_GTK_WIDGET (f),
+                              SSDATA (encoded_string));
 }
 
 bool
 xg_hide_tooltip (struct frame *f)
 {
-  if (gtk_widget_get_tooltip_text (FRAME_GTK_OUTER_WIDGET (f)) == NULL)
-    return FALSE;
-  gtk_widget_set_tooltip_text (FRAME_GTK_OUTER_WIDGET (f), NULL);
+  if (FRAME_GTK_OUTER_WIDGET (f))
+    gtk_widget_set_tooltip_text (FRAME_GTK_OUTER_WIDGET (f), NULL);
+  gtk_widget_set_tooltip_text (FRAME_GTK_WIDGET (f), NULL);
   return TRUE;
 }