discomfitor pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=7bfeef352cc6ef83e9984c35c46a1e2c1d13a834

commit 7bfeef352cc6ef83e9984c35c46a1e2c1d13a834
Author: Mike Blumenkrantz <[email protected]>
Date:   Fri May 9 22:49:10 2014 -0400

    block desktop instance matching for clients which have a different pid from 
the startup id
    
    these should get set more accurately in a followup test
    
    fix T1237
---
 src/bin/e_client.c | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

diff --git a/src/bin/e_client.c b/src/bin/e_client.c
index 17e5ac1..932ba22 100644
--- a/src/bin/e_client.c
+++ b/src/bin/e_client.c
@@ -1917,8 +1917,19 @@ _e_client_eval(E_Client *ec)
           }
         if (!ec->desktop)
           {
-             ec->desktop = e_exec_startup_id_pid_find(ec->netwm.startup_id,
-                                                      ec->netwm.pid);
+             E_Exec_Instance *inst;
+
+             inst = e_exec_startup_id_pid_instance_find(ec->netwm.startup_id,
+                                                        ec->netwm.pid);
+             if (inst && inst->clients)
+               {
+                  E_Client *ec2 = eina_list_data_get(inst->clients);
+
+                  if (ec2->netwm.pid == ec->netwm.pid)
+                    ec->desktop = inst->desktop;
+               }
+             else if (inst)
+               ec->desktop = inst->desktop;
              if (ec->desktop) efreet_desktop_ref(ec->desktop);
           }
         if (!ec->desktop)

-- 


Reply via email to