e_hwc_window: use the address of the ee_rendered_hw_list_key as the key 30/194030/1
authorSooChan Lim <sc1.lim@samsung.com>
Mon, 26 Nov 2018 01:40:41 +0000 (10:40 +0900)
committerSooChan Lim <sc1.lim@samsung.com>
Wed, 28 Nov 2018 10:33:51 +0000 (19:33 +0900)
Change-Id: I40257c5e23097cc522072129c2a0c30a0e0d6ea6

src/bin/e_hwc_window.c

index 6b88c4ff239f12091e4c6b25d2694bc7aa0fc238..0d74aaf339d242b0981b5e8d58844c603fd6780f 100644 (file)
@@ -262,7 +262,7 @@ _e_hwc_window_target_window_surface_queue_trace_cb(tbm_surface_queue_h surface_q
                  NULL, target_hwc_window, tsurface, "@TARGET WINDOW@");
 
         tbm_surface_internal_add_user_data(tsurface,
-                                           ee_rendered_hw_list_key,
+                                           (unsigned long)&ee_rendered_hw_list_key,
                                            _e_hwc_window_target_window_surface_data_free);
         target_hwc_window->dequeued_tsurface = tsurface;
         target_hwc_window->rendered_tsurface_list = eina_list_append(target_hwc_window->rendered_tsurface_list,
@@ -271,7 +271,7 @@ _e_hwc_window_target_window_surface_queue_trace_cb(tbm_surface_queue_h surface_q
    /* tsurface has been released at the queue */
    if (trace == TBM_SURFACE_QUEUE_TRACE_RELEASE)
      {
-        tbm_surface_internal_delete_user_data(tsurface, ee_rendered_hw_list_key);
+        tbm_surface_internal_delete_user_data(tsurface, (unsigned long)&ee_rendered_hw_list_key);
         target_hwc_window->rendered_tsurface_list = eina_list_remove(target_hwc_window->rendered_tsurface_list,
                                                                      tsurface);
      }
@@ -333,7 +333,7 @@ _e_hwc_window_target_window_render_flush_post_cb(void *data, Evas *e EINA_UNUSED
    ee_rendered_hw_list = eina_list_clone(target_hwc_window->ee_rendered_hw_list);
 
    tbm_surface_internal_set_user_data(target_hwc_window->dequeued_tsurface,
-           ee_rendered_hw_list_key, ee_rendered_hw_list);
+           (unsigned long)&ee_rendered_hw_list_key, ee_rendered_hw_list);
 
    eina_list_free(target_hwc_window->ee_rendered_hw_list);
    target_hwc_window->ee_rendered_hw_list = NULL;
@@ -439,10 +439,10 @@ _e_hwc_window_target_new(E_Hwc *hwc)
                            EVAS_CALLBACK_RENDER_FLUSH_POST,
                            _e_hwc_window_target_window_render_flush_post_cb,
                            target_hwc_window);
-
+#if 0
    /* sorry..., current version of gcc requires an initializer to be evaluated at compile time */
    ee_rendered_hw_list_key = (uintptr_t)&ee_rendered_hw_list_key;
-
+#endif
    return target_hwc_window;
 
 fail:
@@ -871,7 +871,8 @@ _e_hwc_window_target_window_ee_rendered_hw_list_get(E_Hwc_Window_Target *target_
    hwc = target_window->hwc_window.hwc;
 
    target_tsurface = target_window->hwc_window.buffer.tsurface;
-   tbm_surface_internal_get_user_data(target_tsurface, ee_rendered_hw_list_key, (void**)&ee_rendered_hw_list);
+   tbm_surface_internal_get_user_data(target_tsurface, (unsigned long)&ee_rendered_hw_list_key,
+                            (void**)&ee_rendered_hw_list);
 
    /* refresh list of composited e_thwc_windows according to existed ones */
    EINA_LIST_FOREACH(ee_rendered_hw_list, l, hw1)