discomfitor pushed a commit to branch enlightenment-0.20.


commit 18d59156cc9dd4d8b469190e0162e533bdfb44c5
Author: Chris Michael <cpmich...@osg.samsung.com>
Date:   Thu Jan 21 11:28:31 2016 -0500

    check siginfo si_code to verify that SIGUSR2 comes from user
    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 <cpmich...@osg.samsung.com>
 src/bin/e_comp.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/bin/e_comp.c b/src/bin/e_comp.c
index 9facdd0..4bce85d 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


Reply via email to