Window not redrawn after (un-)shading without animation #28

Open
opened 2022-11-11 08:22:08 -08:00 by resi · 0 comments

Hi,

I'm running:
enlightenment 0.25.4
efl 1.26.3
RHEL8
tigervnc

I disabled all animations in Settings/Windows/Window Display/Shading and found that windows aren't redrawn after displaying them again. I'm not sure whether this is 'shading' or 'unshading', it's rolled down and should be visible in any case.

Moving it around or resizing it redraws properly, also having animations enabled doesn't expose this issue.

I found that I can force updates with a patch like this, but obviously have no idea what I'm doing...

diff --git a/src/bin/e_comp_object.c b/src/bin/e_comp_object.c
index 533c49655e10..289d22e5582f 100644
--- a/src/bin/e_comp_object.c
+++ b/src/bin/e_comp_object.c
@@ -2069,6 +2069,10 @@ _e_comp_object_shade_animator(void *data)
           e_comp_object_signal_emit(cw->smart_obj, "e,state,unshaded", "e");
         edje_object_message_signal_process(cw->frame_object);
         _e_comp_smart_cb_frame_recalc(cw, cw->smart_obj, NULL);
+
+        // force redraws since non-animated unshades leave me with unpainted
+        // windows.
+        e_comp_object_damage(cw->smart_obj, 0, 0, cw->w, cw->h);
      }
    return cw->ec->shading;
 }

Hi, I'm running: enlightenment 0.25.4 efl 1.26.3 RHEL8 tigervnc I disabled all animations in Settings/Windows/Window Display/Shading and found that windows aren't redrawn after displaying them again. I'm not sure whether this is 'shading' or 'unshading', it's rolled down and should be visible in any case. Moving it around or resizing it redraws properly, also having animations enabled doesn't expose this issue. I found that I can force updates with a patch like this, but obviously have no idea what I'm doing... ``` diff --git a/src/bin/e_comp_object.c b/src/bin/e_comp_object.c index 533c49655e10..289d22e5582f 100644 --- a/src/bin/e_comp_object.c +++ b/src/bin/e_comp_object.c @@ -2069,6 +2069,10 @@ _e_comp_object_shade_animator(void *data) e_comp_object_signal_emit(cw->smart_obj, "e,state,unshaded", "e"); edje_object_message_signal_process(cw->frame_object); _e_comp_smart_cb_frame_recalc(cw, cw->smart_obj, NULL); + + // force redraws since non-animated unshades leave me with unpainted + // windows. + e_comp_object_damage(cw->smart_obj, 0, 0, cw->w, cw->h); } return cw->ec->shading; } ```
resi started working 2022-11-14 23:24:58 -08:00
resi canceled time tracking 2022-11-14 23:25:03 -08:00
Sign in to join this conversation.
No Label
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: enlightenment/enlightenment#28
No description provided.