diff options
| author | Andrea Corallo <akrl@sdf.org> | 2020-05-25 15:56:25 +0100 |
|---|---|---|
| committer | Andrea Corallo <akrl@sdf.org> | 2020-05-25 15:56:25 +0100 |
| commit | b478d57e73ccff63788de805bfe178481ff084cf (patch) | |
| tree | b87beb51fb6cc70b1d76c0c4553e42d57bc7dd5a /src | |
| parent | 2bc41e0963275e77ca3627fbfd754fcc041405cb (diff) | |
| parent | c812223c9fc2684d0edc9cb848cfa6d83c6fdb9a (diff) | |
Merge remote-tracking branch 'savannah/master' into HEAD
Diffstat (limited to 'src')
| -rw-r--r-- | src/gtkutil.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/gtkutil.c b/src/gtkutil.c index 681f86f51ba..5d1ce6de97c 100644 --- a/src/gtkutil.c +++ b/src/gtkutil.c @@ -1404,10 +1404,15 @@ xg_free_frame_widgets (struct frame *f) FRAME_X_WINDOW (f) = 0; /* Set to avoid XDestroyWindow in xterm.c */ FRAME_X_RAW_DRAWABLE (f) = 0; FRAME_GTK_OUTER_WIDGET (f) = 0; + if (x->ttip_widget) + { + /* Remove ttip_lbl from ttip_widget's custom slot before + destroying it, to avoid double-free (Bug#41239). */ + gtk_tooltip_set_custom (x->ttip_widget, NULL); + g_object_unref (G_OBJECT (x->ttip_widget)); + } if (x->ttip_lbl) gtk_widget_destroy (x->ttip_lbl); - if (x->ttip_widget) - g_object_unref (G_OBJECT (x->ttip_widget)); } } |
