Re: [Tigervnc-devel] XDrawArc from XTS crasches Xvnc

2010-12-08 Thread Peter Åstrand

On Mon, 6 Dec 2010, Adam Tkac wrote:


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.


Looks fine, seems to fix the XDrawArc crash. Can you apply this patch?


Best regards, 
---

Peter Åstrand   ThinLinc Chief Developer
Cendio AB   http://www.cendio.com
Wallenbergs gata 4
583 30 LinköpingPhone: +46-13-21 46 00--
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


Re: [Tigervnc-devel] XDrawArc from XTS crasches Xvnc

2010-12-08 Thread Adam Tkac
On Wed, Dec 08, 2010 at 03:02:20PM +0100, Peter Åstrand wrote:
 On Mon, 6 Dec 2010, Adam Tkac wrote:
 
 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.
 
 Looks fine, seems to fix the XDrawArc crash. Can you apply this patch?

Done, thanks for testing.

Regards, Adam

-- 
Adam Tkac, Red Hat, Inc.

--
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


Re: [Tigervnc-devel] XDrawArc from XTS crasches Xvnc

2010-12-06 Thread Adam Tkac
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.

Regards, Adam

-- 
Adam Tkac, Red Hat, Inc.

--
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


Re: [Tigervnc-devel] XDrawArc from XTS crasches Xvnc

2010-12-06 Thread Adam Tkac
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


Re: [Tigervnc-devel] XDrawArc from XTS crasches Xvnc

2010-12-02 Thread Pierre Ossman
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.

Rgds
-- 
Pierre OssmanOpenSource-based Thin Client Technology
System Developer Telephone: +46-13-21 46 00
Cendio ABWeb: http://www.cendio.com

A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?


signature.asc
Description: PGP signature
--
Increase Visibility of Your 3D Game App  Earn a Chance To Win $500!
Tap into the largest installed PC base  get more eyes on your game by
optimizing for Intel(R) Graphics Technology. Get started today with the
Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs.
http://p.sf.net/sfu/intelisp-dev2dev___
Tigervnc-devel mailing list
Tigervnc-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tigervnc-devel


Re: [Tigervnc-devel] XDrawArc from XTS crasches Xvnc

2010-12-01 Thread Adam Tkac
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.

 Index: tigervnc/unix/xserver/hw/vnc/vncHooks.cc
 ===
 --- tigervnc/unix/xserver/hw/vnc/vncHooks.cc  (revision 20732)
 +++ tigervnc/unix/xserver/hw/vnc/vncHooks.cc  (arbetskopia)
 @@ -717,11 +717,12 @@
  {
GC_OP_UNWRAPPER(pDrawable, pGC, FillSpans);
 
 -  RegionHelper changed(pScreen, ((WindowPtr)pDrawable)-borderClip);
 -
(*pGC-ops-FillSpans) (pDrawable, pGC, nInit, pptInit, pwidthInit, 
 fSorted);
 
 -  vncHooksScreen-desktop-add_changed(changed.reg);
 +  if (pDrawable-type == DRAWABLE_WINDOW) {
 +RegionHelper changed(pScreen, ((WindowPtr)pDrawable)-borderClip);
 +vncHooksScreen-desktop-add_changed(changed.reg);
 +  }
  }
 
  // SetSpans - changed region is the whole of borderClip.  This is 
 pessimistic,
 @@ -733,11 +734,12 @@
  {
GC_OP_UNWRAPPER(pDrawable, pGC, SetSpans);
 
 -  RegionHelper changed(pScreen, ((WindowPtr)pDrawable)-borderClip);
 -
(*pGC-ops-SetSpans) (pDrawable, pGC, psrc, ppt, pwidth, nspans, fSorted);
 
 -  vncHooksScreen-desktop-add_changed(changed.reg);
 +  if (pDrawable-type == DRAWABLE_WINDOW) {
 +RegionHelper changed(pScreen, ((WindowPtr)pDrawable)-borderClip);
 +vncHooksScreen-desktop-add_changed(changed.reg);
 +  }
  }
 
  // PutImage - changed region is the given rectangle, clipped by 
 pCompositeClip
 
 
 With this patch, the xts suite completes without crashing Xvnc.
 
 Rgds, ---
 Peter Åstrand ThinLinc Chief Developer
 Cendio AB http://www.cendio.com
 Wallenbergs gata 4
 583 30 Linköping  Phone: +46-13-21 46 00

 --
 Increase Visibility of Your 3D Game App  Earn a Chance To Win $500!
 Tap into the largest installed PC base  get more eyes on your game by
 optimizing for Intel(R) Graphics Technology. Get started today with the
 Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs.
 http://p.sf.net/sfu/intelisp-dev2dev

 ___
 Tigervnc-devel mailing list
 Tigervnc-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/tigervnc-devel


-- 
Adam Tkac, Red Hat, Inc.

--
Increase Visibility of Your 3D Game App  Earn a Chance To Win $500!
Tap into the largest installed PC base  get more eyes on your game by
optimizing for Intel(R) Graphics Technology. Get started today with the
Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs.
http://p.sf.net/sfu/intelisp-dev2dev
___
Tigervnc-devel mailing list
Tigervnc-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tigervnc-devel


Re: [Tigervnc-devel] XDrawArc from XTS crasches Xvnc

2010-11-30 Thread Peter Åstrand


I'm running the XTS (http://cgit.freedesktop.org/xorg/test/xts/) test suite 
against Xvnc. The XDrawArc crashes the server every time. This happens with 
both our own build (using xserver 1.5), as well with the Xvnc shipped with 
Fedora 14. For some unknown reason, I'm not getting any core dumps from the 
F14 Xvnc, but from our build, I've retrieved this backtrace:


The core dump problem was caused by abrt, see 
https://bugzilla.redhat.com/show_bug.cgi?id=583407 .


The actual problem seems to be this function in vncHooks.cc:


static void vncHooksFillSpans(DrawablePtr pDrawable, GCPtr pGC, int nInit,
  DDXPointPtr pptInit, int *pwidthInit,
  int fSorted)
{
  GC_OP_UNWRAPPER(pDrawable, pGC, FillSpans);

  RegionHelper changed(pScreen, ((WindowPtr)pDrawable)-borderClip);

  (*pGC-ops-FillSpans) (pDrawable, pGC, nInit, pptInit, pwidthInit, fSorted);

  vncHooksScreen-desktop-add_changed(changed.reg);
}

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 
hooking them:



r2452 | atkac | 2008-03-26 19:59:58 +0100 (ons, 26 mar 2008) | 3 lines

PaintWindowBackground and PaintWindowBorder hooks are no longer used.
PolyFillRect hook is used instead and it needs modified ValidateGC hook.



Adam, can you explain the reasoning behind this?


Regards, 
---

Peter Åstrand   ThinLinc Chief Developer
Cendio AB   http://www.cendio.com
Wallenbergs gata 4
583 30 LinköpingPhone: +46-13-21 46 00--
Increase Visibility of Your 3D Game App  Earn a Chance To Win $500!
Tap into the largest installed PC base  get more eyes on your game by
optimizing for Intel(R) Graphics Technology. Get started today with the
Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs.
http://p.sf.net/sfu/intelisp-dev2dev___
Tigervnc-devel mailing list
Tigervnc-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tigervnc-devel