raster pushed a commit to branch v-0.25.0.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=4814a63d4c8d02a6f3782fca33d28c08a96950f5

commit 4814a63d4c8d02a6f3782fca33d28c08a96950f5
Author: Marcel Hollerbach <[email protected]>
Date:   Fri Jan 28 18:24:51 2022 +0100

    e_client: fix more focus weirdness
    
    parent should be raised, even though it is not the modal.
---
 src/bin/e_client.c | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/src/bin/e_client.c b/src/bin/e_client.c
index f3d01663b..a0314df2f 100644
--- a/src/bin/e_client.c
+++ b/src/bin/e_client.c
@@ -433,12 +433,17 @@ e_client_revert_focus(E_Client *ec)
                }
           }
      }
-   else if ((ec->parent) &&
-            (ec->parent->desk == desk) && (ec->parent->modal == ec))
+   else if ((ec->parent) && (ec->parent->desk == desk))
      {
-        evas_object_focus_set(ec->parent->frame, 1);
+        E_Client *goal_ec = NULL;
+        if (ec->parent->modal != ec && ec->parent->modal) {
+          goal_ec = ec->parent->modal;
+        } else {
+          goal_ec = ec->parent;
+        }
+        evas_object_focus_set(goal_ec->frame, 1);
         if (e_config->raise_on_revert_focus)
-          evas_object_raise(ec->parent->frame);
+          evas_object_raise(goal_ec->frame);
      }
    else if (e_config->focus_revert_on_hide_or_close)
      {

-- 


Reply via email to