forked from enlightenment/enlightenment
e comp - dont send messages uselessly with same values to theme
when border changes send then but not all the time. this drops some mebryo overhead i was seening.
This commit is contained in:
parent
f76627a6be
commit
78c26e5f8d
|
@ -61,14 +61,16 @@ typedef struct _E_Comp_Object
|
||||||
E_Client *ec;
|
E_Client *ec;
|
||||||
|
|
||||||
E_Comp_Object_Frame client_inset;
|
E_Comp_Object_Frame client_inset;
|
||||||
struct
|
struct {
|
||||||
{
|
|
||||||
double start;
|
double start;
|
||||||
double val;
|
double val;
|
||||||
int x, y;
|
int x, y;
|
||||||
E_Direction dir;
|
E_Direction dir;
|
||||||
Ecore_Animator *anim;
|
Ecore_Animator *anim;
|
||||||
} shade;
|
} shade;
|
||||||
|
struct {
|
||||||
|
int bx, by, bxx, byy;
|
||||||
|
} border;
|
||||||
|
|
||||||
Eina_Stringshare *frame_theme;
|
Eina_Stringshare *frame_theme;
|
||||||
Eina_Stringshare *frame_name;
|
Eina_Stringshare *frame_name;
|
||||||
|
@ -4141,11 +4143,17 @@ e_comp_object_dirty(Evas_Object *obj)
|
||||||
bxx = -cw->client_inset.r, byy = -cw->client_inset.b;
|
bxx = -cw->client_inset.r, byy = -cw->client_inset.b;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if ((cw->border.bx != bx) || (cw->border.by != by) ||
|
||||||
|
(cw->border.bxx != bxx) || (cw->border.byy != byy))
|
||||||
{
|
{
|
||||||
Edje_Message_Int_Set *msg;
|
Edje_Message_Int_Set *msg;
|
||||||
Edje_Message_Int msg2;
|
Edje_Message_Int msg2;
|
||||||
Eina_Bool id = (bx || by || bxx || byy);
|
Eina_Bool id = (bx || by || bxx || byy);
|
||||||
|
|
||||||
|
cw->border.bx = bx;
|
||||||
|
cw->border.by = by;
|
||||||
|
cw->border.bxx = bxx;
|
||||||
|
cw->border.byy = byy;
|
||||||
msg = alloca(sizeof(Edje_Message_Int_Set) + (sizeof(int) * 3));
|
msg = alloca(sizeof(Edje_Message_Int_Set) + (sizeof(int) * 3));
|
||||||
msg->count = 4;
|
msg->count = 4;
|
||||||
msg->val[0] = bx;
|
msg->val[0] = bx;
|
||||||
|
|
Loading…
Reference in New Issue