xserver: Branch 'orib-soc-2006'

Ori Bernstein orib at kemper.freedesktop.org
Sat Jul 1 06:25:18 EEST 2006


 hw/xnest/Display.c |    4 ++--
 hw/xnest/Events.c  |   32 +++++++-------------------------
 hw/xnest/GCOps.c   |    2 ++
 hw/xnest/Window.c  |    2 +-
 4 files changed, 12 insertions(+), 28 deletions(-)

New commits:
diff-tree 912b65e4b818dadb09dc4ee1738066216c4b2e0b (from 130d2c58308b1ccc8dd600887379dba96ab938b0)
Author: Ori Bernstein <rand.chars at gmail.com>
Date:   Fri Jun 30 23:26:56 2006 -0500

    Fixed a few crashes and other bugs

diff --git a/hw/xnest/Display.c b/hw/xnest/Display.c
index e544b9b..a7ded9b 100644
--- a/hw/xnest/Display.c
+++ b/hw/xnest/Display.c
@@ -210,10 +210,10 @@ void xnestOpenDisplay(int argc, char *ar
 
     if (xnestParentWindow.xid  == 0) {
         if (!(xnestUserGeometry & WidthValue))
-            xnestWidth = 3 * screen->width_in_pixels / 4;
+            xnestWidth = screen->width_in_pixels;
 
         if (!(xnestUserGeometry & HeightValue))
-            xnestHeight = 3 * screen->height_in_pixels / 4;
+            xnestHeight = screen->height_in_pixels;
     }
 
     if (!xnestUserBorderWidth)
diff --git a/hw/xnest/Events.c b/hw/xnest/Events.c
index 2e0bd3b..89e3f0e 100644
--- a/hw/xnest/Events.c
+++ b/hw/xnest/Events.c
@@ -96,7 +96,7 @@ void xnestHandleEvent(XCBGenericEvent *e
     WindowPtr pSib;
     RegionRec Rgn;
     BoxRec Box;
-
+    lastEventTime = GetTimeInMillis();
 
     switch (e->response_type & ~0x80) {
         case XCBKeyPress:
@@ -219,15 +219,16 @@ void xnestHandleEvent(XCBGenericEvent *e
             rev = (XCBResizeRequestEvent *)e;
             pWin = xnestWindowPtr(rev->window);     
             rev->window = xnestWindow(xnestWindowPtr(rev->window));
-            memcpy(&ev, cev, sizeof(XCBGenericEvent));            
+            memcpy(&ev, rev, sizeof(XCBGenericEvent));            
             if (pWin) {
                 DeliverEvents(pWin, &ev, 1, NULL);
+                //miSlideAndSizeWindow(pWin, pWin->drawable.x, pWin->drawable.y, rev->width, rev->height, NULL);
             } 
             break;
 
         case XCBConfigureNotify:
             cev = (XCBConfigureNotifyEvent *)e;
-            pWin = xnestWindowPtr(cev->event);
+            pWin = xnestWindowPtr(cev->window);
             cev->event = xnestWindow(xnestWindowPtr(cev->event));
             cev->window = xnestWindow(xnestWindowPtr(cev->window));
             pSib = xnestWindowPtr(cev->above_sibling);
@@ -236,13 +237,13 @@ void xnestHandleEvent(XCBGenericEvent *e
             memcpy(&ev, cev, sizeof(XCBGenericEvent));
             if (pWin) {
                 DeliverEvents(pWin, &ev, 1, NULL);
+                //miSlideAndSizeWindow(pWin, cev->x, cev->y, cev->width, cev->height, pSib);
             }
             break;
             /*
             pWin = xnestWindowPtr(cev->event);
             pSib = xnestWindowPtr(cev->above_sibling);
             if (pWin)
-                miSlideAndSizeWindow(pWin, cev->x, cev->y, cev->width, cev->height, pSib);
             break;
             */
         case XCBNoExposure:
@@ -253,7 +254,7 @@ void xnestHandleEvent(XCBGenericEvent *e
         case XCBMapNotify:
         case XCBReparentNotify:
         case XCBUnmapNotify:
-            break;
+           // break;
 
         default:
             ErrorF("****xnest warning: unhandled event %d\n", e->response_type & ~0x80);
@@ -275,26 +276,7 @@ void xnestCollectEvents()
         if (!e->response_type) {
             err = (XCBGenericError *)e;
             ErrorF("****** File: %s Error: %d, Sequence %d\n", __FILE__, err->error_code, err->sequence);
-            switch(err->error_code){
-                case XCBMatch:
-                    re = (XCBRequestError *)err;
-                    ErrorF("XCBMatch: Bad Value %x (Decimal %d)\n", re->bad_value, re->bad_value);
-                    break;
-                case XCBIDChoice:
-                    ide = (XCBIDChoiceError *)err;
-                    ErrorF("XCBIDChoice: Bad Value %x (Decimal %d)\n", ide->bad_value, ide->bad_value);
-                    break;
-                case XCBFont:
-                    fe = (XCBFontError *)err;
-                    ErrorF("XCBFont: Bad Value %x (Decimal %d)\n", fe->bad_value, fe->bad_value);
-                    break;
-                case XCBWindow:
-                    we = (XCBWindowError *)err;
-                    ErrorF("XCBWindow: Bad Value %x (Decimal %d)\n", we->bad_value, we->bad_value);
-                    break;
-                default:
-                    break;
-                    }
+
         } else {
             ErrorF("Handling event %x(%d) serial %d\n", e->response_type, e->response_type, e->sequence);
             xnestHandleEvent(e);
diff --git a/hw/xnest/GCOps.c b/hw/xnest/GCOps.c
index dbb3116..362ed1e 100644
--- a/hw/xnest/GCOps.c
+++ b/hw/xnest/GCOps.c
@@ -145,6 +145,8 @@ static RegionPtr xnestBitBlitHelper(GCPt
         pending = True;
         while (pending) {
             event = XCBPollForEvent(xnestConnection, &err);
+            if (!event)
+                break;
             switch (event->response_type) {
                 case XCBNoExposure:
                     pending = False;
diff --git a/hw/xnest/Window.c b/hw/xnest/Window.c
index 307dee0..574ba8d 100644
--- a/hw/xnest/Window.c
+++ b/hw/xnest/Window.c
@@ -97,7 +97,7 @@ Bool xnestCreateWindow(WindowPtr pWin)
     }
     else {
         mask = XCBCWEventMask | XCBCWBackingStore;
-        param.event_mask = (1<<25)-1;
+        param.event_mask = ((1<<25)-1) & ~(XCBEventMaskSubstructureRedirect|XCBEventMaskPointerMotionHint|XCBEventMaskResizeRedirect);
             /*XCBEventMaskExposure|XCBEventMaskKeyPress|XCBEventMaskKeyRelease|XCBEventMaskButtonPress
             |XCBEventMaskButtonRelease|XCBEventMaskEnterWindow|XCBEventMaskLeaveWindow|XCBEventMaskPointerMotion
             |XCBEventMaskFocusChange|XCBEventMaskStructureNotify;*/



More information about the xorg-commit mailing list