On 01/26/2017 09:56 AM, Mike Blumenkrantz wrote:
> Do you have a specific case where this is necessary? I think it would be
> better to reduce redundant calls rather than block potentially necessary
> re-setting of data; have you tested this with session recovery?
>

Yes, this was tested with session recovery and SR works the same as 
before this patch went in. I've not seen any adverse effects from this 
patch.

dh


> On Wed, Jan 25, 2017 at 12:12 PM Christopher Michael <[email protected]>
> wrote:
>
>> devilhorns pushed a commit to branch master.
>>
>>
>> http://git.enlightenment.org/core/efl.git/commit/?id=a306cba6c3d581e36fddb4858e27643e07fb0754
>>
>> commit a306cba6c3d581e36fddb4858e27643e07fb0754
>> Author: Chris Michael <[email protected]>
>> Date:   Wed Jan 25 12:02:35 2017 -0500
>>
>>     ecore-wl2: Don't set opaque or input regions if already set
>>
>>     If the window opaque/input regions already match what is being
>>     requested (to be set), then no need for the compositor to create
>>     regions and set them.
>>
>>     @optimize
>>     @fix
>>
>>     Signed-off-by: Chris Michael <[email protected]>
>> ---
>>  src/lib/ecore_wl2/ecore_wl2_window.c | 8 ++++++++
>>  1 file changed, 8 insertions(+)
>>
>> diff --git a/src/lib/ecore_wl2/ecore_wl2_window.c
>> b/src/lib/ecore_wl2/ecore_wl2_window.c
>> index 8acb7d5..6d50ca3 100644
>> --- a/src/lib/ecore_wl2/ecore_wl2_window.c
>> +++ b/src/lib/ecore_wl2/ecore_wl2_window.c
>> @@ -870,6 +870,10 @@ ecore_wl2_window_opaque_region_set(Ecore_Wl2_Window
>> *window, int x, int y, int w
>>
>>     EINA_SAFETY_ON_NULL_RETURN(window);
>>
>> +   if ((window->opaque.x == x) && (window->opaque.y == y) &&
>> +       (window->opaque.w == w) && (window->opaque.h == h))
>> +     return;
>> +
>>     window->opaque.x = x;
>>     window->opaque.y = y;
>>     window->opaque.w = w;
>> @@ -913,6 +917,10 @@ ecore_wl2_window_input_region_set(Ecore_Wl2_Window
>> *window, int x, int y, int w,
>>
>>     EINA_SAFETY_ON_NULL_RETURN(window);
>>
>> +   if ((window->input_rect.x == x) && (window->input_rect.y == y) &&
>> +       (window->input_rect.w == w) && (window->input_rect.h == h))
>> +     return;
>> +
>>     window->input_rect.x = x;
>>     window->input_rect.y = y;
>>     window->input_rect.w = w;
>>
>> --
>>
>>
>>
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, SlashDot.org! http://sdm.link/slashdot
> _______________________________________________
> enlightenment-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to