Re: [4/4] gdi32: Add a buch of CreateScalableFontResource() tests.

2010-11-14 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=7041

Your paranoid android.


=== WINEBUILD (build) ===
Patch failed to apply




Re: [5/5] gdi32: Add a buch of CreateScalableFontResource() tests.

2010-11-14 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=7042

Your paranoid android.


=== W98SE (32 bit font) ===
Failure running script in VM: Exceeded timeout limit of 315 sec

=== WNT4WSSP6 (32 bit font) ===
Timeout




Re: [PATCH 07/10] mshtml: Correctly handle DOCUMENT_FRAGMENT_NODE in IHTMLDOMNode::get_nodeType.

2010-11-14 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=7045

Your paranoid android.


=== W98SE (32 bit) ===
No test summary line found

=== W2KPROSP4 (32 bit) ===
No test summary line found

=== WXPPROSP3 (32 bit) ===
No test summary line found

=== W2K3R2SESP2 (32 bit) ===
No test summary line found

=== WVISTAADM (32 bit) ===
No test summary line found

=== W2K8SE (32 bit) ===
No test summary line found

=== W7PRO (32 bit) ===
No test summary line found

=== W7PROX64 (32 bit) ===
No test summary line found

=== W7PROX64 (64 bit) ===
No test summary line found




Re: [PATCH 10/10] mshtml: Added document fragment cloneNode implementation.

2010-11-14 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=7048

Your paranoid android.


=== W98SE (32 bit) ===
No test summary line found

=== W2KPROSP4 (32 bit) ===
No test summary line found

=== WXPPROSP3 (32 bit) ===
No test summary line found

=== W2K3R2SESP2 (32 bit) ===
No test summary line found

=== WVISTAADM (32 bit) ===
No test summary line found

=== W2K8SE (32 bit) ===
No test summary line found

=== W7PRO (32 bit) ===
No test summary line found

=== W7PROX64 (32 bit) ===
No test summary line found

=== W7PROX64 (64 bit) ===
No test summary line found




Re: [msi/tests] Cleanup properly on Win9x

2010-11-14 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=7053

Your paranoid android.


=== WXPPROSP3 (32 bit install) ===
Timeout




Re: wined3d: remove a useless variable

2010-11-14 Thread Nikolay Sivov

On 11/14/2010 22:17, David Adam wrote:


  if(wined3d_settings.rendertargetlock_mode == RTL_DISABLE) {
-static BOOL warned = FALSE;
-if(!warned) {
-ERR(The application tries to lock the render target, but render target 
locking is disabled\n);
-warned = TRUE;
-}
+ERR(The application tries to lock the render target, but render target 
locking is disabled\n);
  return;
  }

Why is it useless?




Re: wined3d: remove a useless variable

2010-11-14 Thread Nikolay Sivov

On 11/14/2010 22:41, David Adam wrote:



2010/11/14 Nikolay Sivov nsi...@codeweavers.com 
mailto:nsi...@codeweavers.com


On 11/14/2010 22:17, David Adam wrote:

 if(wined3d_settings.rendertargetlock_mode == RTL_DISABLE) {
-static BOOL warned = FALSE;
-if(!warned) {
-ERR(The application tries to lock the render
target, but render target locking is disabled\n);
-warned = TRUE;
-}
+ERR(The application tries to lock the render target,
but render target locking is disabled\n);
 return;
 }

Why is it useless?


Maybe I missed something:

Since warned= False we always enter in the if condition. Then 
warned=TRUE. But we leave the first if condition that is the lifetime 
of the variable. So the variable is destroyed ans is useless.


Am I wrong?

Well, yes. It's static. It's used to display error output once.


A+

David






Re: wined3d: remove a useless variable

2010-11-14 Thread André Hentschel

 -static BOOL warned = FALSE;
 -if(!warned) {
 -ERR(The application tries to lock the render target, but render 
 target locking is disabled\n);
 -warned = TRUE;
 -}
 +ERR(The application tries to lock the render target, but render 
 target locking is disabled\n);
   

Why is that useless? It supresses console flooding.

-- 

Best Regards, André Hentschel





