summaryrefslogtreecommitdiff
path: root/src/lib/evas/include/evas_private.h
diff options
context:
space:
mode:
authorGuilherme Iscaro <iscaro@profusion.mobi>2016-12-05 14:26:25 -0200
committerBruno Dilly <bdilly@profusion.mobi>2016-12-13 03:28:31 -0200
commitb42a0ba5d2b6788417ef043e3e92d669212e6b75 (patch)
treed5d5ffef6960d4b5356edd26bf0c80710acdb588 /src/lib/evas/include/evas_private.h
parentf5a2602189e6d0e35cbfa47a30d1adb8f4984436 (diff)
Efl.Canvas.Object: Reduce memory used to store Evas_Object_Pointer_Data.
The hash implementation demonstrated that too much memory was being used to store the Evas_Object_Pointer_Data. In order to reduce the memory usage this patches now changes the Evas_Object_Pointer_Data storage to an Eina_Inlist and now Massif profiles shows that the memory usage was drastically reduced.
Diffstat (limited to 'src/lib/evas/include/evas_private.h')
-rw-r--r--src/lib/evas/include/evas_private.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/lib/evas/include/evas_private.h b/src/lib/evas/include/evas_private.h
index 77e393dd30..a983b28650 100644
--- a/src/lib/evas/include/evas_private.h
+++ b/src/lib/evas/include/evas_private.h
@@ -1093,7 +1093,8 @@ struct _Evas_Object_Protected_State
1093}; 1093};
1094 1094
1095struct _Evas_Object_Pointer_Data { 1095struct _Evas_Object_Pointer_Data {
1096 Evas_Object_Protected_Data *obj; 1096 EINA_INLIST;
1097
1097 Evas_Pointer_Data *evas_pdata; 1098 Evas_Pointer_Data *evas_pdata;
1098 Evas_Object_Pointer_Mode pointer_mode; 1099 Evas_Object_Pointer_Mode pointer_mode;
1099 int mouse_grabbed; 1100 int mouse_grabbed;
@@ -1146,7 +1147,7 @@ struct _Evas_Object_Protected_Data
1146 const Evas_Object_3D_Data *data_3d; 1147 const Evas_Object_3D_Data *data_3d;
1147 const Evas_Object_Mask_Data *mask; 1148 const Evas_Object_Mask_Data *mask;
1148 Eina_List *focused_by_seats; 1149 Eina_List *focused_by_seats;
1149 Eina_Hash *pointer_grabs; 1150 Eina_Inlist *pointer_grabs;
1150 1151
1151 // Pointer to the Evas_Object itself 1152 // Pointer to the Evas_Object itself
1152 Evas_Object *object; 1153 Evas_Object *object;