[ILLUME] Do not rotate dependent rotation windows if the notification window with... 61/9761/2
authorGwanglim Lee <gl77.lee@samsung.com>
Wed, 5 Jun 2013 08:38:08 +0000 (17:38 +0900)
committerMun, Gwan-gyeong <kk.moon@samsung.com>
Wed, 5 Jun 2013 08:54:17 +0000 (17:54 +0900)
Change-Id: Ibcb69635254fc64fca912700dbc077d5bd62f70b

illume2-tizen/src/policies/illume/policy.c

index 4845fbf..eb21304 100644 (file)
@@ -6331,8 +6331,36 @@ _policy_property_active_indicator_win_change(Ecore_X_Event_Window_Property *even
              ELB(ELBT_ROT, "ERR! NO BD ACTIVE_INDI_WIN", active_win);
              return;
           }
-        dep_rot.refer.active_win = active_win;
-        _policy_border_dependent_rotation(bd);
+
+        /* The normal application window is ok to rotate dependent rotation windows.
+         * But if the notification window which doesn't have accepts_focus such as volume popup
+         * is the active window, then the illume doesn't rotate dependent windows.
+         */
+        Eina_Bool rot = EINA_FALSE;
+        if (e_illume_border_is_notification(bd))
+          {
+            if ((bd->client.icccm.accepts_focus) || (bd->client.icccm.take_focus))
+              {
+                 rot = EINA_TRUE;
+              }
+          }
+        else
+          {
+             rot = EINA_TRUE;
+          }
+
+        ELBF(ELBT_ROT, 0, bd->client.win,
+             "ROT:%d NOTI:%d ACCEPT_FOCUS:%d TAKE_FOCUS:%d",
+             rot,
+             e_illume_border_is_notification(bd),
+             bd->client.icccm.accepts_focus,
+             bd->client.icccm.take_focus);
+
+        if (rot)
+          {
+             dep_rot.refer.active_win = active_win;
+             _policy_border_dependent_rotation(bd);
+          }
      }
 }