diff options
author | Jean-Philippe Andre <jp.andre@samsung.com> | 2017-09-26 18:11:38 +0900 |
---|---|---|
committer | Jean-Philippe Andre <jp.andre@samsung.com> | 2017-09-26 18:11:38 +0900 |
commit | e1df334caf5dfe1a01693319ce0f6e8facefc427 (patch) | |
tree | 12114a4406d335f6548c00369c1dd8dc16fe9205 | |
parent | ba12712e0db84f8844f79f48a56c8b79b62df2ac (diff) |
Revert "Fix infinite recursion for legacy + efl ui win events"
This reverts commit d567faa7787afb3d478f1c857cb28ab4fa0e5fc3.
This is not trying to fix the root cause for the infinite loop.
-rw-r--r-- | src/lib/elementary/efl_ui_win.c | 22 |
1 files changed, 7 insertions, 15 deletions
diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c index 604173dec8..41173e3994 100644 --- a/src/lib/elementary/efl_ui_win.c +++ b/src/lib/elementary/efl_ui_win.c | |||
@@ -1854,14 +1854,6 @@ EFL_CALLBACKS_ARRAY_DEFINE(_elm_win_evas_feed_fake_callbacks, | |||
1854 | { EFL_EVENT_KEY_DOWN, _evas_event_key_feed_fake_cb }, | 1854 | { EFL_EVENT_KEY_DOWN, _evas_event_key_feed_fake_cb }, |
1855 | { EFL_EVENT_KEY_UP, _evas_event_key_feed_fake_cb }) | 1855 | { EFL_EVENT_KEY_UP, _evas_event_key_feed_fake_cb }) |
1856 | 1856 | ||
1857 | #define RECURSE_PROTECT(x) \ | ||
1858 | do { static int calling = 0; \ | ||
1859 | if (calling) return; \ | ||
1860 | calling++; \ | ||
1861 | x; \ | ||
1862 | calling--; \ | ||
1863 | } while (0) | ||
1864 | |||
1865 | static void | 1857 | static void |
1866 | _elm_win_evas_render_post(void *data, | 1858 | _elm_win_evas_render_post(void *data, |
1867 | Evas *e EINA_UNUSED, | 1859 | Evas *e EINA_UNUSED, |
@@ -1870,7 +1862,7 @@ _elm_win_evas_render_post(void *data, | |||
1870 | Efl_Gfx_Event_Render_Post *ev = event_info; | 1862 | Efl_Gfx_Event_Render_Post *ev = event_info; |
1871 | Eo *win = data; | 1863 | Eo *win = data; |
1872 | 1864 | ||
1873 | RECURSE_PROTECT(efl_event_callback_legacy_call(win, EFL_CANVAS_EVENT_RENDER_POST, ev)); | 1865 | efl_event_callback_legacy_call(win, EFL_CANVAS_EVENT_RENDER_POST, ev); |
1874 | } | 1866 | } |
1875 | 1867 | ||
1876 | static void | 1868 | static void |
@@ -1881,7 +1873,7 @@ _elm_win_evas_render_pre(void *data, | |||
1881 | Eo *win = data; | 1873 | Eo *win = data; |
1882 | 1874 | ||
1883 | _elm_win_throttle_ok = EINA_TRUE; | 1875 | _elm_win_throttle_ok = EINA_TRUE; |
1884 | RECURSE_PROTECT(efl_event_callback_legacy_call(win, EFL_CANVAS_EVENT_RENDER_PRE, NULL)); | 1876 | efl_event_callback_legacy_call(win, EFL_CANVAS_EVENT_RENDER_PRE, NULL); |
1885 | } | 1877 | } |
1886 | 1878 | ||
1887 | static void | 1879 | static void |
@@ -1892,7 +1884,7 @@ _elm_win_evas_focus_in(void *data, | |||
1892 | Eo *win = data; | 1884 | Eo *win = data; |
1893 | 1885 | ||
1894 | _elm_win_throttle_ok = EINA_TRUE; | 1886 | _elm_win_throttle_ok = EINA_TRUE; |
1895 | RECURSE_PROTECT(efl_event_callback_legacy_call(win, EFL_CANVAS_EVENT_FOCUS_IN, NULL)); | 1887 | efl_event_callback_legacy_call(win, EFL_CANVAS_EVENT_FOCUS_IN, NULL); |
1896 | } | 1888 | } |
1897 | 1889 | ||
1898 | static void | 1890 | static void |
@@ -1902,7 +1894,7 @@ _elm_win_evas_focus_out(void *data, | |||
1902 | { | 1894 | { |
1903 | Eo *win = data; | 1895 | Eo *win = data; |
1904 | 1896 | ||
1905 | RECURSE_PROTECT(efl_event_callback_legacy_call(win, EFL_CANVAS_EVENT_FOCUS_OUT, NULL)); | 1897 | efl_event_callback_legacy_call(win, EFL_CANVAS_EVENT_FOCUS_OUT, NULL); |
1906 | } | 1898 | } |
1907 | 1899 | ||
1908 | static void | 1900 | static void |
@@ -1914,7 +1906,7 @@ _elm_win_evas_object_focus_in(void *data, | |||
1914 | Eo *win = data; | 1906 | Eo *win = data; |
1915 | 1907 | ||
1916 | _elm_win_throttle_ok = EINA_TRUE; | 1908 | _elm_win_throttle_ok = EINA_TRUE; |
1917 | RECURSE_PROTECT(efl_event_callback_legacy_call(win, EFL_CANVAS_EVENT_OBJECT_FOCUS_IN, object)); | 1909 | efl_event_callback_legacy_call(win, EFL_CANVAS_EVENT_OBJECT_FOCUS_IN, object); |
1918 | } | 1910 | } |
1919 | 1911 | ||
1920 | static void | 1912 | static void |
@@ -1925,7 +1917,7 @@ _elm_win_evas_object_focus_out(void *data, | |||
1925 | Eo *object = event_info; | 1917 | Eo *object = event_info; |
1926 | Eo *win = data; | 1918 | Eo *win = data; |
1927 | 1919 | ||
1928 | RECURSE_PROTECT(efl_event_callback_legacy_call(win, EFL_CANVAS_EVENT_OBJECT_FOCUS_OUT, object)); | 1920 | efl_event_callback_legacy_call(win, EFL_CANVAS_EVENT_OBJECT_FOCUS_OUT, object); |
1929 | } | 1921 | } |
1930 | 1922 | ||
1931 | static void | 1923 | static void |
@@ -1936,7 +1928,7 @@ _elm_win_evas_device_changed(void *data, | |||
1936 | Eo *device = event_info; | 1928 | Eo *device = event_info; |
1937 | Eo *win = data; | 1929 | Eo *win = data; |
1938 | 1930 | ||
1939 | RECURSE_PROTECT(efl_event_callback_legacy_call(win, EFL_CANVAS_EVENT_DEVICE_CHANGED, device)); | 1931 | efl_event_callback_legacy_call(win, EFL_CANVAS_EVENT_DEVICE_CHANGED, device); |
1940 | } | 1932 | } |
1941 | 1933 | ||
1942 | static void | 1934 | static void |