hwc_window->zpos);
commit_data->hwc_window = hwc_window;
- e_object_ref(E_OBJECT(hwc_window));
+ e_hwc_window_ref(hwc_window);
/* set latest commit_data */
memcpy(&hwc_window->commit.info, &commit_data->info, sizeof(tdm_hwc_window_info));
commit_data->buffer_ref.buffer);
if (!memcmp(&hwc_window->display.info, &info, sizeof(tdm_hwc_window_info)))
- e_object_ref(E_OBJECT(hwc_window));
+ e_hwc_window_ref(hwc_window);
memcpy(&hwc_window->display.info, &commit_data->info, sizeof(tdm_hwc_window_info));
}
e_comp_wl_buffer_reference(&hwc_window->display.buffer_ref, NULL);
if (memcmp(&hwc_window->display.info, &info, sizeof(tdm_hwc_window_info)))
- e_object_unref(E_OBJECT(hwc_window));
+ e_hwc_window_unref(hwc_window);
CLEAR(hwc_window->display.info);
}
e_comp_wl_buffer_reference(&commit_data->buffer_ref, NULL);
hwc_window->commit_data_list = eina_list_remove(hwc_window->commit_data_list, commit_data);
free(commit_data);
- e_object_unref(E_OBJECT(hwc_window));
+ e_hwc_window_unref(hwc_window);
return EINA_TRUE;
}
}
tbm_surface_internal_unref(hwc_window->display.buffer.tsurface);
- e_object_unref(E_OBJECT(hwc_window));
+ e_hwc_window_unref(hwc_window);
}
e_comp_wl_buffer_reference(&hwc_window->display.buffer_ref, NULL);
}
tbm_surface_internal_unref(hwc_window->display.buffer.tsurface);
- e_object_unref(E_OBJECT(hwc_window));
+ e_hwc_window_unref(hwc_window);
}
if (commit_data->buffer_ref.buffer)
memcpy(&hwc_window->display.info, &commit_data->info, sizeof(tdm_hwc_window_info));
- e_object_ref(E_OBJECT(hwc_window));
+ e_hwc_window_ref(hwc_window);
}
e_comp_wl_buffer_reference(&commit_data->buffer_ref, NULL);
hwc_window->commit_data_list = eina_list_remove(hwc_window->commit_data_list, commit_data);
free(commit_data);
- e_object_unref(E_OBJECT(hwc_window));
+ e_hwc_window_unref(hwc_window);
return EINA_TRUE;
}
return EINA_FALSE;
}
+
+EINTERN void
+e_hwc_window_ref(E_Hwc_Window *hwc_window)
+{
+ EINA_SAFETY_ON_NULL_RETURN(hwc_window);
+
+ e_object_ref(E_OBJECT(hwc_window));
+}
+
+EINTERN void
+e_hwc_window_unref(E_Hwc_Window *hwc_window)
+{
+ EINA_SAFETY_ON_NULL_RETURN(hwc_window);
+
+ e_object_unref(E_OBJECT(hwc_window));
+}
EINTERN E_Hwc_Window *e_hwc_window_new(E_Hwc *hwc, E_Client *ec, E_Hwc_Window_State state);
EINTERN void e_hwc_window_free(E_Hwc_Window *hwc_window);
+EINTERN void e_hwc_window_ref(E_Hwc_Window *hwc_window);
+EINTERN void e_hwc_window_unref(E_Hwc_Window *hwc_window);
EINTERN Eina_Bool e_hwc_window_zpos_set(E_Hwc_Window *hwc_window, int zpos);
EINTERN int e_hwc_window_zpos_get(E_Hwc_Window *hwc_window);
static Eina_Bool
_e_hwc_window_queue_user_pending_set_add(E_Hwc_Window_Queue *queue, E_Hwc_Window *hwc_window)
{
- e_object_ref(E_OBJECT(hwc_window));
+ e_hwc_window_ref(hwc_window);
queue->user_pending_set = eina_list_append(queue->user_pending_set, hwc_window);
return EINA_TRUE;
if(tmp_hwc_window != hwc_window) continue;
queue->user_pending_set = eina_list_remove_list(queue->user_pending_set, l);
- e_object_unref(E_OBJECT(hwc_window));
+ e_hwc_window_unref(hwc_window);
}
}
/* set the hwc_window to the queue */
queue->user = hwc_window;
- e_object_ref(E_OBJECT(queue->user));
+ e_hwc_window_ref(queue->user);
tbm_surface_queue_add_dequeuable_cb(queue->tqueue,
_e_hwc_window_queue_cb_dequeueable,
(queue->user->ec ? queue->user->ec->icccm.title : "UNKNOWN"));
/* unset the hwc_window from the queue */
- e_object_unref(E_OBJECT(queue->user));
+ e_hwc_window_unref(queue->user);
queue->user = NULL;
/* set the queue_state_unset */
if (eina_list_count(rendered_windows))
{
EINA_LIST_FREE(rendered_windows, hwc_window)
- e_object_unref(E_OBJECT(hwc_window));
+ e_hwc_window_unref(hwc_window);
}
}
EINA_LIST_FREE(target_hwc_window->rendered_windows, hwc_window)
{
hwc_window->on_rendered_target = EINA_FALSE;
- e_object_unref(E_OBJECT(hwc_window));
+ e_hwc_window_unref(hwc_window);
}
}
if (eina_list_count(hwc->visible_windows))
{
EINA_LIST_FREE(hwc->visible_windows, hwc_window)
- e_object_unref(E_OBJECT(hwc_window));
+ e_hwc_window_unref(hwc_window);
}
/* store the current visible windows and the number of them */
{
/* assign zpos */
e_hwc_window_zpos_set(hwc_window, zpos++);
- e_object_ref(E_OBJECT(hwc_window));
+ e_hwc_window_ref(hwc_window);
}
return EINA_TRUE;
hwc_window->on_rendered_target = EINA_TRUE;
- e_object_ref(E_OBJECT(hwc_window));
+ e_hwc_window_ref(hwc_window);
EHWSTRACE(" add ehw:%p ts:%p to the render_list -- {%25s}.", ec, hwc, hwc_window,
hwc_window->buffer.tsurface, e_hwc_window_name_get(hwc_window));