compositor: Add missed handling infinite input region 79/298979/2
authorSeunghun Lee <shiin.lee@samsung.com>
Thu, 14 Sep 2023 10:16:40 +0000 (19:16 +0900)
committerDoyoun Kang <doyoun.kang@samsung.com>
Mon, 18 Sep 2023 04:53:02 +0000 (04:53 +0000)
Change-Id: I5f8267d2a47944f2dc99af6601717aa5276c5442

src/bin/e_compositor.c

index e1f1eb0..260279b 100644 (file)
@@ -758,20 +758,21 @@ _e_surface_pending_input_region_update(E_Surface *surface)
    struct ds_surface *ds_surface = surface->ds_surface;
    E_Client *ec = surface->ec;
    Eina_Tiler *region;
+   pixman_region32_t infinite_region;
 
-   if (pixman_region32_not_empty(&ds_surface->current.input))
+   pixman_region32_init_rect(&infinite_region, INT32_MIN, INT32_MIN, UINT32_MAX, UINT32_MAX);
+   if (pixman_region32_equal(&ds_surface->current.input, &infinite_region))
      {
-        region = _tiler_new_from_pixman_region(&ds_surface->current.input);
-        if (!region)
-          return;
-
-        e_comp_wl_client_surface_pending_input_region_set(ec, region);
-
-        eina_tiler_free(region);
+        e_comp_wl_client_surface_pending_input_region_set(ec, NULL);
      }
    else
      {
-        e_comp_wl_client_surface_pending_input_region_set(ec, NULL);
+        region = _tiler_new_from_pixman_region(&ds_surface->current.input);
+        if (region)
+          {
+             e_comp_wl_client_surface_pending_input_region_set(ec, region);
+             eina_tiler_free(region);
+          }
      }
 }