Re: crypt32/tests: Add tests for decoding enveloped messages.

2010-11-14 Thread Paul Vriens

Hi Alexander,

On 11/02/2010 01:56 PM, Alexander Morozov wrote:

+CryptAcquireContextA(hCryptProv, NULL, MS_ENHANCED_PROV_A, PROV_RSA_FULL,
+ CRYPT_VERIFYCONTEXT);


Other calls use pCryptAcquireContextA but I guess that had to do with 
some platforms in the past that didn't export CryptAcquireContextA.



+SetLastError(0xdeadbeef);
+ret = CryptImportKey(hCryptProv, publicPrivateKeyPair,
+ sizeof(publicPrivateKeyPair), 0, 0,key);
+ok(ret, CryptImportKey failed: %08x\n, GetLastError());


This one fails on some WinME/NT4 (80090010 aka NTE_PERM) and crashes on 
some Win98:


http://test.winehq.org/data/tests/crypt32:msg.html

Could you have a look? If you need me to test something on my boxes 
(pv-winme and pv-nt4srvr) let me know (not all testbot machines fail here).


--
Cheers,

Paul.




Re: [PATCH 2/2] ntdll: Check for case-insensitive volumes. (try 6

2010-11-14 Thread James McKenzie

On 11/5/10 8:17 AM, Charles Davis wrote:

Changes since try 5:
o All case-sensitivity logic has been absorbed into find_file_in_dir().
o Eliminated one more stat(2) that I missed last time.
o Eliminated a statfs(2) call on Linux.

This is a far as I think I can take it without gutting it completely. If
any of you have better ideas, I'd like to hear them.
---
  dlls/ntdll/directory.c |  233 +++-
  1 files changed, 229 insertions(+), 4 deletions(-)

diff --git a/dlls/ntdll/directory.c b/dlls/ntdll/directory.c
index 865c2fa..2891792 100644
--- a/dlls/ntdll/directory.c
+++ b/dlls/ntdll/directory.c
@@ -41,6 +41,9 @@
  #ifdef HAVE_SYS_STAT_H
  # includesys/stat.h
  #endif
+#ifdef HAVE_SYS_ATTR_H
+#includesys/attr.h
+#endif
  #ifdef HAVE_SYS_IOCTL_H
  #includesys/ioctl.h
  #endif
@@ -56,6 +59,9 @@
  #ifdef HAVE_SYS_MOUNT_H
  #includesys/mount.h
  #endif
+#ifdef HAVE_SYS_STATFS_H
+#includesys/statfs.h
+#endif
  #includetime.h
  #ifdef HAVE_UNISTD_H
  # includeunistd.h
@@ -130,6 +136,35 @@ static inline int getdents64( int fd, char *de, unsigned 
int size )

  #endif  /* linux */

+#if defined(HAVE_GETATTRLIST)
+
+struct get_fsid
+{
+ULONG size;
+dev_t dev;
+fsid_t fsid;
+};
+
+struct fs_cache
+{
+dev_t dev;
+fsid_t fsid;
+BOOLEAN case_sensitive;
+} fs_cache[64];
+
+#if defined(ATTR_VOL_CAPABILITIES)  defined(VOL_CAPABILITIES_FORMAT)  \
+defined(VOL_CAP_FMT_CASE_SENSITIVE)
+
+struct vol_caps
+{
+ULONG size;
+vol_capabilities_attr_t caps;
+};
+
+#endif /* ATTR_VOL_CAPABILITIES */
+
+#endif /* HAVE_GETATTRLIST */
+
  #define IS_OPTION_TRUE(ch) ((ch) == 'y' || (ch) == 'Y' || (ch) == 't' || (ch) 
== 'T' || (ch) == '1')
  #define IS_SEPARATOR(ch)   ((ch) == '\\' || (ch) == '/')

@@ -783,6 +818,192 @@ static char *get_device_mount_point( dev_t dev )
  }


