e_hwc_windows: evaluate hwc if property of is changed 17/214717/2
authorChangyeon Lee <cyeon.lee@samsung.com>
Wed, 25 Sep 2019 12:33:56 +0000 (21:33 +0900)
committerChangyeon Lee <cyeon.lee@samsung.com>
Fri, 27 Sep 2019 04:18:22 +0000 (13:18 +0900)
Change-Id: Id532e9ebc0abb45b687d2b8445e803951a442469

src/bin/e_hwc.c
src/bin/e_hwc.h
src/bin/e_hwc_windows.c

index 843670b..398bb8c 100644 (file)
@@ -629,6 +629,8 @@ e_hwc_property_set(E_Hwc *hwc, unsigned int id, hwc_value value)
    ret = tdm_hwc_set_property(hwc->thwc, id, tvalue);
    EINA_SAFETY_ON_TRUE_RETURN_VAL(ret != TDM_ERROR_NONE, EINA_FALSE);
 
+   hwc->property_changed = EINA_TRUE;
+
    return EINA_TRUE;
 }
 
index 210c306..1d4a7f4 100644 (file)
@@ -94,6 +94,7 @@ struct _E_Hwc
    int                  num_visible_windows;
    Eina_Bool            device_state_available;
    Eina_Bool            transition;
+   Eina_Bool            property_changed;
 
    /* capabilities */
    Eina_Bool     tdm_hwc_video_stream;
index 99fdb04..aec20f2 100644 (file)
@@ -2174,6 +2174,12 @@ _e_hwc_windows_changes_update(E_Hwc *hwc)
    const Eina_List *l;
    Eina_Bool ret = EINA_FALSE;
 
+   if (hwc->property_changed)
+     {
+        hwc->property_changed = EINA_FALSE;
+        update_changes = EINA_TRUE;
+     }
+
    /* update the the visible windows */
    if (_e_hwc_windows_visible_windows_update(hwc))
      update_changes = EINA_TRUE;