hermet pushed a commit to branch master.

commit 78817cd64e3810f8c923ac4abc95e609ef7555d5
Author: ChunEon Park <[email protected]>
Date:   Sat Jun 22 15:21:00 2013 +0900

    ctxpopup - block mouse events when ctxpopup is on dismiss.
---
 ChangeLog                        |  4 ++++
 NEWS                             |  1 +
 data/themes/widgets/ctxpopup.edc | 19 ++++++++++++++++++-
 src/lib/elc_ctxpopup.c           |  3 +--
 4 files changed, 24 insertions(+), 3 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 0a52043..4ddbc67 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1443,3 +1443,7 @@
 
         * Move cursor when mouse moves with longpress.
         * Show magnifier when selection handlers are pressed or moved.
+
+2013-06-22 ChunEon Park (Hermet)
+
+        * Block mouse events when the ctxpopup on dismiss.
diff --git a/NEWS b/NEWS
index 5403dd1..79336ff 100644
--- a/NEWS
+++ b/NEWS
@@ -249,6 +249,7 @@ Fixes:
    * Keep the smart members of the naviframe views whenever resize object is 
changed. This prevents the dangling view objects of the naviframe and keep the 
layer consistency.
    * In case of scroll in scroll, the child scroller have to bounce if parents 
don't have a bounce.
    * Fix elm_scroller_page_show bug. It have to save the wanted values to show 
the wanted page.
+   * Block mouse events when the ctxpopup on dismiss.
 
 Removals:
 
diff --git a/data/themes/widgets/ctxpopup.edc b/data/themes/widgets/ctxpopup.edc
index e803410..34652a4 100644
--- a/data/themes/widgets/ctxpopup.edc
+++ b/data/themes/widgets/ctxpopup.edc
@@ -232,6 +232,17 @@ group { name: "elm/ctxpopup/base/default";
             rel2 { to:"base"; offset: -5 -5; }
          }
       }
+      part { name: "event_blocker";
+         type: RECT;
+         description { state: "default" 0.0;
+            color: 0 0 0 0;
+            visible: 1;
+         }
+         description { state: "visible" 0.0;
+            inherit: "default" 0.0;
+            visible: 0;
+         }
+      }
       part { name: "ctxpopup_clip";
          type: RECT;
          description { state: "default" 0.0;
@@ -291,8 +302,14 @@ group { name: "elm/ctxpopup/base/default";
          signal: "elm,state,show";
          source: "elm";
          action: STATE_SET "visible" 0.0;
-         transition: LINEAR 0.25;
          target: "ctxpopup_clip";
+         target: "event_blocker";
+      }
+      program { name: "hide";
+         signal: "elm,state,hide";
+         source: "elm";
+         action: STATE_SET "default" 0.0;
+         target: "event_blocker";
       }
       program { name: "show_up";
          signal: "elm,state,show,up";
diff --git a/src/lib/elc_ctxpopup.c b/src/lib/elc_ctxpopup.c
index c3e3e9a..0a6709a 100644
--- a/src/lib/elc_ctxpopup.c
+++ b/src/lib/elc_ctxpopup.c
@@ -259,7 +259,6 @@ _base_geometry_calc(Evas_Object *obj,
 
    if ((max_size.x > 0) && (base_size.x > max_size.x))
      base_size.x = max_size.x;
-
    //Limit to Min Size
    evas_object_size_hint_min_get(obj, &min_size.x, &min_size.y);
 
@@ -583,8 +582,8 @@ _hide_signals_emit(Evas_Object *obj,
       default:
         break;
      }
-
    edje_object_signal_emit(sd->bg, "elm,state,hide", "elm");
+   elm_layout_signal_emit(obj, "elm,state,hide", "elm");
 }
 
 static void

-- 

------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev

Reply via email to