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