[gtk/wip/Jehan/GtkIMContextWayland-master] gtk: focus out the GtkIMContextWayland upon finalization.



commit 7ccf32db5781db9e4a299b9936e562b50378bbf7
Author: Jehan <jehan girinstud io>
Date:   Mon Jun 29 22:12:53 2020 +0200

    gtk: focus out the GtkIMContextWayland upon finalization.
    
    In particular, it will NULL-ified the current global context if this is
    the finalized one, avoiding dangling invalid pointers.
    
    Would have been a cherry-pick from branch gtk-3-24 of commit
    b592ded80ad4825d115317ba6750a086da0434c0, but files moved.

 gtk/gtkimcontextwayland.c | 4 ++++
 1 file changed, 4 insertions(+)
---
diff --git a/gtk/gtkimcontextwayland.c b/gtk/gtkimcontextwayland.c
index 658e6e7f7b..f76f183fd2 100644
--- a/gtk/gtkimcontextwayland.c
+++ b/gtk/gtkimcontextwayland.c
@@ -93,6 +93,8 @@ struct _GtkIMContextWayland
   guint use_preedit : 1;
 };
 
+static void gtk_im_context_wayland_focus_out (GtkIMContext *context);
+
 G_DEFINE_TYPE_WITH_CODE (GtkIMContextWayland, gtk_im_context_wayland, GTK_TYPE_IM_CONTEXT_SIMPLE,
                         gtk_im_module_ensure_extension_point ();
                          g_io_extension_point_implement (GTK_IM_MODULE_EXTENSION_POINT_NAME,
@@ -476,6 +478,8 @@ gtk_im_context_wayland_finalize (GObject *object)
 {
   GtkIMContextWayland *context = GTK_IM_CONTEXT_WAYLAND (object);
 
+  gtk_im_context_wayland_focus_out (GTK_IM_CONTEXT (context));
+
   g_clear_object (&context->widget);
   g_clear_object (&context->gesture);
   g_free (context->surrounding.text);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]