Re: comctl32/tests: Add casts to avoid two comparisons of different int types.

2011-02-15 Thread Gerald Pfeifer
On Sun, 13 Feb 2011, Janne Hakonen wrote:
> Actually, now with your change you are comparing ULONG_PTR to ULONG. 
> With 64 bit binary the left side of comparison is a 64 bit pointer and 
> right side is 32 bit value.

Thanks, Janne.  I have adjusted, tested and resubmitted the first 
hunk of the patch now.

And this is now the second hunk, also approved by Marvin:
https://testbot.winehq.org/JobDetails.pl?Key=9292

Gerald


ChangeLog:
comctl32/tests: Add another cast to avoid comparison of different int types.

diff --git a/dlls/comctl32/tests/tab.c b/dlls/comctl32/tests/tab.c
index 4c464e6..14c7b59 100644
--- a/dlls/comctl32/tests/tab.c
+++ b/dlls/comctl32/tests/tab.c
@@ -1327,7 +1327,7 @@ static void test_TCS_OWNERDRAWFIXED(HWND parent_wnd)
 ShowWindow(hTab, SW_SHOW);
 RedrawWindow(hTab, NULL, 0, RDW_UPDATENOW);
 
-ok(*(ULONG_PTR*)g_drawitem.itemData == lparam, "got %lx, expected %lx\n", 
g_drawitem.itemData, lparam);
+ok(*(ULONG_PTR*)g_drawitem.itemData == (ULONG_PTR)lparam, "got %lx, 
expected %lx\n", g_drawitem.itemData, lparam);
 
 DestroyWindow(hTab);
 




Re: Anyone using Wine D3D under Parallels?

2011-02-15 Thread Misha Koshelev
On Tue, Feb 15, 2011 at 6:50 PM, Henri Verbeet  wrote:
> On 15 February 2011 21:37, Misha Koshelev  wrote:
>> and noticed that although glxinfo reports:
>> misha@ubuntu:~/.wine/drive_c/Program Files/Tag$ glxinfo | grep -i render
>> direct rendering: Yes
>> OpenGL renderer string: Parallels using NVIDIA GeForce GT 330M OpenGL Engine
>>
> Is that a 32-bit or 64-bit Ubuntu?
64-bit.

> The 32-bit drivers on 64-bit Ubuntu
> have a tendency to be broken, although in this case that would
> probably be Parallels' responsibility and not Ubuntu's. Two general
> points though:
>  - Don't use Ubuntu for serious development.
What would you recommend using? Do you mean MacOS itself in this
specific instance, or was that a general comment (i.e., use Fedora not
Ubuntu).

>  - Don't use VMs for GL/D3D development, unless you can fix the
> drivers yourself.
Thank you. Duly noted.

>
> I'm sure it's all kinds of fun to make it work, but it's not very
> productive, and you end up with a somewhat questionable configuration
> for testing.
>

Misha

p.s. As a note I've actually had similar results in my testing with
Mac OS vs VMs. In fact, there are some bugs I was _only_ able to
reproduce in the VM (I got an error about a mode not being available
within the Mac OS version).




Re: [PATCH] Implement software DXT1 compression

2011-02-15 Thread Henri Verbeet
I haven't investigated very closely, but my impression is that you
want to use libsquish. I'm not sure if it has C bindings, or if the
API is entirely right for what we need, but maybe they accept patches.




Re: Anyone using Wine D3D under Parallels?

2011-02-15 Thread Henri Verbeet
On 15 February 2011 21:37, Misha Koshelev  wrote:
> and noticed that although glxinfo reports:
> misha@ubuntu:~/.wine/drive_c/Program Files/Tag$ glxinfo | grep -i render
> direct rendering: Yes
> OpenGL renderer string: Parallels using NVIDIA GeForce GT 330M OpenGL Engine
>
Is that a 32-bit or 64-bit Ubuntu? The 32-bit drivers on 64-bit Ubuntu
have a tendency to be broken, although in this case that would
probably be Parallels' responsibility and not Ubuntu's. Two general
points though:
  - Don't use Ubuntu for serious development.
  - Don't use VMs for GL/D3D development, unless you can fix the
drivers yourself.

I'm sure it's all kinds of fun to make it work, but it's not very
productive, and you end up with a somewhat questionable configuration
for testing.




valgrind results - now with better debug info

2011-02-15 Thread Austin English
Howdy all,

I've added a few more suppressions, and after a suggestion by Nikolay,
added some debugging symbols:
austin@debian:~/src/winezeug/valgrind$ dpkg -l | grep dbg
ii  cups-dbg 1.4.5-2
Common UNIX Printing System(tm) - debugging symbols
ii  libc6-dbg2.11.2-11
Embedded GNU C Library: detached debugging symbols
ii  libgsm1-dbg  1.0.13-3
Shared libraries for GSM speech compressor (debug symbols)
ii  libsane-dbg  1.0.21-9
API development library for scanners [debug symbols]
ii  libsane-extras-dbg   1.0.21.2
API library for scanners -- extra backends [debug symbols]
ii  libxml2-dbg  2.7.8.dfsg-2
Debugging symbols for the GNOME XML library
ii  libxslt1-dbg 1.1.26-6
XSLT 1.0 processing library - debugging symbols
ii  zlib1g-dbg   1:1.2.3.4.dfsg-3
compression library - development

if you need a debugging symbol package to get better info from a
crash, please let me know.

The current suppressions used are at:
http://winezeug.googlecode.com/svn/trunk/valgrind/valgrind-suppressions

Please let me know if you have more to add

I've filed bugs for most results, see:
http://bugs.winehq.org/buglist.cgi?query_format=advanced&emailreporter1=1&short_desc=valgrind&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&short_desc_type=allwordssubstr&email1=austinenglish&product=Wine&emailtype1=substring

as always, results are at:
http://austinenglish.com/logs/valgrind/

Cheers,
Austin




Re: D3DXCreateTorus patch... thoughts?

2011-02-15 Thread Misha Koshelev
On Sun, Feb 13, 2011 at 11:37 PM, David Adam  wrote:
> Here is  cool link to show what D3DXCreateTorus does:
> http://www.xmission.com/~legalize/book/snippets/rt_D3DXSphere.zip
>
> A+
>
> David
>

Fixed small typo in spec file.

Thank you
Misha
From fdb0abe017a084194ec70636b2c24de063112569 Mon Sep 17 00:00:00 2001
From: Misha Koshelev 
Date: Tue, 15 Feb 2011 16:21:43 -0500
Subject: d3dx9: Implement D3DXCreateTorus.
To: wine-patches 
Reply-To: wine-devel 

---
 dlls/d3dx9_36/d3dx9_36.spec |2 +-
 dlls/d3dx9_36/mesh.c|  133 +++
 dlls/d3dx9_36/tests/mesh.c  |  209 +++
 include/d3dx9shape.h|8 ++
 4 files changed, 351 insertions(+), 1 deletions(-)

diff --git a/dlls/d3dx9_36/d3dx9_36.spec b/dlls/d3dx9_36/d3dx9_36.spec
index cbb6d20..f06a32f 100644
--- a/dlls/d3dx9_36/d3dx9_36.spec
+++ b/dlls/d3dx9_36/d3dx9_36.spec
@@ -105,7 +105,7 @@
 @ stdcall D3DXCreateTextureFromResourceW(ptr ptr wstr ptr)
 @ stub D3DXCreateTextureGutterHelper
 @ stub D3DXCreateTextureShader
-@ stub D3DXCreateTorus
+@ stdcall D3DXCreateTorus(ptr float float long long ptr ptr)
 @ stdcall D3DXCreateVolumeTexture(ptr long long long long long long long ptr)
 @ stub D3DXCreateVolumeTextureFromFileA
 @ stub D3DXCreateVolumeTextureFromFileExA
diff --git a/dlls/d3dx9_36/mesh.c b/dlls/d3dx9_36/mesh.c
index 6a74442..6323e11 100644
--- a/dlls/d3dx9_36/mesh.c
+++ b/dlls/d3dx9_36/mesh.c
@@ -1501,3 +1501,136 @@ HRESULT WINAPI D3DXCreateTeapot(LPDIRECT3DDEVICE9 
device, LPD3DXMESH *mesh, LPD3
 
 return E_NOTIMPL;
 }
+
+static WORD torus_vertex_index(UINT sides, int side, int ring)
+{
+return ring*sides+side;
+}
+
+HRESULT WINAPI D3DXCreateTorus(LPDIRECT3DDEVICE9 device, FLOAT innerradius, 
FLOAT outerradius, UINT sides,
+   UINT rings, LPD3DXMESH *mesh, LPD3DXBUFFER 
*adjacency)
+{
+DWORD number_of_vertices, number_of_faces;
+HRESULT hr;
+ID3DXMesh *torus;
+struct vertex *vertices;
+face *faces;
+float theta_step, theta_start;
+struct sincos_table theta;
+D3DXVECTOR3 tangent_large, tangent_small;
+float phi_step, phi, sin_phi, cos_phi;
+DWORD vertex, face;
+int side, ring, ringplusone_wrap;
+
+TRACE("(%p, %f, %f, %u, %u, %p, %p)\n", device, innerradius, outerradius, 
sides, rings, mesh, adjacency);
+
+if (!device || innerradius < 0.0f || outerradius < 0.0f || sides < 3 || 
rings < 3 || !mesh)
+{
+return D3DERR_INVALIDCALL;
+}
+
+if (adjacency)
+{
+FIXME("Case of adjacency != NULL not implemented.\n");
+return E_NOTIMPL;
+}
+
+number_of_vertices = sides * rings;
+number_of_faces = 2 * sides * rings;
+
+hr = D3DXCreateMeshFVF(number_of_faces, number_of_vertices, 
D3DXMESH_MANAGED,
+   D3DFVF_XYZ | D3DFVF_NORMAL, device, &torus);
+if (FAILED(hr))
+{
+return hr;
+}
+
+hr = torus->lpVtbl->LockVertexBuffer(torus, D3DLOCK_DISCARD, (LPVOID 
*)&vertices);
+if (FAILED(hr))
+{
+torus->lpVtbl->Release(torus);
+return hr;
+}
+
+hr = torus->lpVtbl->LockIndexBuffer(torus, D3DLOCK_DISCARD, (LPVOID 
*)&faces);
+if (FAILED(hr))
+{
+torus->lpVtbl->UnlockVertexBuffer(torus);
+torus->lpVtbl->Release(torus);
+return hr;
+}
+
+theta_step = 2 * M_PI / sides;
+theta_start = 0;
+
+if (!compute_sincos_table(&theta, theta_start, theta_step, rings))
+{
+torus->lpVtbl->UnlockIndexBuffer(torus);
+torus->lpVtbl->UnlockVertexBuffer(torus);
+torus->lpVtbl->Release(torus);
+return E_OUTOFMEMORY;
+}
+
+phi_step = 2 * M_PI / rings;
+phi = 0;
+
+vertex = 0;
+face = 0;
+
+for (ring = 0, ringplusone_wrap = 1; ring < rings; ring++, 
ringplusone_wrap++)
+{
+if (ringplusone_wrap == rings) ringplusone_wrap = 0;
+
+sin_phi = sin(phi);
+cos_phi = cos(phi);
+
+for (side = 0; side < sides; side++, vertex++)
+{
+vertices[vertex].position.x = (outerradius + innerradius * 
theta.cos[side]) * cos_phi;
+vertices[vertex].position.y = -(outerradius + innerradius * 
theta.cos[side]) * sin_phi;
+vertices[vertex].position.z = innerradius * theta.sin[side];
+
+/* tangent wrt large circle */
+tangent_large.x = -sin_phi;
+tangent_large.y = -cos_phi;
+tangent_large.z = 0;
+
+/* tangent wrt small circle */
+tangent_small.x = -theta.sin[side] * cos_phi;
+tangent_small.y = theta.sin[side] * sin_phi;
+tangent_small.z = theta.cos[side];
+
+/* normal is normalized cross product */
+D3DXVec3Cross(&vertices[vertex].normal, &tangent_small, 
&tangent_large);
+D3DXVec3Normalize(&vertices[vertex].normal, 
&vertices[vertex].normal);
+
+if (side > 0)
+{
+faces[face][0] = t

Re: Re: [PATCH] Implement software DXT1 compression

2011-02-15 Thread alberto
Hi Stefan. I'm not really into opengl internals, so I think the best
solution for now is to implement 1), and give complete support when the
blitting code will be in a better shape. Would this be okay?

if (!context->valid)
{
context_release(context);
FIXME("No gl context, cannot perform conversion\n");
return;
}

Thanks





Anyone using Wine D3D under Parallels?

2011-02-15 Thread Misha Koshelev
I am trying some simple patches for:
http://bugs.winehq.org/show_bug.cgi?id=24642

and noticed that although glxinfo reports:
misha@ubuntu:~/.wine/drive_c/Program Files/Tag$ glxinfo | grep -i render
direct rendering: Yes
OpenGL renderer string: Parallels using NVIDIA GeForce GT 330M OpenGL Engine

I get:
misha@ubuntu:~/.wine/drive_c/Program Files/Tag$ wine Tag.exe
err:winediag:X11DRV_WineGL_InitOpenglInfo The Mesa OpenGL driver is
using software rendering, most likely your OpenGL drivers haven't been
installed correctly
fixme:d3d_caps:wined3d_guess_card No card selector available for GL
vendor 4 and card vendor .
fixme:win:EnumDisplayDevicesW ((null),0,0x32e6f4,0x), stub!

and I get different results under Parallels than running directly on the Mac

This does not seem to cause a problem for other game demos, such as
http://bugs.winehq.org/show_bug.cgi?id=24642, but the message is still
there.

Any ideas?

Thank you
Misha

p.s. I compiled wine git with:
./configure CPPFLAGS='-I/usr/X11/include' LIBS='-lGL -lGLU'
LDFLAGS='-L/usr/X11/lib'
make && sudo make install

and am using the command:
DYLD_FALLBACK_LIBRARY_PATH="/usr/X11/lib:/usr/lib" wine ...

on the Mac side.

Thank you.




Re: [PATCH] Implement software DXT1 compression

2011-02-15 Thread Stefan Dösinger
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1


Am 15.02.2011 um 14:39 schrieb albe...@mattea.info:
> Good idea. This new patch implements this approach. It seems to be working
> perfectly at least with the nvidia blob. It is also much smaller than the
> previous one, and doesn't require hacks like inverting colors and so 
> on.
It has one major architectural problem however. You need a GL context, but the 
SW conversion code cannot use one because it may be called from surface_gdi.c, 
which works without opengl. There are two ways out:

1) The easy one is to lift this restriction and just handle a context_acquire 
failure(ok, context_acquire needs some extensions for that). Error handling 
could just look like FIXME("no gl, bad luck"). But I think that is pretty ugly.

2) Implement the s3tc blits in the opengl blitting code in surface.c. 
Unfortunately the opengl blitting code is a mess, and adding s3tc blits won't 
make it better. To allow this we'll need to clean it up first. Rockerick was 
working on that but dropped the ball because other work interfered.

-BEGIN PGP SIGNATURE-
Version: GnuPG/MacGPG2 v2.0.17 (Darwin)

iQIcBAEBAgAGBQJNWt+JAAoJEN0/YqbEcdMw17UP/jPtQkMRmTbfBMhgfDTfWNt8
4OgWC73XpMkyR924CcoHoZBQVRLN9ILSApgg8cjyrdsUOPJFoOEIHC/gyIyISbi3
PWtSVAGMTOLv7AkbSR/08pkJyFsGT1gen4HpRmDKRmaAjifiINcAkLhpLSmNOYx7
vFmf7ltknPviaODlOJZS02Lsi1HjGqXL4GaismR4U1oPJUzDAgwi9HeBBp2axrPN
mzvnCsIoaZlVGq1SyX8pa3k2WkNLKWHCDwIA4FQFVM+MWoMxLTgxLvo9nuRpyh8F
EoCUO68wO77jeKS4N1R4xMSd0ZBpS//V7h4M2MO3Hc1YWA5TJWr6Lo+MhWdMTYD0
ysn2am/Dw69U9ojOWRey4AXDDX3RjekXJzSGIaGPa3/783ThAun5n3E9SCWy/TZf
/YZggIG0RckH50d4VWLCarWM3Pp7mF/tIAZSHheqD3r/PBBW/pfE8fDeG6Sw3Tae
Mxqmacy+8W/kPVJ/SP+S9DuY2qqKD48YkD+QWn9PUze2NahIdtSTnDH6jn+SC5YJ
Zl4ZVGPFLNDMoXN7E3QfWjYntczdzbA8O2jyYNv+45oPGO378OdZcrsEVIJnYi/v
VlbMLxnYeE5w+tv0XsqVzDQ9WL9eEjTALO8NWtpQDbCMXE0UJnkJuIrMQxlvXg1y
PxT69+lhBXsLlGlprb5+
=fZjK
-END PGP SIGNATURE-




Re: [website] Turn on gzip compression

2011-02-15 Thread Jeremy Newman

Actually, a better way to accomplish this is to add:

php_flag zlib.output_compression On

to the .htaccess file. I'm a little surprised it was not there already.

-N

On 02/15/2011 01:02 PM, André Hentschel wrote:

First make sure that works with your server...
---
  site |3 +++
  1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/site b/site
index 5a7bd46..a776199 100644
--- a/site
+++ b/site
@@ -5,6 +5,8 @@
by Jeremy Newman
  */

+ob_start("ob_gzhandler");
+
  // load modules and defines
  $file_root = realpath(dirname(__FILE__));
  require("{$file_root}/include/incl.php");
@@ -114,4 +116,5 @@ $html->page = $html->template("local", PAGE);
  $html->showpage();

  // done
+ob_end_flush();
  ?>





Re: [PATCH 3/4] urlmon: Properly handle BINDSTATUS_BEGINDOWNLOADDATA.

2011-02-15 Thread Janne Hakonen

On 2/15/11 5:13 PM, Marvin wrote:

Hi,

While running your changed tests on Windows, I think I found new 
failures.
Being a bot and all I'm not very good at pattern recognition, so I might 
be

wrong, but could you please double-check?
Full results can be found at
http://testbot.winehq.org/JobDetails.pl?Key=9273

Your paranoid android.


=== W7PROX64 (64 bit protocol) ===
protocol.c:278: Test failed: Expected ERROR_INTERNET_SEC_CERT_REV_FAILED 
got 12045


I don't believe it's related, it seems like a random failure. It passed 
clearly here:

http://testbot.winehq.org/JobDetails.pl?Key=9269&log_226=1#k226
and sometimes fails in regular winetest run:
http://test.winehq.org/data/a24e8c8f0bd3924cc72501007eaaee10349c6c93/win7_wtb-w7pro/urlmon:protocol.html


Tried also on my Windows 7 Professional, but I couldn't reproduce those 
failures, even after multiple runs.


E:\jhakonen\Downloads>urlmon_test64.exe protocol
protocol.c:2544: Testing file protocol...
protocol.c:2897: Testing http protocol (not from urlmon)...
protocol.c:2901: Testing http protocol (from urlmon)...
protocol.c:2905: Testing http protocol (to file)...
protocol.c:2909: Testing http protocol (post data)...
protocol.c:2915: Testing http protocol (post data stream)...
protocol.c:2918: Testing http protocol (direct read)...
protocol.c:2922: Testing http protocol (redirected)...
protocol.c:2926: Testing http protocol abort...
protocol.c:2939: Testing https protocol (from urlmon)...
protocol.c:2959: Testing ftp protocol...
protocol.c:3042: Testing gopher protocol...
protocol.c:3084: Testing mk protocol...
protocol.c:3158: Testing CreateBinding...
protocol.c:3516: Testing file binding (mime verification, emulate prot)...
protocol.c:3518: Testing http binding (mime verification, emulate prot)...
protocol.c:3520: Testing its binding (mime verification, emulate prot)...
protocol.c:3522: Testing http binding (mime verification, emulate prot, 
short read, direct read)...
protocol.c:3524: Testing file binding (mime verification, emulate prot, mime 
filter)...
protocol.c:3526: Testing http binding (mime verification, emulate prot, mime 
filter)...
protocol.c:3528: Testing http binding (mime verification, emulate prot, 
direct read)...
protocol.c:3530: Testing http binding (mime verification, emulate prot, 
abort)...
protocol.c:3533: Testing file binding (use IUri, mime verification, emulate 
prot)...
protocol.c:3535: Testing file binding (use IUri, impl StartEx, mime 
verification, emulate prot)...
protocol.c:3537: Testing file binding (impl StartEx, mime verification, 
emulate prot)...

protocol: 5135 tests executed (0 marked as todo, 0 failures), 0 skipped.

Best Regards,
Janne Hakonen 






Re: [1/2] winex11.drv: Add PS_USERSTYLE support to pens (take 2)

2011-02-15 Thread Alexandre Julliard
Daniel  writes:

> @@ -54,11 +56,13 @@ HPEN CDECL X11DRV_SelectPen( X11DRV_PDEVICE *physDev, 
> HPEN hpen )
>  elp = HeapAlloc( GetProcessHeap(), 0, size );
>  
>  GetObjectW( hpen, size, elp );
> -/* FIXME: add support for user style pens */
> +
>  logpen.lopnStyle = elp->elpPenStyle;
>  logpen.lopnWidth.x = elp->elpWidth;
>  logpen.lopnWidth.y = 0;
>  logpen.lopnColor = elp->elpColor;
> +user_style_size = elp->elpNumEntries;
> +user_style = elp->elpStyleEntry;

This can't work, the data will be freed before you use it.

-- 
Alexandre Julliard
julli...@winehq.org




Re: [PATCH 3/4] urlmon: Properly handle BINDSTATUS_BEGINDOWNLOADDATA.

2011-02-15 Thread Marvin
Hi,

While running your changed tests on Windows, I think I found new failures.
Being a bot and all I'm not very good at pattern recognition, so I might be
wrong, but could you please double-check?
Full results can be found at
http://testbot.winehq.org/JobDetails.pl?Key=9273

Your paranoid android.


=== W7PROX64 (64 bit protocol) ===
protocol.c:278: Test failed: Expected ERROR_INTERNET_SEC_CERT_REV_FAILED got 
12045
protocol.c:278: Test failed: Expected ERROR_INTERNET_SEC_CERT_REV_FAILED got 
12045
protocol.c:278: Test failed: Expected ERROR_INTERNET_SEC_CERT_REV_FAILED got 
12045
protocol.c:278: Test failed: Expected ERROR_INTERNET_SEC_CERT_REV_FAILED got 
12045
protocol.c:278: Test failed: Expected ERROR_INTERNET_SEC_CERT_REV_FAILED got 
12045
protocol.c:278: Test failed: Expected ERROR_INTERNET_SEC_CERT_REV_FAILED got 
12045
protocol.c:278: Test failed: Expected ERROR_INTERNET_SEC_CERT_REV_FAILED got 
12045
protocol.c:278: Test failed: Expected ERROR_INTERNET_SEC_CERT_REV_FAILED got 
12045
protocol.c:278: Test failed: Expected ERROR_INTERNET_SEC_CERT_REV_FAILED got 
12045
protocol.c:278: Test failed: Expected ERROR_INTERNET_SEC_CERT_REV_FAILED got 
12045
protocol.c:278: Test failed: Expected ERROR_INTERNET_SEC_CERT_REV_FAILED got 
12045
protocol.c:278: Test failed: Expected ERROR_INTERNET_SEC_CERT_REV_FAILED got 
12045
protocol.c:278: Test failed: Expected ERROR_INTERNET_SEC_CERT_REV_FAILED got 
12045
protocol.c:278: Test failed: Expected ERROR_INTERNET_SEC_CERT_REV_FAILED got 
12045
protocol.c:278: Test failed: Expected ERROR_INTERNET_SEC_CERT_REV_FAILED got 
12045
protocol.c:278: Test failed: Expected ERROR_INTERNET_SEC_CERT_REV_FAILED got 
12045
protocol.c:278: Test failed: Expected ERROR_INTERNET_SEC_CERT_REV_FAILED got 
12045
protocol.c:278: Test failed: Expected ERROR_INTERNET_SEC_CERT_REV_FAILED got 
12045
protocol.c:278: Test failed: Expected ERROR_INTERNET_SEC_CERT_REV_FAILED got 
12045
protocol.c:278: Test failed: Expected ERROR_INTERNET_SEC_CERT_REV_FAILED got 
12045
protocol.c:278: Test failed: Expected ERROR_INTERNET_SEC_CERT_REV_FAILED got 
12045
protocol.c:278: Test failed: Expected ERROR_INTERNET_SEC_CERT_REV_FAILED got 
12045
protocol.c:278: Test failed: Expected ERROR_INTERNET_SEC_CERT_REV_FAILED got 
12045
protocol.c:278: Test failed: Expected ERROR_INTERNET_SEC_CERT_REV_FAILED got 
12045
protocol.c:278: Test failed: Expected ERROR_INTERNET_SEC_CERT_REV_FAILED got 
12045
protocol.c:278: Test failed: Expected ERROR_INTERNET_SEC_CERT_REV_FAILED got 
12045
protocol.c:278: Test failed: Expected ERROR_INTERNET_SEC_CERT_REV_FAILED got 
12045
protocol.c:278: Test failed: Expected ERROR_INTERNET_SEC_CERT_REV_FAILED got 
12045
protocol.c:278: Test failed: Expected ERROR_INTERNET_SEC_CERT_REV_FAILED got 
12045
protocol.c:278: Test failed: Expected ERROR_INTERNET_SEC_CERT_REV_FAILED got 
12045
protocol.c:278: Test failed: Expected ERROR_INTERNET_SEC_CERT_REV_FAILED got 
12045
protocol.c:278: Test failed: Expected ERROR_INTERNET_SEC_CERT_REV_FAILED got 
12045
protocol.c:278: Test failed: Expected ERROR_INTERNET_SEC_CERT_REV_FAILED got 
12045
protocol.c:278: Test failed: Expected ERROR_INTERNET_SEC_CERT_REV_FAILED got 
12045
protocol.c:278: Test failed: Expected ERROR_INTERNET_SEC_CERT_REV_FAILED got 
12045
protocol.c:278: Test failed: Expected ERROR_INTERNET_SEC_CERT_REV_FAILED got 
12045
protocol.c:278: Test failed: Expected ERROR_INTERNET_SEC_CERT_REV_FAILED got 
12045
protocol.c:278: Test failed: Expected ERROR_INTERNET_SEC_CERT_REV_FAILED got 
12045
protocol.c:278: Test failed: Expected ERROR_INTERNET_SEC_CERT_REV_FAILED got 
12045
protocol.c:278: Test failed: Expected ERROR_INTERNET_SEC_CERT_REV_FAILED got 
12045
protocol.c:278: Test failed: Expected ERROR_INTERNET_SEC_CERT_REV_FAILED got 
12045
protocol.c:278: Test failed: Expected ERROR_INTERNET_SEC_CERT_REV_FAILED got 
12045
protocol.c:278: Test failed: Expected ERROR_INTERNET_SEC_CERT_REV_FAILED got 
12045
protocol.c:278: Test failed: Expected ERROR_INTERNET_SEC_CERT_REV_FAILED got 
12045
protocol.c:278: Test failed: Expected ERROR_INTERNET_SEC_CERT_REV_FAILED got 
12045
protocol.c:278: Test failed: Expected ERROR_INTERNET_SEC_CERT_REV_FAILED got 
12045
protocol.c:278: Test failed: Expected ERROR_INTERNET_SEC_CERT_REV_FAILED got 
12045
protocol.c:278: Test failed: Expected ERROR_INTERNET_SEC_CERT_REV_FAILED got 
12045
protocol.c:278: Test failed: Expected ERROR_INTERNET_SEC_CERT_REV_FAILED got 
12045
protocol.c:278: Test failed: Expected ERROR_INTERNET_SEC_CERT_REV_FAILED got 
12045
protocol.c:278: Test failed: Expected ERROR_INTERNET_SEC_CERT_REV_FAILED got 
12045
protocol.c:278: Test failed: Expected ERROR_INTERNET_SEC_CERT_REV_FAILED got 
12045
protocol.c:278: Test failed: Expected ERROR_INTERNET_SEC_CERT_REV_FAILED got 
12045
protocol.c:278: Test failed: Expected ERROR_INTERNET_SEC_CERT_REV_FAILED got 
12045
protocol.c:278: Test failed: Expected ERROR_INTERNET_SEC_CERT_REV_FAILED got 
12045
protocol.c:278: Test failed: Expected ERRO

Re: [PATCH 3/4] urlmon: Properly handle BINDSTATUS_BEGINDOWNLOADDATA.

2011-02-15 Thread Jacek Caban

On 2/15/11 5:13 PM, Marvin wrote:

Hi,

While running your changed tests on Windows, I think I found new failures.
Being a bot and all I'm not very good at pattern recognition, so I might be
wrong, but could you please double-check?
Full results can be found at
http://testbot.winehq.org/JobDetails.pl?Key=9273

Your paranoid android.


=== W7PROX64 (64 bit protocol) ===
protocol.c:278: Test failed: Expected ERROR_INTERNET_SEC_CERT_REV_FAILED got 
12045


I don't believe it's related, it seems like a random failure. It passed 
clearly here:

http://testbot.winehq.org/JobDetails.pl?Key=9269&log_226=1#k226
and sometimes fails in regular winetest run:
http://test.winehq.org/data/a24e8c8f0bd3924cc72501007eaaee10349c6c93/win7_wtb-w7pro/urlmon:protocol.html

Jacek




Re: [PATCH 2/4] urlmon: Read remaining protocol data if report_data was called after binding finished.

2011-02-15 Thread Marvin
Hi,

While running your changed tests on Windows, I think I found new failures.
Being a bot and all I'm not very good at pattern recognition, so I might be
wrong, but could you please double-check?
Full results can be found at
http://testbot.winehq.org/JobDetails.pl?Key=9272

Your paranoid android.


=== WVISTAADM (32 bit url) ===
Failure running script in VM: The specified guest user must be logged in 
interactively to perform this operation




Re: [PATCH] Fixed several links in the documentation...

2011-02-15 Thread Alexandre Julliard
m...@mtew.isa-geek.net writes:

> @@ -204,7 +204,7 @@ int CDECL MSVCRT__chdir(const char * newdir)
>  /*
>   *   _wchdir (MSVCRT.@)
>   *
> - * Unicode version of _chdir.
> + * Unicode version of MSVCRT__chdir.

You don't want to use the internal name here, it's not useful for
users.

-- 
Alexandre Julliard
julli...@winehq.org




Re: gdi32: Fixed GetDIBits for top-down bitmaps (try 2).

2011-02-15 Thread Alexandre Julliard
Jack Edmonds  writes:

> gdi32/dib.c:  Reversed source bitmap pointer instead of destination 
> bitmap pointer.
>   Removed check for destination bitmap height when 
> determining whether to copy the source bitmap upside down.
> gdi32/tests/bitmap.c: Added a test for copying between top-down bitmaps.

The rest of the code won't cope so well with a negative source
width.

-- 
Alexandre Julliard
julli...@winehq.org




Re: [3/5] msxml3/xsl: Basic put_input() method for IXSLProcessor

2011-02-15 Thread Nikolay Sivov

On 2/15/2011 18:53, Jacek Caban wrote:

Hi Nikolay,

On 2/14/11 9:04 PM, Nikolay Sivov wrote:

Basic put_input() method for IXSLProcessor



+IXMLDOMNode *old_input = This->input;
+HRESULT hr;

-FIXME("(%p): stub\n", This);
-return E_NOTIMPL;
+TRACE("(%p)->(type=%d)\n", This, V_VT(&input));
+
+/* try IXMLDOMNode directly first */
+if (V_VT(&input) == VT_UNKNOWN)
+hr = 
IUnknown_QueryInterface(V_UNKNOWN(&input),&IID_IXMLDOMNode, 
(void**)&This->input);

+else if (V_VT(&input) == VT_DISPATCH)
+hr = 
IDispatch_QueryInterface(V_DISPATCH(&input),&IID_IXMLDOMNode, 
(void**)&This->input);

+
+if (hr != S_OK)
+{
+IXMLDOMDocument *doc;
+
+hr = DOMDocument_create(&CLSID_DOMDocument, NULL, (void**)&doc);
+if (hr == S_OK)
+{
+hr = IXMLDOMDocument_QueryInterface(doc,&IID_IXMLDOMNode, 
(void**)&This->input);

+IXMLDOMDocument_Release(doc);
+}
+}
+
+if (hr == S_OK&&  old_input) IXMLDOMNode_Release(old_input);

Failure of QueryInterface call will set This->input to NULL (you 
probably want it not changed and even if not, that's a leak). It's 
probably better idea to have local pointer to the new input instead of 
old one and change it once you know the function will succeed.

Right, another thing is that I don't load a document from input variant.


Jacek







Re: [4/5] msxml3/xsl: Store output stream for processor

2011-02-15 Thread Jacek Caban

Hi Nikolay,

On 2/14/11 9:04 PM, Nikolay Sivov wrote:

+  case VT_UNKNOWN:
+hr = IUnknown_QueryInterface(V_UNKNOWN(&output),&IID_IStream, 
(void**)&This->output);
+break;


You leak This->output here.

Jacek




Re: [3/5] msxml3/xsl: Basic put_input() method for IXSLProcessor

2011-02-15 Thread Jacek Caban

On 2/15/11 4:53 PM, Jacek Caban wrote:

Hi Nikolay,

On 2/14/11 9:04 PM, Nikolay Sivov wrote:

Basic put_input() method for IXSLProcessor




+TRACE("(%p)->(type=%d)\n", This, V_VT(&input));

I missed it in my previous mail, but we have debugstr_variant for this in 
msxml3 now.

Jacek






Re: [3/5] msxml3/xsl: Basic put_input() method for IXSLProcessor

2011-02-15 Thread Jacek Caban

Hi Nikolay,

On 2/14/11 9:04 PM, Nikolay Sivov wrote:

Basic put_input() method for IXSLProcessor



+IXMLDOMNode *old_input = This->input;
+HRESULT hr;

-FIXME("(%p): stub\n", This);
-return E_NOTIMPL;
+TRACE("(%p)->(type=%d)\n", This, V_VT(&input));
+
+/* try IXMLDOMNode directly first */
+if (V_VT(&input) == VT_UNKNOWN)
+hr = IUnknown_QueryInterface(V_UNKNOWN(&input),&IID_IXMLDOMNode, 
(void**)&This->input);
+else if (V_VT(&input) == VT_DISPATCH)
+hr = IDispatch_QueryInterface(V_DISPATCH(&input),&IID_IXMLDOMNode, 
(void**)&This->input);
+
+if (hr != S_OK)
+{
+IXMLDOMDocument *doc;
+
+hr = DOMDocument_create(&CLSID_DOMDocument, NULL, (void**)&doc);
+if (hr == S_OK)
+{
+hr = IXMLDOMDocument_QueryInterface(doc,&IID_IXMLDOMNode, 
(void**)&This->input);
+IXMLDOMDocument_Release(doc);
+}
+}
+
+if (hr == S_OK&&  old_input) IXMLDOMNode_Release(old_input);

Failure of QueryInterface call will set This->input to NULL (you probably want 
it not changed and even if not, that's a leak). It's probably better idea to have 
local pointer to the new input instead of old one and change it once you know the 
function will succeed.

Jacek





Re: Re: [PATCH] Implement software DXT1 compression

2011-02-15 Thread alberto
> An idea that was proposed before was to delegate the conversion (and the
> patents burden) to the OpenGL drivers, something like using
> glCompressedTexImage2D() / glGetCompressedTexImage(). Not sure
> whether there are hidden issues with that approach (except, well, requiring
> an OpenGL driver with compressed textures support), but at a first glance
> it doesn't look as something particularly hard to do.

Good idea. This new patch implements this approach. It seems to be working
perfectly at least with the nvidia blob. It is also much smaller than the
previous one, and doesn't require hacks like inverting colors and so on.

dxt1.patch
Description: Binary data



Re: [1/4] mshtml: Ignore IActiveScript interface for IXMLHTTPRequest (resend)

2011-02-15 Thread Alistair Leslie-Hughes

Hi Jacek,

On 14/02/2011 9:48 PM, Jacek Caban wrote:

On 2/14/11 10:03 AM, Alistair Leslie-Hughes wrote:

Changelog:
mshtml: Ignore IActiveScript interface for IXMLHTTPRequest


mshtml?

+ else if ( IsEqualGUID( riid,&IID_IActiveScript))
+ {
+ TRACE("(%p)->(IID_IActiveScript %p) returning NULL\n", This, ppvObject);
+ *ppvObject = NULL;
+ return E_NOINTERFACE;
+ }
else
{
FIXME("Unsupported interface %s\n", debugstr_guid(riid));

As discussed on wine-devel, please just change the later FIXME to TRACE
instead.


By just changing the FIXME to a TRACE would hide this fact that 
IObjectWithSite and IObjectSafety need to be implemented at some point. 
Only with msxml tracing would be see this fact, which would lead to hard 
to pin point errors.


We need to just ignore two know interfaces IActiveScript and IDispatchEx.

If we are going to stop silencing interfaces, Should be just remove the 
ones already in webbrowser(shdocvw)?  No, We do this so other developers 
can see that these interfaces are not supported and so they don't need 
to waste there time researching them.  We silence interfaces like the 
above in other places, so why no here?


Best Regards
 Alistair Leslie-Hughes





Re: [1/2] winex11.drv: Add PS_USERSTYLE support to pens (take 2)

2011-02-15 Thread Daniel
OK, actually it looks like the problem is already in X11DRV_SelectPen
and is unlikely to occur, so my patches are good.

Still, I'm thinking that if GetObjectW fails
(http://source.winehq.org/source/dlls/winex11.drv/pen.c#L45) then we
should immediately exit the function returning zero rather than mucking
around any further, setting the pen's ext field to zero, etc.  Then
PEN_SelectObject (http://source.winehq.org/source/dlls/gdi32/pen.c#L220)
wont replace the current pen with the uninitialized data.  I realize
this perhaps "shouldn't fail" after a successful call to
GDI_inc_ref_count, but it still seems more responsible.

Daniel

On 02/15/2011 01:37 AM, Daniel wrote:
> grr, please disregard previous patches.  I've discovered a problem
> that can lead to use of un-initialized values.
>
> Daniel
>
> On 02/15/2011 01:09 AM, Daniel wrote:
>> Clean up per Vitaliy's direction. Also found a FIXME comment that needed
>> to be removed.
>>
>> Daniel
>>
>>
>>