jpeg pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=f5c4ec6cd9e2aba8a175647410c9e4932f82e0cb

commit f5c4ec6cd9e2aba8a175647410c9e4932f82e0cb
Author: Jean-Philippe Andre <[email protected]>
Date:   Tue Jun 13 11:13:03 2017 +0900

    evas: Fix resize & move intercepts
    
    Thanks @zmike for the report.
    This in therory should restore behaviour from 1.18,
    where the intercept function is called even if the geometry
    isn't changed.
    
    Test scenario, in E:
     1. remove bryces, shelves on a screen, or mark all as autohide
     2. open chromium or any CSD application as unmaximized
     3. maximize the window
     4. make it fullscreen (eg. with chromium: F11)
    
    See 8a9f0bd603aaaf3abd3ca9a.
    
    Ref T4749
    Fixes T5573
    
    @fix
---
 src/lib/evas/canvas/evas_object_intercept.c | 19 ++++++++-----------
 1 file changed, 8 insertions(+), 11 deletions(-)

diff --git a/src/lib/evas/canvas/evas_object_intercept.c 
b/src/lib/evas/canvas/evas_object_intercept.c
index da774e2b9c..cd8d6d20de 100644
--- a/src/lib/evas/canvas/evas_object_intercept.c
+++ b/src/lib/evas/canvas/evas_object_intercept.c
@@ -113,22 +113,19 @@ _evas_object_intercept_call_internal(Evas_Object *eo_obj,
           }
         i = va_arg(args, int);
         j = va_arg(args, int);
-        if (!obj->interceptors)
-          {
-             if ((obj->cur->geometry.x == i) && (obj->cur->geometry.y == j))
-               blocked = EINA_TRUE;
-             break;
-          }
-        blocked = evas_object_intercept_call_move(eo_obj, obj, i, j);
+        if (obj->interceptors)
+          blocked = evas_object_intercept_call_move(eo_obj, obj, i, j);
+        if (!blocked && (obj->cur->geometry.x == i) && (obj->cur->geometry.y 
== j))
+          blocked = 1;
         break;
 
       case EVAS_OBJECT_INTERCEPT_CB_RESIZE:
         i = va_arg(args, int);
         j = va_arg(args, int);
-        if (_efl_canvas_object_efl_gfx_size_set_block(eo_obj, obj, i, j, 
internal))
-          return 1;
-        if (!obj->interceptors) return 0;
-        blocked = evas_object_intercept_call_resize(eo_obj, obj, i, j);
+        if (obj->interceptors)
+          blocked = evas_object_intercept_call_resize(eo_obj, obj, i, j);
+        if (!blocked && _efl_canvas_object_efl_gfx_size_set_block(eo_obj, obj, 
i, j, internal))
+          blocked = 1;
         break;
 
       case EVAS_OBJECT_INTERCEPT_CB_RAISE:

-- 


Reply via email to