summaryrefslogtreecommitdiff
path: root/src/lib/evas
diff options
context:
space:
mode:
authorJean-Philippe Andre <jp.andre@samsung.com>2017-11-06 16:36:23 +0900
committerJean-Philippe Andre <jp.andre@samsung.com>2017-11-07 09:57:24 +0900
commit066f2c5cb75b940d8c972d7eeaa8e08287c65b20 (patch)
tree341b54575c7b41d7f76dcb8ec5a299819956e59e /src/lib/evas
parentf90b88422c63b1c527b7690fd586359556ed1401 (diff)
evas: Add some crash prevention checks
This could happen if objects still have references while evas is being shut down (a bad situation).
Diffstat (limited to 'src/lib/evas')
-rw-r--r--src/lib/evas/canvas/evas_object_main.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/lib/evas/canvas/evas_object_main.c b/src/lib/evas/canvas/evas_object_main.c
index 57f8dd7bc7..bb6eee1014 100644
--- a/src/lib/evas/canvas/evas_object_main.c
+++ b/src/lib/evas/canvas/evas_object_main.c
@@ -1607,6 +1607,7 @@ EAPI void
1607evas_object_size_hint_display_mode_set(Eo *eo_obj, Evas_Display_Mode dispmode) 1607evas_object_size_hint_display_mode_set(Eo *eo_obj, Evas_Display_Mode dispmode)
1608{ 1608{
1609 Evas_Object_Protected_Data *obj = EVAS_OBJECT_DATA_SAFE_GET(eo_obj); 1609 Evas_Object_Protected_Data *obj = EVAS_OBJECT_DATA_SAFE_GET(eo_obj);
1610
1610 EVAS_OBJECT_DATA_ALIVE_CHECK(obj); 1611 EVAS_OBJECT_DATA_ALIVE_CHECK(obj);
1611 evas_object_async_block(obj); 1612 evas_object_async_block(obj);
1612 if (EINA_UNLIKELY(!obj->size_hints)) 1613 if (EINA_UNLIKELY(!obj->size_hints))
@@ -1634,6 +1635,8 @@ _efl_canvas_object_efl_gfx_size_hint_hint_restricted_min_set(Eo *eo_obj, Evas_Ob
1634{ 1635{
1635 if (obj->delete_me) 1636 if (obj->delete_me)
1636 return; 1637 return;
1638
1639 EVAS_OBJECT_DATA_VALID_CHECK(obj);
1637 evas_object_async_block(obj); 1640 evas_object_async_block(obj);
1638 if (EINA_UNLIKELY(!obj->size_hints)) 1641 if (EINA_UNLIKELY(!obj->size_hints))
1639 { 1642 {
@@ -1674,6 +1677,7 @@ _efl_canvas_object_efl_gfx_size_hint_hint_max_set(Eo *eo_obj, Evas_Object_Protec
1674 if (obj->delete_me) 1677 if (obj->delete_me)
1675 return; 1678 return;
1676 1679
1680 EVAS_OBJECT_DATA_VALID_CHECK(obj);
1677 evas_object_async_block(obj); 1681 evas_object_async_block(obj);
1678 if (EINA_UNLIKELY(!obj->size_hints)) 1682 if (EINA_UNLIKELY(!obj->size_hints))
1679 { 1683 {
@@ -1737,6 +1741,7 @@ _efl_canvas_object_efl_gfx_size_hint_hint_min_set(Eo *eo_obj, Evas_Object_Protec
1737 if (obj->delete_me) 1741 if (obj->delete_me)
1738 return; 1742 return;
1739 1743
1744 EVAS_OBJECT_DATA_VALID_CHECK(obj);
1740 evas_object_async_block(obj); 1745 evas_object_async_block(obj);
1741 if (EINA_UNLIKELY(!obj->size_hints)) 1746 if (EINA_UNLIKELY(!obj->size_hints))
1742 { 1747 {
@@ -1772,6 +1777,7 @@ _efl_canvas_object_efl_gfx_size_hint_hint_aspect_set(Eo *eo_obj, Evas_Object_Pro
1772 if (obj->delete_me) 1777 if (obj->delete_me)
1773 return; 1778 return;
1774 1779
1780 EVAS_OBJECT_DATA_VALID_CHECK(obj);
1775 evas_object_async_block(obj); 1781 evas_object_async_block(obj);
1776 if (EINA_UNLIKELY(!obj->size_hints)) 1782 if (EINA_UNLIKELY(!obj->size_hints))
1777 { 1783 {
@@ -1805,6 +1811,8 @@ _efl_canvas_object_efl_gfx_size_hint_hint_align_set(Eo *eo_obj, Evas_Object_Prot
1805{ 1811{
1806 if (obj->delete_me) 1812 if (obj->delete_me)
1807 return; 1813 return;
1814
1815 EVAS_OBJECT_DATA_VALID_CHECK(obj);
1808 evas_object_async_block(obj); 1816 evas_object_async_block(obj);
1809 if (!obj->legacy.align_set) obj->legacy.align_set = 1; 1817 if (!obj->legacy.align_set) obj->legacy.align_set = 1;
1810 if (EINA_UNLIKELY(!obj->size_hints)) 1818 if (EINA_UNLIKELY(!obj->size_hints))
@@ -1839,6 +1847,8 @@ _efl_canvas_object_efl_gfx_size_hint_hint_weight_set(Eo *eo_obj, Evas_Object_Pro
1839{ 1847{
1840 if (obj->delete_me) 1848 if (obj->delete_me)
1841 return; 1849 return;
1850
1851 EVAS_OBJECT_DATA_VALID_CHECK(obj);
1842 evas_object_async_block(obj); 1852 evas_object_async_block(obj);
1843 if (!obj->legacy.weight_set) obj->legacy.weight_set = 1; 1853 if (!obj->legacy.weight_set) obj->legacy.weight_set = 1;
1844 if (EINA_UNLIKELY(!obj->size_hints)) 1854 if (EINA_UNLIKELY(!obj->size_hints))
@@ -1877,6 +1887,8 @@ _efl_canvas_object_efl_gfx_size_hint_hint_margin_set(Eo *eo_obj, Evas_Object_Pro
1877{ 1887{
1878 if (obj->delete_me) 1888 if (obj->delete_me)
1879 return; 1889 return;
1890
1891 EVAS_OBJECT_DATA_VALID_CHECK(obj);
1880 evas_object_async_block(obj); 1892 evas_object_async_block(obj);
1881 if (EINA_UNLIKELY(!obj->size_hints)) 1893 if (EINA_UNLIKELY(!obj->size_hints))
1882 { 1894 {