summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDerek Foreman <derekf@osg.samsung.com>2017-04-10 14:44:33 -0500
committerChris Michael <cp.michael@samsung.com>2017-04-11 11:51:50 -0400
commitfdb277fd86a8e488cf1530f0236ebd4a6f254907 (patch)
tree23aa52f96c1e19d3aea56da721897e730775a434
parentd449f779f11ca52b87df3d796d00e9030d11578b (diff)
wayland_imf: Fix bug in shutdown
Theoretical bug that may become real in the coming days - ecore_imf's wayland module has the interface for the text input protocol. The imf module gets unloaded after destroying the protocol object but before receiving all events from the server destined for it. Currently that's fine, but I've posted some wayland patches for review that require the interface to remain present while the text input object is a zombie. These patches cause some EFL apps to crash on shutdown when they unmap the wayland imf module. This moves the wayland interface bits into ecore_wl2 which doesn't get unmapped.
-rw-r--r--src/Makefile_Ecore_IMF.am8
-rw-r--r--src/Makefile_Ecore_Wl2.am8
2 files changed, 6 insertions, 10 deletions
diff --git a/src/Makefile_Ecore_IMF.am b/src/Makefile_Ecore_IMF.am
index 8b9c9e97df..001927fe62 100644
--- a/src/Makefile_Ecore_IMF.am
+++ b/src/Makefile_Ecore_IMF.am
@@ -135,14 +135,6 @@ modules/ecore_imf/wayland/wayland_module.c \
135modules/ecore_imf/wayland/wayland_imcontext.c \ 135modules/ecore_imf/wayland/wayland_imcontext.c \
136modules/ecore_imf/wayland/wayland_imcontext.h 136modules/ecore_imf/wayland/wayland_imcontext.h
137 137
138nodist_modules_ecore_imf_wayland_module_la_SOURCES = \
139modules/ecore_imf/wayland/text-input-unstable-v1-client-protocol.h \
140modules/ecore_imf/wayland/text-input-unstable-v1-protocol.c
141
142BUILT_SOURCES += \
143modules/ecore_imf/wayland/text-input-unstable-v1-client-protocol.h \
144modules/ecore_imf/wayland/text-input-unstable-v1-protocol.c
145
146modules_ecore_imf_wayland_module_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \ 138modules_ecore_imf_wayland_module_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
147-I$(top_builddir)/src/modules/ecore_imf/wayland \ 139-I$(top_builddir)/src/modules/ecore_imf/wayland \
148@ECORE_IMF_CFLAGS@ \ 140@ECORE_IMF_CFLAGS@ \
diff --git a/src/Makefile_Ecore_Wl2.am b/src/Makefile_Ecore_Wl2.am
index bf05033622..69b4b6ccec 100644
--- a/src/Makefile_Ecore_Wl2.am
+++ b/src/Makefile_Ecore_Wl2.am
@@ -30,7 +30,9 @@ lib/ecore_wl2/www-protocol.c \
30lib/ecore_wl2/linux-dmabuf-unstable-v1-protocol.c \ 30lib/ecore_wl2/linux-dmabuf-unstable-v1-protocol.c \
31lib/ecore_wl2/linux-dmabuf-unstable-v1-client-protocol.h \ 31lib/ecore_wl2/linux-dmabuf-unstable-v1-client-protocol.h \
32lib/ecore_wl2/xdg-shell-unstable-v6-client-protocol.h \ 32lib/ecore_wl2/xdg-shell-unstable-v6-client-protocol.h \
33lib/ecore_wl2/xdg-shell-unstable-v6-protocol.c 33lib/ecore_wl2/xdg-shell-unstable-v6-protocol.c \
34lib/ecore_wl2/text-input-unstable-v1-client-protocol.h \
35lib/ecore_wl2/text-input-unstable-v1-protocol.c
34 36
35lib_ecore_wl2_libecore_wl2_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl @ECORE_WL2_CFLAGS@ 37lib_ecore_wl2_libecore_wl2_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl @ECORE_WL2_CFLAGS@
36lib_ecore_wl2_libecore_wl2_la_LIBADD = @ECORE_WL2_LIBS@ 38lib_ecore_wl2_libecore_wl2_la_LIBADD = @ECORE_WL2_LIBS@
@@ -49,6 +51,8 @@ BUILT_SOURCES += \
49 lib/ecore_wl2/linux-dmabuf-unstable-v1-protocol.c \ 51 lib/ecore_wl2/linux-dmabuf-unstable-v1-protocol.c \
50 lib/ecore_wl2/linux-dmabuf-unstable-v1-client-protocol.h \ 52 lib/ecore_wl2/linux-dmabuf-unstable-v1-client-protocol.h \
51 lib/ecore_wl2/session-recovery-protocol.c \ 53 lib/ecore_wl2/session-recovery-protocol.c \
52 lib/ecore_wl2/session-recovery-client-protocol.h 54 lib/ecore_wl2/session-recovery-client-protocol.h \
55 lib/ecore_wl2/text-input-unstable-v1-client-protocol.h \
56 lib/ecore_wl2/text-input-unstable-v1-protocol.c
53 57
54endif 58endif