check the window size...
authorSooChan Lim <sc1.lim@samsung.com>
Wed, 17 Jan 2018 02:30:24 +0000 (11:30 +0900)
committerSooChan Lim <sc1.lim@samsung.com>
Wed, 17 Jan 2018 02:30:24 +0000 (11:30 +0900)
Change-Id: If40015bd98390c88733468d0bc1a9ec83363849d

src/bin/e_output_hwc_windows.c

index 6a41078e4aec056f6d6b2e185305cbe54ef3d122..8343e3154887b3071c77c238e441040752cc83f9 100644 (file)
@@ -248,12 +248,21 @@ _e_output_hwc_windows_can_commit(E_Output *output)
              can_commit = EINA_FALSE;
           }
         else
-          {  /* check if the size of the surface is the same as the one of the output */
+          {
+             /* check if the size of the surface is the same as the one of the output.
+              * There MUST be at least one window which has the same size of the output.
+              * This prevent the flickering issue on the display.
+              */
              if (matched_output_size == EINA_FALSE)
                {
-                ec = hwc_window->ec;
-                if (ec->w == output->config.geom.w && ec->h == output->config.geom.h)
-                  matched_output_size = EINA_TRUE;
+                  if (e_hwc_window_is_target(hwc_window))
+                    matched_output_size = EINA_TRUE;
+                  else
+                    {
+                       ec = hwc_window->ec;
+                       if (ec->w == output->config.geom.w && ec->h == output->config.geom.h)
+                         matched_output_size = EINA_TRUE;
+                    }
                }
           }
      }