diff options
author | Chris Michael <cpmichael@osg.samsung.com> | 2016-01-21 11:28:31 -0500 |
---|---|---|
committer | Chris Michael <cpmichael@osg.samsung.com> | 2016-01-21 11:44:19 -0500 |
commit | 868ea0fb767a706a7b3016def4da592d38aed3e4 (patch) | |
tree | 3380184b77f009177572e00bee2cf42f61c5ff3d | |
parent | 0973acbd609e739e9c7dffee870b85b77c6f405d (diff) | |
download | enlightenment-devs/devilhorns/drm_rotation.tar.gz |
check siginfo si_code to verify that SIGUSR2 comes from userdevs/devilhorns/drm_rotation
When VT switching away and back, the kernel uses SIGUSR1 and SIGUSR2
to notify us of a vt switch event. That same signal was being trapped
here to toggle display of the 'fps' window. If we check the signal's
si_code, we can tell if this signal came from the kernel (as in vt
switch) or from the user (as is sent in 'kill'). This fixes the issue
of VT-switching back and forth under DRM would cause the compositor
'fps' display to appear.
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
-rw-r--r-- | src/bin/e_comp.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/bin/e_comp.c b/src/bin/e_comp.c index 9facdd0570..4bce85d22b 100644 --- a/src/bin/e_comp.c +++ b/src/bin/e_comp.c @@ -817,6 +817,12 @@ _e_comp_key_down(void *data EINA_UNUSED, int type EINA_UNUSED, Ecore_Event_Key * static Eina_Bool _e_comp_signal_user(void *data EINA_UNUSED, int type EINA_UNUSED, Ecore_Event_Signal_User *ev) { + siginfo_t sig; + + sig = ev->data; + /* anything sent via 'kill' will set this code to SI_USER */ + if (sig.si_code != SI_USER) return ECORE_CALLBACK_PASS_ON; + if (ev->number == 1) { // e uses this to pop up config panel |