+
+#ifdef HAVE_GETATTRLIST
+/***
+ *   look_up_fs_cache
+ *
+ * Checks if the specified file system is in the cache.
+ */
+static struct fs_cache *look_up_fs_cache( dev_t dev )
+{
+int i;
+for (i = 0; i  sizeof(fs_cache)/sizeof(fs_cache[0]); i++)
+if (fs_cache[i].dev == dev)
+return fs_cache+i;
+return NULL;
+}
+
+/***
+ *   add_fs_cache
+ *
+ * Adds the specified file system to the cache.
+ */
+static void add_fs_cache( dev_t dev, fsid_t fsid, BOOLEAN case_sensitive )
+{
+int i;
+struct fs_cache *entry = look_up_fs_cache( dev );
+static int once = 0;
+if (entry)
+{
+/* Update the cache */
+entry-fsid = fsid;
+entry-case_sensitive = case_sensitive;
+return;
+}
+
+/* Add a new entry */
+for (i = 0; i  sizeof(fs_cache)/sizeof(fs_cache[0]); i++)
+if (fs_cache[i].dev == 0)
+{
+/* This entry is empty, use it */
+fs_cache[i].dev = dev;
+fs_cache[i].fsid = fsid;
+fs_cache[i].case_sensitive = case_sensitive;
+return;
+}
+
+/* Cache is out of space, warn */
+if (once++)
+WARN( FS cache is out of space, expect performance problems\n );
+}
+#endif
+
+/***
+ *   get_dir_case_sensitivity
+ *
+ * Checks if the volume containing the specified directory is case
+ * sensitive or not.
+ */
+static BOOLEAN get_dir_case_sensitivity( const char *dir )
+{
+#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
+struct statfs stfs;
+#elif defined(__NetBSD__)
+struct statvfs stfs;
+#elif defined(__linux__)
+struct stat st;
+char *cifile;
+#endif
+
+#if defined(HAVE_GETATTRLIST)  defined(ATTR_VOL_CAPABILITIES)  \
+defined(VOL_CAPABILITIES_FORMAT)  defined(VOL_CAP_FMT_CASE_SENSITIVE)
+char *mntpoint = NULL;
+struct attrlist attr;
+struct vol_caps caps;
+struct get_fsid get_fsid;
+struct fs_cache *entry;
+
+/* First get the FS ID of the volume */
+attr.bitmapcount = ATTR_BIT_MAP_COUNT;
+attr.reserved = 0;
+attr.commonattr = ATTR_CMN_DEVID|ATTR_CMN_FSID;
+attr.volattr = attr.dirattr = attr.fileattr = attr.forkattr = 0;
+get_fsid.size = 0;
+if (getattrlist( dir,attr,get_fsid, sizeof(get_fsid), 0 ) != 0 ||
+get_fsid.size != sizeof(get_fsid))
+return TRUE;
+/* Try to look it up in the cache */
+entry = look_up_fs_cache( get_fsid.dev );
+if (entry  !memcmp(entry-fsid,get_fsid.fsid, sizeof(fsid_t) ))
+/* Cache lookup succeeded */
+return entry-case_sensitive;
+/* Cache is stale at this point, we have to update it */
+
+mntpoint = get_device_mount_point( get_fsid.dev );
+/* Now look up the case-sensitivity */
+attr.commonattr = 0;
+attr.volattr = ATTR_VOL_INFO|ATTR_VOL_CAPABILITIES;
+if (getattrlist( mntpoint,attr,caps, sizeof(caps), 0 ) == 0)
+{

Re: [PATCH 5/5] d3dcompiler_43/tests: Added trigonometric function tests to HLSL test suite

2010-11-14 Thread Henri Verbeet
On 12 November 2010 21:08, Travis Athougies iamm...@gmail.com wrote:
 +    static struct hlsl_probe_info sin_probes[] =
This should be const. As a general rule, try to pay attention to at
least other patches to the same module. I fixed a couple of these
about two weeks ago. Same goes for calculating the probe count.

 +    {
 +        {0, 0, {0.5000f, 0.0f, 0.0f, 0.0f}, 0.001f, sin test failed},
 +        {1, 0, {0.5975f, 0.0f, 0.0f, 0.0f}, 0.001f, sin test failed},
 +        {2, 0, {0.6913f, 0.0f, 0.0f, 0.0f}, 0.001f, sin test failed},
 +        {3, 0, {0.7778f, 0.0f, 0.0f, 0.0f}, 0.001f, sin test failed},
 +        {4, 0, {0.8536f, 0.0f, 0.0f, 0.0f}, 0.001f, sin test failed},
 +        {5, 0, {0.9157f, 0.0f, 0.0f, 0.0f}, 0.001f, sin test failed},
 +        {6, 0, {0.9620f, 0.0f, 0.0f, 0.0f}, 0.001f, sin test failed},
 +        {7, 0, {0.9904f, 0.0f, 0.0f, 0.0f}, 0.001f, sin test failed},
 +        {8, 0, {1.f, 0.0f, 0.0f, 0.0f}, 0.001f, sin test failed},
 +        {9, 0, {0.9904f, 0.0f, 0.0f, 0.0f}, 0.001f, sin test failed},
 +        {10, 0, {0.9619f, 0.0f, 0.0f, 0.0f}, 0.001f, sin test failed},
 +        {11, 0, {0.9157f, 0.0f, 0.0f, 0.0f}, 0.001f, sin test failed},
 +        {12, 0, {0.8536f, 0.0f, 0.0f, 0.0f}, 0.001f, sin test failed},
 +        {13, 0, {0.7778f, 0.0f, 0.0f, 0.0f}, 0.001f, sin test failed},
 +        {14, 0, {0.6913f, 0.0f, 0.0f, 0.0f}, 0.001f, sin test failed},
 +        {15, 0, {0.5975f, 0.0f, 0.0f, 0.0f}, 0.001f, sin test failed},
 +        {16, 0, {0.5000f, 0.0f, 0.0f, 0.0f}, 0.001f, sin test failed},
 +        {17, 0, {0.4025f, 0.0f, 0.0f, 0.0f}, 0.001f, sin test failed},
 +        {18, 0, {0.3087f, 0.0f, 0.0f, 0.0f}, 0.001f, sin test failed},
 +        {19, 0, {0.f, 0.0f, 0.0f, 0.0f}, 0.001f, sin test failed},
 +        {20, 0, {0.1464f, 0.0f, 0.0f, 0.0f}, 0.001f, sin test failed},
 +        {21, 0, {0.0843f, 0.0f, 0.0f, 0.0f}, 0.001f, sin test failed},
 +        {22, 0, {0.0381f, 0.0f, 0.0f, 0.0f}, 0.001f, sin test failed},
 +        {23, 0, {0.0096f, 0.0f, 0.0f, 0.0f}, 0.001f, sin test failed},
 +        {24, 0, {0.f, 0.0f, 0.0f, 0.0f}, 0.001f, sin test failed},
 +        {25, 0, {0.0096f, 0.0f, 0.0f, 0.0f}, 0.001f, sin test failed},
 +        {26, 0, {0.0381f, 0.0f, 0.0f, 0.0f}, 0.001f, sin test failed},
 +        {27, 0, {0.0843f, 0.0f, 0.0f, 0.0f}, 0.001f, sin test failed},
 +        {28, 0, {0.1464f, 0.0f, 0.0f, 0.0f}, 0.001f, sin test failed},
 +        {29, 0, {0.f, 0.0f, 0.0f, 0.0f}, 0.001f, sin test failed},
 +        {30, 0, {0.3087f, 0.0f, 0.0f, 0.0f}, 0.001f, sin test failed},
 +        {31, 0, {0.4025f, 0.0f, 0.0f, 0.0f}, 0.001f, sin test failed},
 +    };
 +
32 probes is probably a bit excessive, but I guess it's not a major
problem. Note that you can easily return the cosine results in the .y
component though, instead of duplicating the complete test.




Re: [PATCH] d3dcompiler: Add initial reflection parsing.

2010-11-14 Thread Henri Verbeet
2010/11/14 Rico Schüller kgbric...@web.de:
 +HRESULT d3dcompiler_shader_reflection_init(const void *data, SIZE_T 
 data_size, void **reflector)

Allocation and initialization are different things. Either way, it's
unnecessary to make reflector void **.

 +if (!IsEqualGUID(riid, IID_ID3D11ShaderReflection))
  {
 -ERR(Failed to allocate D3D compiler shader reflection object 
 memory\n);
 -return E_OUTOFMEMORY;
 +WARN(Wrong riid %s, accept only %s!\n, debugstr_guid(riid), 
 debugstr_guid(IID_ID3D11ShaderReflection));
 +return E_FAIL;
  }
I'm not sure if you have tests for this returning E_FAIL, but
typically you'd expect E_NOINTERFACE for something like that.




Haiku talking about wine

2010-11-14 Thread Dan Kegel
Seems to have been a long thread recently about
restarting a port of Wine to Haiku, see
 http://haikuware.com/bounty-discussion/1533-wine-bounty
I don't think there was anything really happening, though.




Re: [1/2] opengl32/tests: Add tests for special case of SetPixelFormat

2010-11-14 Thread Roderick Colenbrander
Hi Matijn,

What 3D API is this game using? Is it using Direct3D or OpenGL?

If it is Direct3D then I have the feeling the 'issue' is getting fixed
in the wrong layer.

Further I'm not really sure whether we want to allow pixel format 1 to
be used at all. In case of Wine all pixel formats are hardware
accelerated (okay, the bitmaps one are set to indirect rendering so
might be software based depending on the GLX implementation). On
Windows you essentially have two GL implementations namely the
Microsoft GDI renderer and the OpenGL ICD driver. The first several
pixel formats are the ones from the software based GDI renderer...

So even though Windows might allow setting pixel format 1 on HDC 0, I
don't think it is the right thing to do.

Roderick

On Sun, Nov 14, 2010 at 9:55 AM, Matijn Woudt tijn...@gmail.com wrote:
 Add tests for special case of SetPixelFormat

 Tests pass on my Windows XP laptop and Windows 7 PC.
 The game 'Heart's Medicine Season One' depends on this behaviour.








Re: [PATCH 2/2] ntdll: Check for case-insensitive volumes. (try 6

2010-11-14 Thread Charles Davis
On 11/14/10 3:01 PM, James McKenzie wrote:
 On 11/5/10 8:17 AM, Charles Davis wrote:
 Changes since try 5:
 o All case-sensitivity logic has been absorbed into find_file_in_dir().
 o Eliminated one more stat(2) that I missed last time.
 o Eliminated a statfs(2) call on Linux.

 This is a far as I think I can take it without gutting it completely. If
 any of you have better ideas, I'd like to hear them.
 ---
   dlls/ntdll/directory.c |  233
 +++-
   1 files changed, 229 insertions(+), 4 deletions(-)

 diff --git a/dlls/ntdll/directory.c b/dlls/ntdll/directory.c
 index 865c2fa..2891792 100644
 --- a/dlls/ntdll/directory.c
 +++ b/dlls/ntdll/directory.c
 @@ -41,6 +41,9 @@
   #ifdef HAVE_SYS_STAT_H
   # includesys/stat.h
   #endif
 +#ifdef HAVE_SYS_ATTR_H
 +#includesys/attr.h
 +#endif
   #ifdef HAVE_SYS_IOCTL_H
   #includesys/ioctl.h
   #endif
 @@ -56,6 +59,9 @@
   #ifdef HAVE_SYS_MOUNT_H
   #includesys/mount.h
   #endif
 +#ifdef HAVE_SYS_STATFS_H
 +#includesys/statfs.h
 +#endif
   #includetime.h
   #ifdef HAVE_UNISTD_H
   # includeunistd.h
 @@ -130,6 +136,35 @@ static inline int getdents64( int fd, char *de,
 unsigned int size )

   #endif  /* linux */

 +#if defined(HAVE_GETATTRLIST)
 +
 +struct get_fsid
 +{
 +ULONG size;
 +dev_t dev;
 +fsid_t fsid;
 +};
 +
 +struct fs_cache
 +{
 +dev_t dev;
 +fsid_t fsid;
 +BOOLEAN case_sensitive;
 +} fs_cache[64];
 +
 +#if defined(ATTR_VOL_CAPABILITIES) 
 defined(VOL_CAPABILITIES_FORMAT)  \
 +defined(VOL_CAP_FMT_CASE_SENSITIVE)
 +
 +struct vol_caps
 +{
 +ULONG size;
 +vol_capabilities_attr_t caps;
 +};
 +
 +#endif /* ATTR_VOL_CAPABILITIES */
 +
 +#endif /* HAVE_GETATTRLIST */
 +
   #define IS_OPTION_TRUE(ch) ((ch) == 'y' || (ch) == 'Y' || (ch) ==
 't' || (ch) == 'T' || (ch) == '1')
   #define IS_SEPARATOR(ch)   ((ch) == '\\' || (ch) == '/')

 @@ -783,6 +818,192 @@ static char *get_device_mount_point( dev_t dev )
   }


 +
 +#ifdef HAVE_GETATTRLIST
 +/***
 + *   look_up_fs_cache
 + *
 + * Checks if the specified file system is in the cache.
 + */
 +static struct fs_cache *look_up_fs_cache( dev_t dev )
 +{
 +int i;
 +for (i = 0; i  sizeof(fs_cache)/sizeof(fs_cache[0]); i++)
 +if (fs_cache[i].dev == dev)
 +return fs_cache+i;
 +return NULL;
 +}
 +
 +/***
 + *   add_fs_cache
 + *
 + * Adds the specified file system to the cache.
 + */
 +static void add_fs_cache( dev_t dev, fsid_t fsid, BOOLEAN
 case_sensitive )
 +{
 +int i;
 +struct fs_cache *entry = look_up_fs_cache( dev );
 +static int once = 0;
 +if (entry)
 +{
 +/* Update the cache */
 +entry-fsid = fsid;
 +entry-case_sensitive = case_sensitive;
 +return;
 +}
 +
 +/* Add a new entry */
 +for (i = 0; i  sizeof(fs_cache)/sizeof(fs_cache[0]); i++)
 +if (fs_cache[i].dev == 0)
 +{
 +/* This entry is empty, use it */
 +fs_cache[i].dev = dev;
 +fs_cache[i].fsid = fsid;
 +fs_cache[i].case_sensitive = case_sensitive;
 +return;
 +}
 +
 +/* Cache is out of space, warn */
 +if (once++)
 +WARN( FS cache is out of space, expect performance
 problems\n );
 +}
 +#endif
 +
 +/***
 + *   get_dir_case_sensitivity
 + *
 + * Checks if the volume containing the specified directory is case
 + * sensitive or not.
 + */
 +static BOOLEAN get_dir_case_sensitivity( const char *dir )
 +{
 +#if defined(__APPLE__) || defined(__FreeBSD__) ||
 defined(__FreeBSD_kernel__)
 +struct statfs stfs;
 +#elif defined(__NetBSD__)
 +struct statvfs stfs;
 +#elif defined(__linux__)
 +struct stat st;
 +char *cifile;
 +#endif
 +
 +#if defined(HAVE_GETATTRLIST)  defined(ATTR_VOL_CAPABILITIES)  \
 +defined(VOL_CAPABILITIES_FORMAT) 
 defined(VOL_CAP_FMT_CASE_SENSITIVE)
 +char *mntpoint = NULL;
 +struct attrlist attr;
 +struct vol_caps caps;
 +struct get_fsid get_fsid;
 +struct fs_cache *entry;
 +
 +/* First get the FS ID of the volume */
 +attr.bitmapcount = ATTR_BIT_MAP_COUNT;
 +attr.reserved = 0;
 +attr.commonattr = ATTR_CMN_DEVID|ATTR_CMN_FSID;
 +attr.volattr = attr.dirattr = attr.fileattr = attr.forkattr = 0;
 +get_fsid.size = 0;
 +if (getattrlist( dir,attr,get_fsid, sizeof(get_fsid), 0 ) != 0 ||
 +get_fsid.size != sizeof(get_fsid))
 +return TRUE;
 +/* Try to look it up in the cache */
 +entry = look_up_fs_cache( get_fsid.dev );
 +if (entry  !memcmp(entry-fsid,get_fsid.fsid, sizeof(fsid_t) ))
 +/* Cache lookup succeeded */
 +return entry-case_sensitive;
 +/* Cache is stale at this point, we have to update it */
 +
 +mntpoint = get_device_mount_point( 

Re: [1/2] opengl32/tests: Add tests for special case of SetPixelFormat

2010-11-14 Thread Matijn Woudt
On Mon, Nov 15, 2010 at 12:06 AM, Roderick Colenbrander
thunderbir...@gmail.com wrote:
 Hi Matijn,

 What 3D API is this game using? Is it using Direct3D or OpenGL?

 If it is Direct3D then I have the feeling the 'issue' is getting fixed
 in the wrong layer.

It's using Direct3D, but I don't see how this can be fixed in Direct3D.


 Further I'm not really sure whether we want to allow pixel format 1 to
 be used at all. In case of Wine all pixel formats are hardware
 accelerated (okay, the bitmaps one are set to indirect rendering so
 might be software based depending on the GLX implementation). On
 Windows you essentially have two GL implementations namely the
 Microsoft GDI renderer and the OpenGL ICD driver. The first several
 pixel formats are the ones from the software based GDI renderer...

 So even though Windows might allow setting pixel format 1 on HDC 0, I
 don't think it is the right thing to do.

 Roderick

Not setting the pixel format (e.g. just returning TRUE) won't help the
game. Setting a different (hardware accelerated) format will probably
work, but that doesn't feel right. I'd really like to fix this bug,
but if the patch isn't right I don't have a clue how to fix it 'the
right way'.
Any hints?

Thanks,

Matijn

ps. Trial for the game is available at:
http://www.sandlotgames.com/w5/hearts_medicine_season_1.html (200MB),
after installing run bin/prog.exe, launcher doesn't work.

 On Sun, Nov 14, 2010 at 9:55 AM, Matijn Woudt tijn...@gmail.com wrote:
 Add tests for special case of SetPixelFormat

 Tests pass on my Windows XP laptop and Windows 7 PC.
 The game 'Heart's Medicine Season One' depends on this behaviour.









Re: [PATCH 1/4] msvcp90: Added basic_stringchar::swap implementation.

2010-11-14 Thread Piotr Caban

On 11/11/10 18:55, Vincas Miliūnas wrote:

This implementation handles cases when basic_strings are allocated using 
different allocators, however WINE's implementation seems to ignore allocators.
It's not ignoring allocators (but it's not setting allocator field). 
There's no legal way of accessing it by end user, so there's no point of 
setting it, unless it's needed internally (and it's not needed for 
correct implementation of basic_string_char_swap function).


+/* Helper function for MSVCP_basic_string_char_swap */
+void basic_string_char_swap_bufxptr_same_alloc(basic_string_char * lhs, 
basic_string_char * rhs)

+{
+char * const ptr = rhs-data.ptr;
+const size_t size = rhs-size;
+const size_t res = rhs-res;
+
+memcpy(rhs-data.buf, lhs-data.buf, lhs-size * sizeof(char));
This function should work in constant time. It should only swap pointers 
and lengths.


+/* Helper function for MSVCP_basic_string_char_swap */
+MSVCP_BOOL basic_string_char_swap_bufxptr_diff_alloc(basic_string_char 
* lhs, basic_string_char * rhs)

+{
+char tmp[BUF_SIZE_CHAR];
+const size_t size = lhs-size;
+const size_t res = lhs-res;
+memcpy(tmp, lhs-data.buf, lhs-size * sizeof(char));
+
+char * const ptr = MSVCP_allocator_char_allocate(lhs-allocator, 
rhs-res);
You can't pass unknown data to MSVCP_allocator_char_allocate, this is 
the implementation of default char allocator. When other allocators are 
in use compiler will use templates.


The function you're implementing is only used when two basic_string_char 
are swapped, because there's no legal way of modifying allocator field 
there's only one case - the same allocators are used.


Cheers,
Piotr




Re: [1/2] opengl32/tests: Add tests for special case of SetPixelFormat

2010-11-14 Thread Roderick Colenbrander
It has been a while since I last looked at this area. The following
bug came to my mind which is the same thing
http://bugs.winehq.org/show_bug.cgi?id=9786

I would start by figuring out for what purpose and for what calls the
game is using GetDC(0). Turn on some d3d debug channels and try to
figure that out. You might have to write some test cases (though they
might exists already in d3d, but I haven't looked at the test in a
while). I don't know for sure but can Direct3D actually render to the
'root_window'? I guess you can't ..

Roderick

On Sun, Nov 14, 2010 at 3:33 PM, Matijn Woudt tijn...@gmail.com wrote:
 On Mon, Nov 15, 2010 at 12:06 AM, Roderick Colenbrander
 thunderbir...@gmail.com wrote:
 Hi Matijn,

 What 3D API is this game using? Is it using Direct3D or OpenGL?

 If it is Direct3D then I have the feeling the 'issue' is getting fixed
 in the wrong layer.

 It's using Direct3D, but I don't see how this can be fixed in Direct3D.


 Further I'm not really sure whether we want to allow pixel format 1 to
 be used at all. In case of Wine all pixel formats are hardware
 accelerated (okay, the bitmaps one are set to indirect rendering so
 might be software based depending on the GLX implementation). On
 Windows you essentially have two GL implementations namely the
 Microsoft GDI renderer and the OpenGL ICD driver. The first several
 pixel formats are the ones from the software based GDI renderer...

 So even though Windows might allow setting pixel format 1 on HDC 0, I
 don't think it is the right thing to do.

 Roderick

 Not setting the pixel format (e.g. just returning TRUE) won't help the
 game. Setting a different (hardware accelerated) format will probably
 work, but that doesn't feel right. I'd really like to fix this bug,
 but if the patch isn't right I don't have a clue how to fix it 'the
 right way'.
 Any hints?

 Thanks,

 Matijn

 ps. Trial for the game is available at:
 http://www.sandlotgames.com/w5/hearts_medicine_season_1.html (200MB),
 after installing run bin/prog.exe, launcher doesn't work.

 On Sun, Nov 14, 2010 at 9:55 AM, Matijn Woudt tijn...@gmail.com wrote:
 Add tests for special case of SetPixelFormat

 Tests pass on my Windows XP laptop and Windows 7 PC.
 The game 'Heart's Medicine Season One' depends on this behaviour.










Re: wined3d: remove a useless variable

2010-11-14 Thread David Adam
2010/11/14 Nikolay Sivov nsi...@codeweavers.com

 On 11/14/2010 22:17, David Adam wrote:

   if(wined3d_settings.rendertargetlock_mode == RTL_DISABLE) {
 -static BOOL warned = FALSE;
 -if(!warned) {
 -ERR(The application tries to lock the render target, but
 render target locking is disabled\n);
 -warned = TRUE;
 -}
 +ERR(The application tries to lock the render target, but render
 target locking is disabled\n);
  return;
  }

 Why is it useless?


Maybe I missed something:

Since warned= False we always enter in the if condition. Then warned=TRUE.
But we leave the first if condition that is the lifetime of the variable. So
the variable is destroyed ans is useless.

Am I wrong?

A+

David



Re: wined3d: remove a useless variable

2010-11-14 Thread David Adam
OK. I missed that.
Sorry for the noise

A+

David

2010/11/14 Nikolay Sivov nsi...@codeweavers.com

  On 11/14/2010 22:41, David Adam wrote:



 2010/11/14 Nikolay Sivov nsi...@codeweavers.com

 On 11/14/2010 22:17, David Adam wrote:

   if(wined3d_settings.rendertargetlock_mode == RTL_DISABLE) {
 -static BOOL warned = FALSE;
 -if(!warned) {
 -ERR(The application tries to lock the render target, but
 render target locking is disabled\n);
 -warned = TRUE;
 -}
 +ERR(The application tries to lock the render target, but render
 target locking is disabled\n);
  return;
  }

 Why is it useless?


 Maybe I missed something:

 Since warned= False we always enter in the if condition. Then warned=TRUE.
 But we leave the first if condition that is the lifetime of the variable. So
 the variable is destroyed ans is useless.

 Am I wrong?

 Well, yes. It's static. It's used to display error output once.


 A+

 David