From: Jan Arne Petersen <[email protected]>

Also add a surface argument to the enter event.
---
 clients/editor.c   | 16 ++++++++++------
 protocol/text.xml  |  9 +++++----
 src/text-backend.c |  4 ++--
 3 files changed, 17 insertions(+), 12 deletions(-)

diff --git a/clients/editor.c b/clients/editor.c
index af1623f..4003e19 100644
--- a/clients/editor.c
+++ b/clients/editor.c
@@ -346,19 +346,23 @@ text_model_locale(void *data,
 }
 
 static void
-text_model_activated(void *data,
-                    struct text_model *text_model)
+text_model_enter(void *data,
+                struct text_model *text_model,
+                struct wl_surface *surface)
 {
        struct text_entry *entry = data;
 
+       if (surface != window_get_wl_surface(entry->window))
+               return;
+
        entry->active = 1;
 
        widget_schedule_redraw(entry->widget);
 }
 
 static void
-text_model_deactivated(void *data,
-                      struct text_model *text_model)
+text_model_leave(void *data,
+                struct text_model *text_model)
 {
        struct text_entry *entry = data;
 
@@ -376,8 +380,8 @@ static const struct text_model_listener text_model_listener 
= {
        text_model_selection_replacement,
        text_model_direction,
        text_model_locale,
-       text_model_activated,
-       text_model_deactivated
+       text_model_enter,
+       text_model_leave
 };
 
 static struct text_entry*
diff --git a/protocol/text.xml b/protocol/text.xml
index 857fd83..5bf1b23 100644
--- a/protocol/text.xml
+++ b/protocol/text.xml
@@ -127,14 +127,15 @@
     <event name="selection_replacement"/>
     <event name="direction"/>
     <event name="locale"/>
-    <event name="activated">
-      <description summary="activated event">
+    <event name="enter">
+      <description summary="enter event">
         Notify the model when it is activated. Typically in response to an
         activate request.
       </description>
+      <arg name="surface" type="object" interface="wl_surface"/>
     </event>
-    <event name="deactivated">
-      <description summary="deactivated event">
+    <event name="leave">
+      <description summary="leave event">
         Notify the model when it is deactivated. Either in response to a
         deactivate request or when the assigned surface lost focus or was
         destroyed.
diff --git a/src/text-backend.c b/src/text-backend.c
index 4190fe7..c480e4e 100644
--- a/src/text-backend.c
+++ b/src/text-backend.c
@@ -90,7 +90,7 @@ deactivate_text_model(struct text_model *text_model,
                input_method->model = NULL;
                input_method->context = NULL;
                wl_signal_emit(&ec->hide_input_panel_signal, ec);
-               text_model_send_deactivated(&text_model->resource);
+               text_model_send_leave(&text_model->resource);
        }
 }
 
@@ -157,7 +157,7 @@ text_model_activate(struct wl_client *client,
 
        wl_signal_emit(&ec->show_input_panel_signal, ec);
 
-       text_model_send_activated(&text_model->resource);
+       text_model_send_enter(&text_model->resource, 
&text_model->surface->resource);
 }
 
 static void
-- 
1.7.11.4

_______________________________________________
wayland-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to