Enlightenment CVS committal

Author  : kwo
Project : e16
Module  : e

Dir     : e16/e/src


Modified Files:
        pager.c 


Log Message:
Fix bug when dragging window through edge flip. Minor pager scan speedup
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/pager.c,v
retrieving revision 1.164
retrieving revision 1.165
diff -u -3 -r1.164 -r1.165
--- pager.c     24 Jul 2005 18:29:50 -0000      1.164
+++ pager.c     29 Jul 2005 18:52:32 -0000      1.165
@@ -129,7 +129,6 @@
 {
    Imlib_Image        *im;
    Pixmap              pmap, mask;
-   GC                  gc;
 
    scale = (scale) ? 2 : 1;
 
@@ -138,17 +137,15 @@
                                                scale * dw, scale * dh, 0, 0);
    imlib_context_set_image(im);
    imlib_context_set_anti_alias(1);
-   imlib_render_pixmaps_for_whole_image_at_size(&pmap, &mask, dw, dh);
+   imlib_context_set_drawable(dst);
    if (pdst)
      {
+       imlib_render_pixmaps_for_whole_image_at_size(&pmap, &mask, dw, dh);
        *pdst = pmap;
      }
    else
      {
-       gc = ECreateGC(dst, 0, NULL);
-       XCopyArea(disp, pmap, dst, gc, 0, 0, dw, dh, dx, dy);
-       EFreeGC(gc);
-       imlib_free_pixmap_and_mask(pmap);
+       imlib_render_image_on_drawable_at_size(dx, dy, dw, dh);
      }
    imlib_free_image();
 }
@@ -1023,10 +1020,12 @@
    if (phi)
      {
        if (EoIsShown(phi))
-          EoUnmap(phi);
+         {
+            GrabPointerRelease();
+            EoUnmap(phi);
+         }
        phi->ewin = NULL;
        phi->p = NULL;
-       Mode.mode = MODE_NONE;
        if (Mode_pagers.zoom_old <= 2)
           Mode_pagers.zoom_old = 0;
      }
@@ -1060,8 +1059,6 @@
    GrabPointerSet(EoGetWin(phi), ECSR_ACT_MOVE, !Mode.wm.window);
    phi->ewin = ewin;
    phi->p = p;
-   Mode.mode = MODE_PAGER_DRAG_PENDING;
-   PagerEwinGroupSet();
 }
 
 typedef struct
@@ -1658,6 +1655,8 @@
        if ((ewin) && (ewin->type != EWIN_TYPE_PAGER))
          {
             PagerHiwinShow(p, ewin);
+            Mode.mode = MODE_PAGER_DRAG_PENDING;
+            PagerEwinGroupSet();
          }
      }
 }
@@ -1710,8 +1709,6 @@
           p->desktop, px, py);
 #endif
 
-   GrabPointerRelease();
-
    if (Mode.mode != MODE_PAGER_DRAG)
      {
        if (Mode.mode == MODE_PAGER_DRAG_PENDING)




-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to