Compare commits
6 Commits
master
...
devs/disco
Author | SHA1 | Date |
---|---|---|
Mike Blumenkrantz | 6ee583047d | |
Mike Blumenkrantz | c058c96398 | |
Mike Blumenkrantz | d53bc7c29b | |
Mike Blumenkrantz | 0e48660e76 | |
Mike Blumenkrantz | 1435e12b16 | |
Mike Blumenkrantz | beca758d57 |
|
@ -283,7 +283,8 @@ static Eina_Bool
|
|||
_e_client_hook_call(E_Client_Hook_Point hookpoint, E_Client *ec)
|
||||
{
|
||||
E_Client_Hook *ch;
|
||||
|
||||
Eina_Bool ret;
|
||||
e_object_ref_debug_set(ec, 0);
|
||||
e_object_ref(E_OBJECT(ec));
|
||||
_e_client_hooks_walking++;
|
||||
EINA_INLIST_FOREACH(_e_client_hooks[hookpoint], ch)
|
||||
|
@ -300,7 +301,10 @@ _e_client_hook_call(E_Client_Hook_Point hookpoint, E_Client *ec)
|
|||
_e_client_hooks_walking--;
|
||||
if ((_e_client_hooks_walking == 0) && (_e_client_hooks_delete > 0))
|
||||
_e_client_hooks_clean();
|
||||
return !!e_object_unref(E_OBJECT(ec));
|
||||
ret = !!e_object_unref(E_OBJECT(ec));
|
||||
if (ret)
|
||||
e_object_ref_debug_set(ec, 1);
|
||||
return ret;
|
||||
}
|
||||
|
||||
///////////////////////////////////////////
|
||||
|
@ -309,7 +313,9 @@ static void
|
|||
_e_client_event_simple_free(void *d EINA_UNUSED, E_Event_Client *ev)
|
||||
{
|
||||
UNREFD(ev->ec, 3);
|
||||
e_object_unref(E_OBJECT(ev->ec));
|
||||
e_object_ref_debug_set(ev->ec, 0);
|
||||
if (e_object_unref(E_OBJECT(ev->ec)))
|
||||
e_object_ref_debug_set(ev->ec, 1);
|
||||
free(ev);
|
||||
}
|
||||
|
||||
|
@ -321,7 +327,9 @@ _e_client_event_simple(E_Client *ec, int type)
|
|||
ev = E_NEW(E_Event_Client, 1);
|
||||
ev->ec = ec;
|
||||
REFD(ec, 3);
|
||||
e_object_ref_debug_set(ec, 0);
|
||||
e_object_ref(E_OBJECT(ec));
|
||||
e_object_ref_debug_set(ec, 1);
|
||||
ecore_event_add(type, ev, (Ecore_End_Cb)_e_client_event_simple_free, NULL);
|
||||
}
|
||||
|
||||
|
@ -334,7 +342,9 @@ _e_client_event_property(E_Client *ec, int prop)
|
|||
ev->ec = ec;
|
||||
ev->property = prop;
|
||||
REFD(ec, 33);
|
||||
e_object_ref_debug_set(ec, 0);
|
||||
e_object_ref(E_OBJECT(ec));
|
||||
e_object_ref_debug_set(ec, 1);
|
||||
ecore_event_add(E_EVENT_CLIENT_PROPERTY, ev, (Ecore_End_Cb)_e_client_event_simple_free, NULL);
|
||||
}
|
||||
|
||||
|
@ -342,7 +352,9 @@ static void
|
|||
_e_client_event_desk_set_free(void *d EINA_UNUSED, E_Event_Client_Desk_Set *ev)
|
||||
{
|
||||
UNREFD(ev->ec, 4);
|
||||
e_object_unref(E_OBJECT(ev->ec));
|
||||
e_object_ref_debug_set(ev->ec, 0);
|
||||
if (e_object_unref(E_OBJECT(ev->ec)))
|
||||
e_object_ref_debug_set(ev->ec, 1);
|
||||
e_object_unref(E_OBJECT(ev->desk));
|
||||
free(ev);
|
||||
}
|
||||
|
@ -351,7 +363,10 @@ static void
|
|||
_e_client_event_zone_set_free(void *d EINA_UNUSED, E_Event_Client_Zone_Set *ev)
|
||||
{
|
||||
UNREFD(ev->ec, 5);
|
||||
e_object_unref(E_OBJECT(ev->ec));
|
||||
|
||||
e_object_ref_debug_set(ev->ec, 0);
|
||||
if (e_object_unref(E_OBJECT(ev->ec)))
|
||||
e_object_ref_debug_set(ev->ec, 1);
|
||||
e_object_unref(E_OBJECT(ev->zone));
|
||||
free(ev);
|
||||
}
|
||||
|
@ -2583,6 +2598,8 @@ e_client_new(E_Pixmap *cp, int first_map, int internal)
|
|||
if (!ec) return NULL;
|
||||
e_object_del_func_set(E_OBJECT(ec), E_OBJECT_CLEANUP_FUNC(_e_client_del));
|
||||
|
||||
e_object_ref_debug_set(ec, 1);
|
||||
|
||||
ec->focus_policy_override = E_FOCUS_LAST;
|
||||
ec->w = 1;
|
||||
ec->h = 1;
|
||||
|
@ -2812,7 +2829,9 @@ e_client_desk_set(E_Client *ec, E_Desk *desk)
|
|||
ev = E_NEW(E_Event_Client_Desk_Set, 1);
|
||||
ev->ec = ec;
|
||||
UNREFD(ec, 4);
|
||||
e_object_ref_debug_set(ec, 0);
|
||||
e_object_ref(E_OBJECT(ec));
|
||||
e_object_ref_debug_set(ec, 1);
|
||||
ev->desk = old_desk;
|
||||
e_object_ref(E_OBJECT(old_desk));
|
||||
ecore_event_add(E_EVENT_CLIENT_DESK_SET, ev, (Ecore_End_Cb)_e_client_event_desk_set_free, NULL);
|
||||
|
@ -3316,7 +3335,9 @@ e_client_zone_set(E_Client *ec, E_Zone *zone)
|
|||
ev = E_NEW(E_Event_Client_Zone_Set, 1);
|
||||
ev->ec = ec;
|
||||
REFD(ec, 5);
|
||||
e_object_ref_debug_set(ec, 0);
|
||||
e_object_ref(E_OBJECT(ec));
|
||||
e_object_ref_debug_set(ec, 1);
|
||||
ev->zone = zone;
|
||||
e_object_ref(E_OBJECT(zone));
|
||||
|
||||
|
@ -4324,7 +4345,11 @@ e_client_fullscreen(E_Client *ec, E_Fullscreen policy)
|
|||
|
||||
if (ec->maximized)
|
||||
{
|
||||
Eina_Bool maximize_anims_disabled = ec->maximize_anims_disabled;
|
||||
|
||||
ec->maximize_anims_disabled = 1;
|
||||
e_client_unmaximize(ec, E_MAXIMIZE_BOTH);
|
||||
ec->maximize_anims_disabled = maximize_anims_disabled;
|
||||
ec->saved.x = x;
|
||||
ec->saved.y = y;
|
||||
ec->saved.w = w;
|
||||
|
|
|
@ -432,7 +432,7 @@ e_client_volume_object_add(E_Client *ec, Evas *evas)
|
|||
if (edje_object_part_exists(bx, "e.swallow.volume"))
|
||||
{
|
||||
o = edje_object_add(evas);
|
||||
o = elm_slider_add(bx);
|
||||
o = elm_slider_add(e_comp->elm);
|
||||
elm_slider_min_max_set(o, ec->volume_min,
|
||||
ec->volume_max);
|
||||
elm_slider_span_size_set(o, ec->volume_max
|
||||
|
|
|
@ -240,6 +240,10 @@ _e_comp_wl_evas_cb_mouse_in(void *data, Evas *e EINA_UNUSED, Evas_Object *obj, v
|
|||
static void
|
||||
_e_comp_wl_cb_ssd_mouse_in(void *data, Evas_Object *obj EINA_UNUSED, void *event_info)
|
||||
{
|
||||
E_Client *ec = data;
|
||||
|
||||
if (!e_object_is_del(data))
|
||||
ec->comp_data->ssd_mouse_in = 1;
|
||||
_e_comp_wl_mouse_in(data, event_info);
|
||||
}
|
||||
|
||||
|
@ -289,6 +293,10 @@ _e_comp_wl_evas_cb_mouse_out(void *data, Evas *e EINA_UNUSED, Evas_Object *obj E
|
|||
static void
|
||||
_e_comp_wl_cb_ssd_mouse_out(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
||||
{
|
||||
E_Client *ec = data;
|
||||
|
||||
if (!e_object_is_del(data))
|
||||
ec->comp_data->ssd_mouse_in = 0;
|
||||
_e_comp_wl_mouse_out(data);
|
||||
}
|
||||
|
||||
|
|
|
@ -358,6 +358,7 @@ struct _E_Comp_Wl_Client_Data
|
|||
Eina_Bool buffer_commit : 1;
|
||||
Eina_Bool need_xdg6_configure : 1;
|
||||
Eina_Bool maximize_anims_disabled : 1;
|
||||
Eina_Bool ssd_mouse_in : 1;
|
||||
};
|
||||
|
||||
struct _E_Comp_Wl_Output
|
||||
|
|
|
@ -76,8 +76,14 @@ _e_comp_wl_input_pointer_cb_cursor_set(struct wl_client *client, struct wl_resou
|
|||
}
|
||||
if (!surface_resource)
|
||||
{
|
||||
ecore_evas_cursor_unset(e_comp->ee);
|
||||
evas_object_hide(e_comp->pointer->o_ptr);
|
||||
if (e_comp_object_frame_exists(ec->frame) &&
|
||||
ec->mouse.in && (!ec->comp_data->ssd_mouse_in))
|
||||
e_pointer_object_set(e_comp->pointer, NULL, 0, 0);
|
||||
else
|
||||
{
|
||||
ecore_evas_cursor_unset(e_comp->ee);
|
||||
evas_object_hide(e_comp->pointer->o_ptr);
|
||||
}
|
||||
return;
|
||||
}
|
||||
ec = wl_resource_get_user_data(surface_resource);
|
||||
|
|
|
@ -11,6 +11,8 @@ static void _e_object_segv(int sig);
|
|||
static sigjmp_buf _e_object_segv_buf;
|
||||
#endif
|
||||
|
||||
E_API void e_bt(void);
|
||||
|
||||
/* externally accessible functions */
|
||||
E_API void *
|
||||
e_object_alloc(int size, int type, E_Object_Cleanup_Func cleanup_func)
|
||||
|
@ -125,7 +127,10 @@ e_object_ref(E_Object *obj)
|
|||
E_OBJECT_CHECK_RETURN(obj, -1);
|
||||
obj->references++;
|
||||
if (obj->ref_debug)
|
||||
INF("[%p] REF (REF: %d)", obj, obj->references);
|
||||
{
|
||||
INF("[%p] REF (REF: %d)", obj, obj->references);
|
||||
e_bt();
|
||||
}
|
||||
return obj->references;
|
||||
}
|
||||
|
||||
|
@ -140,6 +145,7 @@ e_object_unref(E_Object *obj)
|
|||
ref = obj->references;
|
||||
if (obj->ref_debug)
|
||||
{
|
||||
e_bt();
|
||||
if ((ref > 1) && (ref < 1000))
|
||||
INF("[%p] UNREF (REF: %d)", obj, ref);
|
||||
else if (ref == 1)
|
||||
|
@ -160,7 +166,6 @@ e_object_ref_get(E_Object *obj)
|
|||
return obj->references;
|
||||
}
|
||||
|
||||
#if 0
|
||||
E_API void
|
||||
e_bt(void)
|
||||
{
|
||||
|
@ -173,18 +178,12 @@ e_bt(void)
|
|||
{
|
||||
for (i = 1; i < trace_num; i++)
|
||||
{
|
||||
int j;
|
||||
|
||||
for (j = 1; j < i; j++)
|
||||
putchar(' ');
|
||||
printf("%s\n", messages[i]);
|
||||
fprintf(stderr, "%s\n", messages[i]);
|
||||
}
|
||||
free(messages);
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
E_API int
|
||||
e_object_error(E_Object *obj)
|
||||
{
|
||||
|
|
|
@ -706,7 +706,9 @@ _e_remember_event_free(void *d EINA_UNUSED, void *event)
|
|||
{
|
||||
E_Event_Remember_Update *ev = event;
|
||||
UNREFD(ev->ec, 10);
|
||||
e_object_ref_debug_set(ev->ec, 0);
|
||||
e_object_unref(E_OBJECT(ev->ec));
|
||||
e_object_ref_debug_set(ev->ec, 1);
|
||||
free(ev);
|
||||
}
|
||||
|
||||
|
@ -827,7 +829,9 @@ _e_remember_update(E_Client *ec, E_Remember *rem)
|
|||
if (!ev) return;
|
||||
ev->ec = ec;
|
||||
REFD(ec, 10);
|
||||
e_object_ref_debug_set(ec, 0);
|
||||
e_object_ref(E_OBJECT(ec));
|
||||
e_object_ref_debug_set(ec, 1);
|
||||
ecore_event_add(E_EVENT_REMEMBER_UPDATE, ev, _e_remember_event_free, NULL);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue