fix isf throttle problem
authorJiyoun Park <jy0703.park@samsung.com>
Fri, 26 Jul 2013 02:32:12 +0000 (11:32 +0900)
committerSungho Kwak <sungho1.kwak@samsung.com>
Mon, 29 Jul 2013 04:59:00 +0000 (13:59 +0900)
support app enabel/disable throttle mode

Change-Id: Ie9941b02189ae74ad6a3894e2f83ed0b6b6a0253

src/lib/elm_general.h
src/lib/elm_win.c

index 7b89a7b..5117950 100644 (file)
@@ -80,6 +80,9 @@ typedef enum
    ELM_POLICY_EXIT, /**< defines elm_exit() behaviour. @see Elm_Policy_Exit.
                      * @since 1.8
                      */
+   ELM_POLICY_THROTTLE, /**< defines how throttling should work @see Elm_Policy_Throttle
+                         * @since 1.8
+                         */
    ELM_POLICY_LAST
 } Elm_Policy; /**< Elementary policy identifiers/groups enumeration.  @see elm_policy_set() */
 
@@ -106,6 +109,17 @@ typedef enum
                                 * the main loop */
 } Elm_Policy_Exit;
 
+/**
+ * Possible values for the #ELM_POLICY_THROTTLE policy.
+ * @since 1.8
+ */
+typedef enum
+{
+   ELM_POLICY_THROTTLE_CONFIG = 0, /**< do whatever elementary config is configured to do */
+   ELM_POLICY_THROTTLE_HIDDEN_ALWAYS, /**< always throttle when all windows are no longer visible */
+   ELM_POLICY_THROTTLE_NEVER /**< never throttle when windows are all hidden, regardless of config settings */
+} Elm_Policy_Throttle;
+
 typedef enum
 {
    ELM_OBJECT_SELECT_MODE_DEFAULT = 0, /**< default select mode */
index 34eb9f6..ae9bc2b 100644 (file)
@@ -314,7 +314,9 @@ _elm_win_state_eval(void *data __UNUSED__)
                }
           }
      }
-   if (_elm_config->auto_throttle)
+   if (((_elm_config->auto_throttle) &&
+        (elm_policy_get(ELM_POLICY_THROTTLE) != ELM_POLICY_THROTTLE_NEVER)) ||
+        (elm_policy_get(ELM_POLICY_THROTTLE) == ELM_POLICY_THROTTLE_HIDDEN_ALWAYS))
      {
         if (_elm_win_count == 0)
           {