This is an automated email from the git hooks/post-receive script.

git pushed a commit to branch f/fix_xlib_protocol_error
in repository enlightenment.

View the commit online.

commit 04db77c4a90e0a3caf4a02e553fe6dc03beec7c0
Author: Marcel Hollerbach <[email protected]>
AuthorDate: Tue Mar 7 18:39:27 2023 +0100

    e_comp: reschedule when size is invalid
    
    there is no point updating when the size of the comp is 0x0
---
 src/bin/e_comp.c        | 7 +++++++
 src/bin/e_comp.h        | 1 +
 src/bin/e_comp_canvas.c | 3 +++
 3 files changed, 11 insertions(+)

diff --git a/src/bin/e_comp.c b/src/bin/e_comp.c
index 541fd4b18..769ad9d8d 100644
--- a/src/bin/e_comp.c
+++ b/src/bin/e_comp.c
@@ -960,6 +960,13 @@ _e_comp_shapes_update_job(void *d EINA_UNUSED)
      win = e_comp->win;
    else
      win = e_comp->cm_selection;
+
+   if (e_comp->h <= 0 || e_comp->w <= 0)
+     {
+        e_comp->shape_update_on_resize = EINA_TRUE;
+        return;
+     }
+
    E_FREE_LIST(e_comp->debug_rects, evas_object_del);
    tb = eina_tiler_new(e_comp->w, e_comp->h);
    eina_tiler_tile_size_set(tb, 1, 1);
diff --git a/src/bin/e_comp.h b/src/bin/e_comp.h
index 686ed1600..639383ae0 100644
--- a/src/bin/e_comp.h
+++ b/src/bin/e_comp.h
@@ -192,6 +192,7 @@ struct _E_Comp
    Eina_Bool       updating E_BITFIELD; // running client updates
 
    Eina_Bool       frozen E_BITFIELD; // frozen - when power save freeze mode is on
+   Eina_Bool       shape_update_on_resize E_BITFIELD; //a shape update was scheduled but e_comp size was 0 in one dimension
 };
 
 
diff --git a/src/bin/e_comp_canvas.c b/src/bin/e_comp_canvas.c
index de53573bc..d6661a4e8 100644
--- a/src/bin/e_comp_canvas.c
+++ b/src/bin/e_comp_canvas.c
@@ -625,6 +625,9 @@ e_comp_canvas_resize(int w, int h)
    e_comp->w = w;
    e_comp->h = h;
    ecore_evas_resize(e_comp->ee, w, h);
+   if (e_comp->shape_update_on_resize) {
+      e_comp_shape_queue();
+   }
 }
 
 E_API void

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.

Reply via email to