e_comp_object: set defer move when the ec is interactive resizing 63/265463/4
authorJunseok, Kim <juns.kim@samsung.com>
Mon, 18 Oct 2021 05:00:16 +0000 (14:00 +0900)
committerJunSeok Kim <juns.kim@samsung.com>
Wed, 27 Oct 2021 03:45:03 +0000 (03:45 +0000)
Flickering issue is occurred by using resize_mode as "Top" or "Left" or "Top-Left".
For fix this issue, used defer move until next commit when interactive resizing.

Change-Id: I9aacfe89feba6f56dc24406064b47fde847a6739

src/bin/e_comp_object.c

index d76570e670be592508bd061d2b2c585e0d541ec1..2f8e8ce11fef120a0a58a0b71fe5ffe89fe77310 100644 (file)
@@ -1500,6 +1500,16 @@ _e_comp_intercept_move(void *data, Evas_Object *obj, int x, int y)
         return;
      }
 
+   if ((cw->ec->resize_mode == E_POINTER_RESIZE_NONE) &&
+       (cw->ec->manage_resize.resize_obj))
+     {
+        e_client_pos_set(cw->ec, x, y);
+        cw->ec->client.x = x + cw->client_inset.l;
+        cw->ec->client.y = y + cw->client_inset.t;
+        e_policy_visibility_client_defer_move(cw->ec);
+        return;
+     }
+
    /* if frame_object does not exist, client_inset indicates CSD.
     * this means that ec->client matches cw->x/y, the opposite
     * of SSD.