summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDerek Foreman <derekf@osg.samsung.com>2017-04-10 14:44:33 -0500
committerDerek Foreman <derekf@osg.samsung.com>2017-04-10 14:49:57 -0500
commitfb01a697dd099f17a6a30c74781b6cfeb72bc512 (patch)
treecf757f1b983897243d0d1fb85311d8adf89c1ed4
parentfd69113f6a9e2735a3e1ad2d0830982c722f453e (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 8b9c9e9..001927f 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 bf05033..69b4b6c 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