Re: msvcr100: Add wmemmove_s and wmemcpy_s
Dan Kegel d...@kegel.com writes: I asked Alexandre what http://source.winehq.org/patches/data/88732 needed before it could be reviewed. He said it needed to adapt to the recent parameter checking changes. I see that when he took my patch http://www.winehq.org/pipermail/wine-patches/attachments/20120728/bea2581d/attachment.obj and committed it as http://source.winehq.org/git/wine.git/patch/49560458426cf25b6a36bbf9bad35aa75c9f7aa7 he could remove a few assignments to *MSVCRT__errno() because MSVCRT_CHECK_PMT now does that for you. But msvcr100's wmemmove_s/wmemcpy_s are different; they do not change errno. Tests in my patch confirm this. So changing msvcr100's CHECK_PMT macro to assign to errno doesn't seem appropriate. They do set errno, the tests are broken. Check how it's done in msvcr90. -- Alexandre Julliard julli...@winehq.org
Re: About WineHQ Wiki
Am 26.08.2012 07:16, schrieb Cheer Xiao: 2012/8/26 Cheer Xiao xiaqq...@gmail.com: ... snip ... Try out MoinMoin 2.0 at this minefield[5]. The last Summer of Code[6] saw a few interesting enhancements like greatly improved themes, support for blog and ticket system (disclaimer: ticket system is my project), but the test site has not been updated yet. I have talked to the admin on #moin-dev, and I'll report back when it has been updated. The test site [1] was just updated, please give it a try :) After registering you may want to try out the new foobar theme. The theme setting can be accessed by clicking settings at top and then Wiki Appearance Settings tab, or directly via this URL[2]. Looks good (i also like the foobar theme), but sometimes weird. To add a new page i had to click through some sites first, to confirm it i had to click OK at the top(!?) and there were no preview option... Then i copied the source of a wiki entry from wine into it and viewed the result, all listings and tables work fine but links like: [http://source.winehq.org/git/wine.git/?a=searchh=HEADst=commits=+ARM ARM commits] are not recognized, so i'm rather scared of upgrading or did i missed something? (http://test.moinmo.in/ARM) Further it seems a bit more complicated with Wine, the moinmoin wiki is sponsored by http://lattica.com/ (whatever sponsored means, didn't find further information) and the code is not accessable via a wine git repo (maybe it should be in tools.git, website.git or its own). This also leads to the fact that we still have no new wiki theme years after the theme change on the website. Now that we upgraded the Forum engine we (we as in laxdragon xD) could maybe do something about the wiki, it needs love. It seems Kyle is doing a good job at the content, but the content is not everything. -- Best Regards, André Hentschel
Re: About WineHQ Wiki
2012/8/26 André Hentschel n...@dawncrow.de: Am 26.08.2012 07:16, schrieb Cheer Xiao: 2012/8/26 Cheer Xiao xiaqq...@gmail.com: ... snip ... Try out MoinMoin 2.0 at this minefield[5]. The last Summer of Code[6] saw a few interesting enhancements like greatly improved themes, support for blog and ticket system (disclaimer: ticket system is my project), but the test site has not been updated yet. I have talked to the admin on #moin-dev, and I'll report back when it has been updated. The test site [1] was just updated, please give it a try :) After registering you may want to try out the new foobar theme. The theme setting can be accessed by clicking settings at top and then Wiki Appearance Settings tab, or directly via this URL[2]. Looks good (i also like the foobar theme), but sometimes weird. To add a new page i had to click through some sites first, to confirm it i had to click OK at the top(!?) and there were no preview option... Then i copied the source of a wiki entry from wine into it and viewed the result, all listings and tables work fine but links like: [http://source.winehq.org/git/wine.git/?a=searchh=HEADst=commits=+ARM ARM commits] are not recognized, so i'm rather scared of upgrading or did i missed something? (http://test.moinmo.in/ARM) The markup syntax has changed a bit, and now you have to say [[http://www.example.com|example]] (double brackets, required bar). Single brackets are gone since some 1.x version I think. And yes, as I noted in a previous post moin2 is *not* production-ready yet and I don't suggest you jump ship now. :) What I do strongly suggest, however, is that you upgrade to moin1.9 first, since 1) there has been many security fixes[1] which are not backported to old versions, and 2) upgrade to moin2 will only be supported from moin1.9. Instructions on upgrading are available in the moin1.9 source tree[2]; also check out the moin1.9 installation doc[3]. If you encounter any problem during the upgrade, feel free to ask on #moin channel on freenode. Further it seems a bit more complicated with Wine, the moinmoin wiki is sponsored by http://lattica.com/ (whatever sponsored means, didn't find further information) and the code is not accessable via a wine git repo (maybe it should be in tools.git, website.git or its own). This also leads to the fact that we still have no new wiki theme years after the theme change on the website. Now that we upgraded the Forum engine we (we as in laxdragon xD) could maybe do something about the wiki, it needs love. It seems Kyle is doing a good job at the content, but the content is not everything. Looking forward to good news. 1. http://moinmo.in/SecurityFixes 2. http://hg.moinmo.in/moin/1.9/file/0e58d9bcd3bd/docs/ 3. http://master19.moinmo.in/InstallDocs -- Regards, Cheer Xiao
Re: winhttp: disable TLSv1.1/1.2 by default
On Sun, Aug 26, 2012 at 11:50:15AM +0900, Hiroshi Miura wrote: Windows 7 disables TLSv1.1/1.2 by default. This patch intend to behave same as Windows. Please do not... The newer TLSv1.x fix some shortcomings of the older TLS versions. Is there a specific problem you see? Otherwise, I object. Ciao, MArcus Signed-off-by: Hiroshi Miura miur...@linux.com --- dlls/winhttp/net.c | 74 1 file changed, 74 insertions(+) diff --git a/dlls/winhttp/net.c b/dlls/winhttp/net.c index 5ec4e1a..03cf9b7 100644 --- a/dlls/winhttp/net.c +++ b/dlls/winhttp/net.c @@ -52,6 +52,7 @@ #include winbase.h #include winhttp.h #include wincrypt.h +#include winreg.h #include winhttp_private.h @@ -109,8 +110,10 @@ MAKE_FUNCPTR( SSL_load_error_strings ); MAKE_FUNCPTR( SSLv23_method ); MAKE_FUNCPTR( SSL_CTX_free ); MAKE_FUNCPTR( SSL_CTX_new ); +MAKE_FUNCPTR( SSL_CTX_ctrl ); MAKE_FUNCPTR( SSL_new ); MAKE_FUNCPTR( SSL_free ); +MAKE_FUNCPTR( SSL_ctrl ); MAKE_FUNCPTR( SSL_set_fd ); MAKE_FUNCPTR( SSL_connect ); MAKE_FUNCPTR( SSL_shutdown ); @@ -408,12 +411,66 @@ static int netconn_secure_verify( int preverify_ok, X509_STORE_CTX *ctx ) } return ret; } + +static long get_tls_option(void) { +long tls_option; +DWORD type, val, size; +HKEY hkey,tls12_client,tls11_client; +LONG res; +const WCHAR Schannel_Prot[] = { /* SYSTEM\\CurrentControlSet\\Control\\SecurityProviders\\SCANNEL\\Protocols */ + 'S','Y','S','T','E','M','\\', + 'C','u','r','r','e','n','t','C','o','n','t','r','o','l','S','e','t','\\', + 'C','o','n','t','r','o','l','\\', + 'S','e','c','u','r','i','t','y','P','r','o','v','i','d','e','r','s','\\', + 'S','C','H','A','N','N','E','L','\\', + 'P','r','o','t','o','c','o','l','s',0 }; +const WCHAR TLS12_Client[] = {'T','L','S',' ','1','.','2','\\','C','l','i','e','n','t',0}; +const WCHAR TLS11_Client[] = {'T','L','S',' ','1','.','1','\\','C','l','i','e','n','t',0}; +const WCHAR DisabledByDefault[] = {'D','i','s','a','b','l','e','d','B','y','D','e','f','a','u','l','t',0}; + +tls_option = SSL_OP_NO_SSLv2; /* disable SSLv2 for security reason, and secur32/Schannel(GnuTLS) don't support it */ +res = RegOpenKeyExW(HKEY_LOCAL_MACHINE, + Schannel_Prot, + 0, KEY_READ, hkey); +if (res != ERROR_SUCCESS) { +tls_option |= SSL_OP_NO_TLSv1_2; +tls_option |= SSL_OP_NO_TLSv1_1; +goto end; +} +if (RegOpenKeyExW(hkey, TLS12_Client, 0, KEY_READ, tls12_client) == ERROR_SUCCESS) { +size = sizeof(DWORD); +if (RegQueryValueExW(tls12_client, DisabledByDefault, NULL, type, (LPBYTE) val, size) || type != REG_DWORD) { +tls_option |= SSL_OP_NO_TLSv1_2; +} else { +tls_option |= val?SSL_OP_NO_TLSv1_2:0; +} +RegCloseKey(tls12_client); +} else { +tls_option |= SSL_OP_NO_TLSv1_2; +} +if (RegOpenKeyExW(hkey, TLS11_Client, 0, KEY_READ, tls11_client) == ERROR_SUCCESS) { +size = sizeof(DWORD); +if (RegQueryValueExW(tls11_client, DisabledByDefault, NULL, type, (LPBYTE) val, size) || type != REG_DWORD) { +tls_option |= SSL_OP_NO_TLSv1_1; +} else { +tls_option |= val?SSL_OP_NO_TLSv1_1:0; +} +RegCloseKey(tls11_client); +} else { +tls_option |= SSL_OP_NO_TLSv1_1; +} +RegCloseKey(hkey); + +end: +return tls_option; +} #endif BOOL netconn_init( netconn_t *conn, BOOL secure ) { #if defined(SONAME_LIBSSL) defined(SONAME_LIBCRYPTO) int i; +long tls_option; #endif conn-socket = -1; @@ -453,8 +510,10 @@ BOOL netconn_init( netconn_t *conn, BOOL secure ) LOAD_FUNCPTR( SSLv23_method ); LOAD_FUNCPTR( SSL_CTX_free ); LOAD_FUNCPTR( SSL_CTX_new ); +LOAD_FUNCPTR (SSL_CTX_ctrl); LOAD_FUNCPTR( SSL_new ); LOAD_FUNCPTR( SSL_free ); +LOAD_FUNCPTR( SSL_ctrl ); LOAD_FUNCPTR( SSL_set_fd ); LOAD_FUNCPTR( SSL_connect ); LOAD_FUNCPTR( SSL_shutdown ); @@ -494,11 +553,20 @@ BOOL netconn_init( netconn_t *conn, BOOL secure ) LOAD_FUNCPTR( sk_num ); #undef LOAD_FUNCPTR +#define pSSL_CTX_set_options(ctx,op) \ + pSSL_CTX_ctrl((ctx),SSL_CTRL_OPTIONS,(op),NULL) +#define pSSL_set_options(ssl,op) \ + pSSL_ctrl((ssl),SSL_CTRL_OPTIONS,(op),NULL) + pSSL_library_init(); pSSL_load_error_strings(); method = pSSLv23_method(); ctx = pSSL_CTX_new( method ); + +tls_option = get_tls_option(); +pSSL_CTX_set_options(ctx, tls_option); + if (!pSSL_CTX_set_default_verify_paths( ctx )) { ERR(SSL_CTX_set_default_verify_paths failed: %s\n, pERR_error_string( pERR_get_error(), 0 )); @@ -676,12 +744,18 @@
Re: po: Update German translation
Hi André, war ich zu langsam? ;) Das Komma ist an der Stelle grammatikalisch falsch, glaube ich. Die verbundenen Controller sollten auch Plural bleiben. Mein Vorschlag wäre irgendwie so etwas: Nach dem De-/Aktivieren eines Gerätes wird die Liste der verbundenen Controller bis zum Neustart dieses Applets nicht [mehr] aktualisiert. Viele Grüsse, Julian Am Samstag, den 25.08.2012, 13:40 +0200 schrieb André Hentschel: After disabling or enabling a device, the connected joysticks won't be updated here until you restart this applet. -msgstr +msgstr Nach dem deaktivieren oder aktivieren eines Gerätes, wird der +verbundene Controller hier bis zum Neustart des Applets nicht mehr +aktualisiert.
Re: po: Update German translation
I'm very sorry for sending another private mail to the list... When I chose Answer to sender my Mailclient asked if I wanted to send a private mail, but the sender is wine-devel. Damn. Am Sonntag, den 26.08.2012, 17:47 +0200 schrieb Julian Rüger: Hi André, war ich zu langsam? ;) Das Komma ist an der Stelle grammatikalisch falsch, glaube ich. Die verbundenen Controller sollten auch Plural bleiben. Mein Vorschlag wäre irgendwie so etwas: Nach dem De-/Aktivieren eines Gerätes wird die Liste der verbundenen Controller bis zum Neustart dieses Applets nicht [mehr] aktualisiert. Viele Grüsse, Julian Am Samstag, den 25.08.2012, 13:40 +0200 schrieb André Hentschel: After disabling or enabling a device, the connected joysticks won't be updated here until you restart this applet. -msgstr +msgstr Nach dem deaktivieren oder aktivieren eines Gerätes, wird der +verbundene Controller hier bis zum Neustart des Applets nicht mehr +aktualisiert.
Re: About WineHQ Wiki
Sorry if my replies come in large batches, I'm subscribed to the mailing list digest. Sun, 26 Aug 2012 10:08, Cheer Xiao wrote: Hi all, I'm a MoinMoin contributor, one of MoinMoin's participating students in this year's Summer of Code. 2012/8/26 Kyle Auble randomidma...@yahoo.com: Sat, 25 Aug 2012 14:44, Oleg Yarigin wrote: When I edited pages in the WineHQ Wiki, I notised, its markup lankuage isn`t so good as MediaWiki`s one. How do you think about moving the Wiki into MediaWiki engine? Besides, moving each language section of the Wiki into separated subdomain (like in Wikipedia) would be a good idea too. There are some pluggable parsers for Moinmoin, and there may be one that allows MediaWiki syntax. After going through and checking, categorizing, and editing so many pages, I definitely agree with your suggestion that each language be given a domain, instead of one flat namespace. Then maybe just add a single common translation menu to the side toolbar? Indeed there is a MediaWiki parser[1]. Also, take a look at MoinMoin 2.0[2]. It has multiple markups support out of the box (including mediawiki of course). You can even mix them in a single wiki instance - this is not necessarily a good idea, but it helps when you have to migrate some content from another wiki by hand. ... Feature requests are welcome, but be noted that MoinMoin 2.0 is the current development version (it's not a development branch since the codebase is almost a total rewrite) and quite likely the feature you want is already there (or a TODO). :) Hello, I'm glad to hear there's already a line of communication. Allowing people to use MediaWiki syntax will probably be a big plus. There have been performance problems, but I noticed both the Ubuntu and Moinmoin wikis are pretty snappy so I'm thinking it's due to a strained server and using an old version of Moinmoin (although the SystemInfo macro seems to be disabled, I ran across version info somewhere, and I think Wine Wiki is running Moinmoin 1.5 or 1.6). I'm not sure if other problems I've noticed have been fixed in v1.8 or 1.9 so I would have to try out those versions before checking against v2.0. One thing I have done is written up some python code to help convert HTML tables to Moinmoin ones. I checked in Moinmoin's script market, but could only find full-blown page converters, and their output was kind of messy. I probably got carried away, but I'll attach it to http://wiki.winehq.org/WineStatus because I'm using it to move WineHQ's static status pages to the wiki. I guess that would make it LGPL so if you want to salvage a few parts from it or have me submit it to your utility marketplace, just let me know. Sun, 26 Aug 2012 16:07, Andre Hentschel wrote: Further it seems a bit more complicated with Wine, the moinmoin wiki is sponsored by http://lattica.com/ (whatever sponsored means, didn't find further information) and the code is not accessable via a wine git repo (maybe it should be in tools.git, website.git or its own). This also leads to the fact that we still have no new wiki theme years after the theme change on the website. Now that we upgraded the Forum engine we (we as in laxdragon xD) could maybe do something about the wiki, it needs love. It seems Kyle is doing a good job at the content, but the content is not everything. Thank you for the compliment. I am actually planning on doing more coding soon, but besides ramping up, I though cleaning up the wiki some first would let me see where the different parts of the project are. Applying the theme from the rest of the WineHQ is on both the WikiToDo and my own list (no guarantees about how long I would take though). Sun, 26 Aug 2012 22:46, Cheer Xiao wrote: And yes, as I noted in a previous post moin2 is *not* production-ready yet and I don't suggest you jump ship now. :) What I do strongly suggest, however, is that you upgrade to moin1.9 first, since 1) there has been many security fixes[1] which are not backported to old versions, and 2) upgrade to moin2 will only be supported from moin1.9. Helping to upgrade the wiki is on my list somewhere between finishing a first round of polishing content and trying a couple of patches to Wine itself. Although the maintainer would actually have to deploy it, I could test and work some of the kinks out of the upgrade using a local install. Dimi Paun put a lot of work into setting up the wiki in the first place and is the maintainer at lattica. From the git logs and mail list, it seems like he has been really busy with other things for a while. At times, Jeremy Newman has raised the possibility of moving the wiki to WineHQ: http://www.winehq.org/pipermail/wine-devel/2006-June/048712.html I remember stumbling across another email too, but I can't find it right now. If it's still a possibilty, I think the first step would be somehow setting up datadumps so we could start on the upgrade. If there is already a feature for admins
Re: msvcr100: Add wmemmove_s and wmemcpy_s
On Sun, Aug 26, 2012 at 1:29 AM, Alexandre Julliard julli...@winehq.org wrote: But msvcr100's wmemmove_s/wmemcpy_s are different; they do not change errno. Tests in my patch confirm this. They do set errno, the tests are broken. Aw, foo. Thanks, resent with fixes.
Unused msvcp100 functions?
There are a lot of msvcp100 functions that look like they are unused: * In string.c all of the MSVCP__String_base_*(), MSVCP_basic_string_*(), MSVCP_basic_string_wchar_*() and MSVCP_char_traits_*() functions, basic_string_w?char_replace_helper(). * In locale.c _Locinfo__Locinfo_ctor_bstr(), codecvt_{short,wchar}__Id_func(), collate_{char,short}__Getcat(), various ctype_*() functions, etc. * In ios.c, the basic_istream_*() and basic_ostream_*() functions, ios_base_Index_func() and ios_base_Sync_func(). * In math.c a lot of std_Ctraits_{double,float,long}_*() functions. Is it just that the spec file needs to catch up or that they will be used soon? I attached a more precise list of the suspects. I did not actually verify that all of them are unused but based on the ones I looked at it seems to be the case. If they are indeed unused and will remain so I can submit a patch to remove them. -- Francois Gouget fgou...@free.fr http://fgouget.free.fr/ The software said it requires Win95 or better, so I installed Linux.dlls/msvcp100/string.c: MSVCP__String_base_Xinvarg should be made static dlls/msvcp100/string.c: MSVCP__String_base_Xlen should be made static dlls/msvcp100/string.c: MSVCP__String_base_Xran should be made static dlls/msvcp100/string.c: MSVCP_basic_string_char_Pdif should be made static dlls/msvcp100/string.c: MSVCP_basic_string_char_concatenate should be made static dlls/msvcp100/string.c: MSVCP_basic_string_char_concatenate_bstr_ch should be made static dlls/msvcp100/string.c: MSVCP_basic_string_char_concatenate_bstr_cstr should be made static dlls/msvcp100/string.c: MSVCP_basic_string_char_concatenate_ch_bstr should be made static dlls/msvcp100/string.c: MSVCP_basic_string_char_concatenate_cstr_bstr should be made static dlls/msvcp100/string.c: MSVCP_basic_string_char_equal should be made static dlls/msvcp100/string.c: MSVCP_basic_string_char_equal_cstr_str should be made static dlls/msvcp100/string.c: MSVCP_basic_string_char_equal_str_cstr should be made static dlls/msvcp100/string.c: MSVCP_basic_string_char_geq should be made static dlls/msvcp100/string.c: MSVCP_basic_string_char_geq_bstr_cstr should be made static dlls/msvcp100/string.c: MSVCP_basic_string_char_geq_cstr_bstr should be made static dlls/msvcp100/string.c: MSVCP_basic_string_char_greater should be made static dlls/msvcp100/string.c: MSVCP_basic_string_char_greater_bstr_cstr should be made static dlls/msvcp100/string.c: MSVCP_basic_string_char_greater_cstr_bstr should be made static dlls/msvcp100/string.c: MSVCP_basic_string_char_leq should be made static dlls/msvcp100/string.c: MSVCP_basic_string_char_leq_bstr_cstr should be made static dlls/msvcp100/string.c: MSVCP_basic_string_char_leq_cstr_bstr should be made static dlls/msvcp100/string.c: MSVCP_basic_string_char_lower should be made static dlls/msvcp100/string.c: MSVCP_basic_string_char_lower_bstr_cstr should be made static dlls/msvcp100/string.c: MSVCP_basic_string_char_lower_cstr_bstr should be made static dlls/msvcp100/string.c: MSVCP_basic_string_char_not_equal should be made static dlls/msvcp100/string.c: MSVCP_basic_string_char_not_equal_cstr_str should be made static dlls/msvcp100/string.c: MSVCP_basic_string_char_not_equal_str_cstr should be made static dlls/msvcp100/string.c: MSVCP_basic_string_wchar_Pdif should be made static dlls/msvcp100/string.c: MSVCP_basic_string_wchar_concatenate should be made static dlls/msvcp100/string.c: MSVCP_basic_string_wchar_concatenate_bstr_ch should be made static dlls/msvcp100/string.c: MSVCP_basic_string_wchar_concatenate_bstr_cstr should be made static dlls/msvcp100/string.c: MSVCP_basic_string_wchar_concatenate_ch_bstr should be made static dlls/msvcp100/string.c: MSVCP_basic_string_wchar_concatenate_cstr_bstr should be made static dlls/msvcp100/string.c: MSVCP_basic_string_wchar_equal should be made static dlls/msvcp100/string.c: MSVCP_basic_string_wchar_equal_cstr_str should be made static dlls/msvcp100/string.c: MSVCP_basic_string_wchar_equal_str_cstr should be made static dlls/msvcp100/string.c: MSVCP_basic_string_wchar_geq should be made static dlls/msvcp100/string.c: MSVCP_basic_string_wchar_geq_bstr_cstr should be made static dlls/msvcp100/string.c: MSVCP_basic_string_wchar_geq_cstr_bstr should be made static dlls/msvcp100/string.c: MSVCP_basic_string_wchar_greater should be made static dlls/msvcp100/string.c: MSVCP_basic_string_wchar_greater_bstr_cstr should be made static dlls/msvcp100/string.c: MSVCP_basic_string_wchar_greater_cstr_bstr should be made static dlls/msvcp100/string.c: MSVCP_basic_string_wchar_leq should be made static dlls/msvcp100/string.c: MSVCP_basic_string_wchar_leq_bstr_cstr should be made static dlls/msvcp100/string.c: MSVCP_basic_string_wchar_leq_cstr_bstr should be made static dlls/msvcp100/string.c: MSVCP_basic_string_wchar_lower should be made static dlls/msvcp100/string.c:
Re: kernel32: Handle neutral locale names better in GetLocaleInfoEx
Hi, Are you sure that GetLocaleInfo can't handle these cases on its own? -- Dmitry.
Re: [3/3] gdiplus: get_log_fontW helper requires a valid graphics object.
+GdipFree(backup); I think you want GdipDeletePath. This seems very convoluted. Couldn't we just skip the size conversion in get_log_fontW when graphics is NULL? Any cases where the scaling would produce a size other than the em size need to be fixed in GdipAddPathString anyway.
Re: [3/3] gdiplus: get_log_fontW helper requires a valid graphics object.
Vincent Povirk madewokh...@gmail.com wrote: +GdipFree(backup); I think you want GdipDeletePath. Other places of GdipAddPathString implementation need this fixed as well then. This seems very convoluted. Couldn't we just skip the size conversion in get_log_fontW when graphics is NULL? Any cases where the scaling would produce a size other than the em size need to be fixed in GdipAddPathString anyway. GdipAddPathString already creates an HDC to select hfont into it, so using graphics object created from it seems pretty straightforward. -- Dmitry.
Re: kernel32: Handle neutral locale names better in GetLocaleInfoEx
On 8/27/2012 07:20, Dmitry Timoshkov wrote: Hi, Are you sure that GetLocaleInfo can't handle these cases on its own? I already added a test for that - for neutral LCID for English for example it still returns en-US as locale name and the rest of the locale entries I tested are from US locale as well. Regarding GetLocaleInfoEx - for neutral names it returns neutral locale name for LOCALE_SNAME index, however the rest of the data is still non-neutral. This mapping applies to LocaleNametoLCID too, it returns non-neutral LCID for neutral names.
Re: [3/3] gdiplus: get_log_fontW helper requires a valid graphics object.
+GdipFree(backup); I think you want GdipDeletePath. Other places of GdipAddPathString implementation need this fixed as well then. Nope, the existing use of GdipFree on backup is correct because the extra data associated with it has been copied to the original path (which had its data freed). Not the clearest way of doing things but it works. This seems very convoluted. Couldn't we just skip the size conversion in get_log_fontW when graphics is NULL? Any cases where the scaling would produce a size other than the em size need to be fixed in GdipAddPathString anyway. GdipAddPathString already creates an HDC to select hfont into it, so using graphics object created from it seems pretty straightforward. Fair enough. On closer inspection, it looks like the behavior should be the same as before, so it doesn't really matter. I just prefer less memory management, all other things being equal.
Re: msxml3: Implement xmldecl-version property for a reader
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=21252 Your paranoid android. === W2KPROSP4 (32 bit saxreader) === saxreader.c:2365: Test failed: got 0x80040154, expected 0x saxreader: unhandled exception c005 at 00443BC3 === WXPPROSP3 (32 bit saxreader) === saxreader.c:2365: Test failed: got 0x80040154, expected 0x saxreader: unhandled exception c005 at 00443BC3 === W2K3R2SESP2 (32 bit saxreader) === saxreader.c:2365: Test failed: got 0x80040154, expected 0x saxreader: unhandled exception c005 at 00443BC3 === WVISTAADM (32 bit saxreader) === saxreader.c:2365: Test failed: got 0x80040154, expected 0x saxreader: unhandled exception c005 at 00443BC3 === W2K8SE (32 bit saxreader) === saxreader.c:2365: Test failed: got 0x80040154, expected 0x saxreader: unhandled exception c005 at 00443BC3 === W7PRO (32 bit saxreader) === saxreader.c:2365: Test failed: got 0x80040154, expected 0x saxreader: unhandled exception c005 at 00443BC3 === W7PROX64 (32 bit saxreader) === saxreader.c:2365: Test failed: got 0x80040154, expected 0x saxreader: unhandled exception c005 at 00443BC3 === TEST64_W7SP1 (32 bit saxreader) === saxreader.c:2365: Test failed: got 0x80040154, expected 0x saxreader: unhandled exception c005 at 00443BC3 === W7PROX64 (64 bit saxreader) === saxreader.c:2365: Test failed: got 0x80040154, expected 0x Timeout === TEST64_W7SP1 (64 bit saxreader) === saxreader.c:2365: Test failed: got 0x80040154, expected 0x Timeout