|
From: Enlightenment C. <no...@cv...> - 2007-05-27 21:24:00
|
Enlightenment CVS committal
Author : kwo
Project : e16
Module : e
Dir : e16/e/src
Modified Files:
ewin-ops.c
Log Message:
Avoid area switch when activating window that is mostly offscreen (noted by Mike Frysinger).
===================================================================
RCS file: /cvs/e/e16/e/src/ewin-ops.c,v
retrieving revision 1.117
retrieving revision 1.118
diff -u -3 -r1.117 -r1.118
--- ewin-ops.c 18 Mar 2007 19:57:01 -0000 1.117
+++ ewin-ops.c 27 May 2007 21:23:55 -0000 1.118
@@ -278,9 +278,18 @@
ewin->vx = dsk->current_area_x * EoGetW(dsk) + EoGetX(ewin);
ewin->vy = dsk->current_area_y * EoGetH(dsk) + EoGetY(ewin);
- ax = (ewin->vx + EoGetW(ewin) / 2) / EoGetW(dsk);
- ay = (ewin->vy + EoGetH(ewin) / 2) / EoGetH(dsk);
- DesksFixArea(&ax, &ay);
+ if (EwinIsOnScreen(ewin))
+ {
+ ax = dsk->current_area_x;
+ ay = dsk->current_area_y;
+ }
+ else
+ {
+ ax = (ewin->vx + EoGetW(ewin) / 2) / EoGetW(dsk);
+ ay = (ewin->vy + EoGetH(ewin) / 2) / EoGetH(dsk);
+ DesksFixArea(&ax, &ay);
+ }
+
if (ax != ewin->area_x || ay != ewin->area_y)
{
ewin->area_x = ax;
|