Fix no update layout issue 01/262101/1
authorJihoon Kim <jihoon48.kim@samsung.com>
Fri, 7 May 2021 08:26:39 +0000 (17:26 +0900)
committerJihoon Kim <jihoon48.kim@samsung.com>
Tue, 3 Aug 2021 02:16:20 +0000 (11:16 +0900)
Change-Id: I952fbb7519b8eba2cb628c6ebe459aecd11fac05
Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
scl/sclwindows-nui.cpp

index 8badcb6..13305a8 100644 (file)
@@ -837,6 +837,25 @@ CSCLWindowsImplNui::update_window(const sclwindow window, scl16 x, scl16 y, scl1
     else {
         LOGW("### No update window callback ###");
     }
+
+    CSCLWindows *windows = CSCLWindows::get_instance();
+    CSCLUtils *utils = CSCLUtils::get_instance();
+    SclWindowContext *window_context = NULL;
+
+    if (windows && window) {
+        window_context = windows->get_window_context(window);
+    }
+    if (windows && utils && window_context) {
+        if (window_context->is_virtual) {
+            SclWindowContext *base_window_context = windows->get_window_context(windows->get_base_window());
+            if (base_window_context) {
+                updatearea.x += (window_context->geometry.x - base_window_context->geometry.x);
+                updatearea.y += (window_context->geometry.y - base_window_context->geometry.y);
+            }
+        }
+        CSCLUIBuilder *builder = CSCLUIBuilder::get_instance();
+        builder->show_layout(window, x, y, width, height);
+    }
 }
 
 /**