diff options
author | Nelson Benítez León <nbenitezl@gmail.com> | 2022-09-24 21:16:18 -0400 |
---|---|---|
committer | Nelson Benítez León <nbenitezl@gmail.com> | 2022-09-24 21:25:05 -0400 |
commit | 94a4c2cb4019a6d155ef1b4d43d3107d8449bc98 (patch) | |
tree | e11a53a5e6ea7c5686750c4abd4cb4aa841a70d5 /gtk/gtkmain.c | |
parent | cefb0a3eb8f9a52283ce4368ccc78425db0914b0 (diff) | |
download | gtk+-94a4c2cb4019a6d155ef1b4d43d3107d8449bc98.tar.gz |
fix crash in gtk_synthesize_crossing_events()
Update ancestor between GTK_CROSSING_OUT and
GTK_CROSSING_IN as it may have changed.
Fixes #5190
Diffstat (limited to 'gtk/gtkmain.c')
-rw-r--r-- | gtk/gtkmain.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gtk/gtkmain.c b/gtk/gtkmain.c index 7ea84d4878..dfa9e399ef 100644 --- a/gtk/gtkmain.c +++ b/gtk/gtkmain.c @@ -1186,6 +1186,11 @@ gtk_synthesize_crossing_events (GtkRoot *toplevel, for (widget = new_target; widget; widget = _gtk_widget_get_parent (widget)) gtk_widget_stack_append (&target_array, g_object_ref (widget)); + if (old_target && new_target) + ancestor = gtk_widget_common_ancestor (old_target, new_target); + else + ancestor = NULL; + crossing.direction = GTK_CROSSING_IN; seen_ancestor = FALSE; |