On Mon, Dec 06, 2010 at 09:54:09AM +0100, Adam Tkac wrote:
> On Thu, Dec 02, 2010 at 01:16:30PM +0100, Pierre Ossman wrote:
> > On Wed, 1 Dec 2010 13:11:37 +0100
> > Adam Tkac <at...@redhat.com> wrote:
> > 
> > > On Wed, Dec 01, 2010 at 10:46:36AM +0100, Peter Åstrand wrote:
> > > > 
> > > > >We are casting pDrawable, but with the XDrawArc case, the drawable
> > > > >is not a window but a pixmap. Pixmap structures doesn't have a
> > > > >borderClip member.
> > > > >
> > > > >Why do we need to deal with pixmaps at all? In revision r2452, we 
> > > > >started
> > > > 
> > > > If we need to continue hooking pixmap operations, this patch should
> > > > solve the problem:
> > > 
> > > Patch looks fine for me, feel free to commit it.
> > > 
> > 
> > I'm not feeling entirely comfortable with this thing. Looking at r2452,
> > the commit message doesn't really explain what's going on. From what I
> > gather, the PaintWindowBackground and PaintWindowBorder hooks are
> > deprecated and hence that portion is a cleanup. The modifications to
> > ValidateGC seem unrelated and should probably have been a separate
> > commit.
> > 
> > The commit message hints about some relationship though, but the
> > description "PolyFillRect hook is used instead and it needs modified
> > ValidateGC hook." doesn't really make sense as that hook isn't added by
> > that commit. Was it broken beforehand?
> > 
> > It also gives no mention to the fact that Pixmaps are grabbed and not
> > just Windows and no justification as to why this is suddenly needed.
> > 
> > Adam, you need to elaborate here on what's going on and why r2452 was
> > needed in the first place.
> 
> I must admit it seems useless to hook pixmaps. I don't remember
> why I introduced pixmap hook in r2452, maybe due to Composite extension,
> not sure. I will try to remove it and perform some tests and if the
> removal doesn't cause any screen defect we can remove the pixmap hook.

Ok, seems pixmap hook is not needed. Can you please check if attached
patch fixes the XDrawArc crash, please? Thank you in advance.

Regards, Adam

-- 
Adam Tkac, Red Hat, Inc.
Index: unix/xserver/hw/vnc/vncHooks.cc
===================================================================
--- unix/xserver/hw/vnc/vncHooks.cc     (revision 4210)
+++ unix/xserver/hw/vnc/vncHooks.cc     (working copy)
@@ -625,7 +625,7 @@
 };
 
 
-// ValidateGC - wrap the "ops" if a drawable window or pixmap
+// ValidateGC - wrap the "ops" if a viewable window
 
 static void vncHooksValidateGC(GCPtr pGC, unsigned long changes,
                                DrawablePtr pDrawable)
@@ -637,7 +637,7 @@
   (*pGC->funcs->ValidateGC) (pGC, changes, pDrawable);
 
   u.vncHooksGC->wrappedOps = 0;
-  if (pDrawable->type == DRAWABLE_WINDOW || pDrawable->type == 
DRAWABLE_PIXMAP) {
+  if (pDrawable->type == DRAWABLE_WINDOW && ((WindowPtr) pDrawable)->viewable) 
{
     u.vncHooksGC->wrappedOps = pGC->ops;
     DBGPRINT((stderr,"vncHooksValidateGC: wrapped GC ops\n"));
   }    
------------------------------------------------------------------------------
What happens now with your Lotus Notes apps - do you make another costly 
upgrade, or settle for being marooned without product support? Time to move
off Lotus Notes and onto the cloud with Force.com, apps are easier to build,
use, and manage than apps on traditional platforms. Sign up for the Lotus 
Notes Migration Kit to learn more. http://p.sf.net/sfu/salesforce-d2d
_______________________________________________
Tigervnc-devel mailing list
Tigervnc-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tigervnc-devel

Reply via email to