discomfitor pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=62068912e95600ab5db60cc616acc4c5fb89b8cd

commit 62068912e95600ab5db60cc616acc4c5fb89b8cd
Author: Mike Blumenkrantz <[email protected]>
Date:   Thu Oct 20 12:15:03 2016 -0400

    correctly handle applying of non-SR remember in remember config
    
    fix T4512
---
 src/bin/e_int_client_remember.c | 17 ++++++++---------
 1 file changed, 8 insertions(+), 9 deletions(-)

diff --git a/src/bin/e_int_client_remember.c b/src/bin/e_int_client_remember.c
index 5a63a30..f87a74a 100644
--- a/src/bin/e_int_client_remember.c
+++ b/src/bin/e_int_client_remember.c
@@ -418,7 +418,10 @@ _basic_apply_data(E_Config_Dialog *cfd EINA_UNUSED, 
E_Config_Dialog_Data *cfdata
 {
    /* Actually take our cfdata settings and apply them in real life */
    E_Client *ec = cfdata->client;
-   E_Remember *rem = cfdata->backup_rem ?: ec->remember;
+   E_Remember *rem = ec->remember;
+
+   if (rem && (rem->apply & E_REMEMBER_APPLY_UUID))
+     rem = cfdata->backup_rem;
 
    if (cfdata->mode == MODE_NOTHING)
      {
@@ -434,14 +437,10 @@ _basic_apply_data(E_Config_Dialog *cfd EINA_UNUSED, 
E_Config_Dialog_Data *cfdata
    if (!rem)
      {
         rem = e_remember_new();
-        if (rem)
-          {
-             if ((!ec->remember) || (!(ec->remember->apply & 
E_REMEMBER_APPLY_UUID)))
-               ec->remember = rem;
-             cfdata->applied = 0;
-          }
-        else
-          return 0;
+        if (!rem) return 0;
+        cfdata->applied = 0;
+        if (ec->remember && (ec->remember->apply & E_REMEMBER_APPLY_UUID))
+          cfdata->backup_rem = rem;
      }
 
    e_remember_default_match_set(rem, cfdata->client);

-- 


Reply via email to