Yaakov (Cygwin Ports) wrote:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Jon TURNEY wrote:
Oh, yes, there's even some code in winvideo.c, clearly doesn't do anything
though.  Someone must have had a cunning plan....

Wish I knew what it was...

Well, I guess it might be possible to map Xv/XvMC to some DirectX or DxVA API
Probably a substantial amount of work though.

I wonder if these are regressions against 6.8.99 or not.

Now that you mention it, it appears not. (And maybe I shouldn't zap my
/usr/X11R6 after all.)

There's a bunch of fixes to icon handling and wm hint handling in Xming
I am looking at importing, which might well help with problems like these.

It would be helpful if you could mention specific apps that have these
problems, and I'll take a detailed look.

Transparent backgrounds: anything gtk2 or qt4 (try gtk-demo, for instance).

This has a simple fix.  Patch attached

WM hints: bmpx (bmp2 splash and about dialog), mplayer (gmplayer control
window), xine-ui (xine splash and control window).  (All of these are
correct on Xming 6.9.) FYI, linguist-qt{3,4} and eric4 splash screens
are correct on both.

Thanks for the details. This is a bit trickier :-)

Fix for mis-aligned icon data creates bad background masks 
fd.o bugzilla #4491

Transparent icon backgrounds appear with black stripes as mask data is 
incorrectly aligned.
Modified the icon DDB bitmap data alignment to 16 bits

---
 xserver/hw/xwin/winmultiwindowicons.c |   10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

Index: xorg-git/xserver/hw/xwin/winmultiwindowicons.c
===================================================================
--- xorg-git.orig/xserver/hw/xwin/winmultiwindowicons.c
+++ xorg-git/xserver/hw/xwin/winmultiwindowicons.c
@@ -83,8 +83,8 @@ winScaleXBitmapToWindows (int iconSize,
   if (pixmap->drawable.depth == 15)
     effXDepth = 16;
 
-  /* Need 32-bit aligned rows */
-  stride = ((iconSize * effBPP + 31) & (~31)) / 8;
+  /* Need 16-bit aligned rows for DDBitmaps */
+  stride = ((iconSize * effBPP + 15) & (~15)) / 8;
   xStride = PixmapBytePad (pixmap->drawable.width, pixmap->drawable.depth);
   if (stride == 0 || xStride == 0)
     {
@@ -296,11 +296,11 @@ winXIconToHICON (WindowPtr pWin, int ico
   else
     effBPP = bpp;
   
-  /* Need 32-bit aligned rows */
-  stride = ((iconSize * effBPP + 31) & (~31)) / 8;
+  /* Need 16-bit aligned rows for DDBitmaps */
+  stride = ((iconSize * effBPP + 15) & (~15)) / 8;
 
   /* Mask is 1-bit deep */
-  maskStride = ((iconSize * 1 + 31) & (~31)) / 8; 
+  maskStride = ((iconSize * 1 + 15) & (~15)) / 8;
 
   image = malloc (stride * iconSize);
   imageMask = malloc (stride * iconSize);
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Cygwin-ports-general mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/cygwin-ports-general

Reply via email to