Re: [PATCH 5/5] user32: Implement better stub of OpenInputDesktop.

2013-10-09 Thread Vincent Povirk
I don't think it's possible to properly implement SwitchDesktop in either the X11 or Mac driver. There's just nothing sensible for it to do. One possible strategy would be to implement SwitchDesktop in user32 and wineserver. Wineserver could logically track the input desktop, and OpenInputDesktop

Re: mscoree: Partial implement ICLRMetaHost RequestRuntimeLoadedNotification (try 2)

2013-10-07 Thread Vincent Povirk
HRESULT CLRMetaHost_CreateInstance(REFIID riid, void **ppobj) { +GlobalCLRMetaHost.callback = NULL; return ICLRMetaHost_QueryInterface(GlobalCLRMetaHost.ICLRMetaHost_iface, riid, ppobj); } I don't think we should be changing global state every time someone creates an instance of this

Re: I'm not sure why it was rejected

2013-10-02 Thread Vincent Povirk
I guess if you SetLastError to not implemented you cannot return S_OK too It doesn't make sense to use SetLastError at all for functions returning HRESULT.

Re: mscoree: Implement CreateInterface

2013-10-01 Thread Vincent Povirk
Any reason not to share code with CLRCreateInstance?

Re: [PATCH 1/2] appwiz.cpl: Use the same dialog template for Mono and Gecko downloader.

2013-09-27 Thread Vincent Povirk
Isn't this going to make the caption Wine Gecko Installer in both cases?

Re: [PATCH 2/2] winemac: Implement support for global hot keys.

2013-09-19 Thread Vincent Povirk
I don't think this is going to work correctly when replacing hotkeys (by passing an already-registered hwnd and id to RegisterHotKey with a different key combination). Since the user driver's RegisterHotKey function will be called with the new id/vkey/flags before UnregisterHotKey is called for

Re: [5/9] gdiplus: Fix empty glyph handling.

2013-09-17 Thread Vincent Povirk
Typically, native GetGlyphOutlineW(hdc, ' ', GGO_BITMAP, gm, 0, NULL, ...) returns gm.gmBlackBoxX = 1 instead of 0. Unfortunately, Wine's didn't, and existing source codes (winex11, gdiplus, gdi32) expect 0 in this case. I don't think the existing code for finding the mask size would

Re: [5/9] gdiplus: Fix empty glyph handling.

2013-09-16 Thread Vincent Povirk
Thanks for you comments. The answer is yes, as you guessed. Typically, native GetGlyphOutlineW(hdc, ' ', GGO_BITMAP, gm, 0, NULL, ...) returns gm.gmBlackBoxX = 1 instead of 0. Unfortunately, Wine's didn't, and existing source codes (winex11, gdiplus, gdi32) expect 0 in this case. I don't

Re: windowscodecs: Implement CreateBitmapFromHBITMAP.

2013-09-16 Thread Vincent Povirk
Maybe the format for 32-bit bitmaps should be determined by the alpha channel options? On Monday, September 16, 2013, Dmitry Timoshkov dmi...@baikal.ru wrote: Based on a gdiplus implementation. --- dlls/windowscodecs/imgfactory.c | 149 +-

Re: windowscodecs: Implement CreateBitmapFromHBITMAP.

2013-09-16 Thread Vincent Povirk
Probably, but as the patch comment says the code is based on gdiplus implementation, and there is no such an option flag in the corresponding gdiplus API params. I'd suggest to accept the patch as as, and make further improvements based on it. Fair enough, the patch looks good otherwise.

Re: [5/9] gdiplus: Fix empty glyph handling.

2013-09-15 Thread Vincent Povirk
This seems suspicious to me. Why can't we use those values in glyphmetrics if GetGlyphOutlineW returns 0? Does Windows provide bad values in this case, or is our GetGlyphOutlineW broken? When does the call to GetGlyphOutlineW in the second loop fail, and why ignore those failures?

Re: [5/9] gdiplus: Fix empty glyph handling.

2013-09-15 Thread Vincent Povirk
BTW, we should probably quit early if max_glyphsize is 0 at the end of the first loop, rather than fail with OutOfMemory.

Re: Embedding a HWND window into an X11 window

2013-08-29 Thread Vincent Povirk
The systray/notification area code has to do that: http://source.winehq.org/source/dlls/winex11.drv/systray.c#L620 I don't think it can be done without modifying winex11.drv.

Re: Embedding a HWND window into an X11 window

2013-08-29 Thread Vincent Povirk
This solutions implies to modify wine, so do you think that this patch or an improved version could be merged into wine? Because I don't want to require a custom version of wine. Even if it were merged, that would not give you the ability to use it from within a Windows or winelib program. For

Re: mscoree: Attempt to load the assembly from the application directory (try 2)

2013-08-21 Thread Vincent Povirk
+/* Assume the namespace is the Assembly name */ Uh, what? We should only be passing an assembly name to get_file_from_strongname, not the class name. You shouldn't even have access to the class name. I think what you're actually doing here is skipping the assembly name and using

Re: PLEASE add bug links!

2013-08-16 Thread Vincent Povirk
If we really want the links to be up to date, we should figure out a way to make them show up on bugzilla, without clicking through to a search. Otherwise, the only time someone is likely to notice a bug that hasn't been linked is if they're looking for it specifically and happened to start their

Re: mscoree: Redirect .NET 1.0 to .NET 2.0

2013-08-15 Thread Vincent Povirk
mscoree.c:179: Test failed: version is Lv1.1.4322 , expected Lv2.0.50727 Ah, that's because we're hard-coding the index to 2.0 here: http://source.winehq.org/source/dlls/mscoree/metahost.c#L1392

Re: mscoree: Redirect .NET 1.0 to .NET 2.0

2013-08-14 Thread Vincent Povirk
Looks good, thanks.

Re: mscoree: Attempt to load the assembly from the application directory

2013-08-14 Thread Vincent Povirk
This seems suspicious to me. You appear to be taking the namespace of the class and assuming it's an assembly name. Is there really no other information in the registry that could be used to identify the assembly?

Re: mscoree: Attempt to load the assembly from the application directory

2013-08-14 Thread Vincent Povirk
If we have the assembly name, then we should be using that to decide on the filename to try in the application directory, not the namespace.

Re: mscoree: Attempt to load the assembly from the application directory

2013-08-14 Thread Vincent Povirk
On Wed, Aug 14, 2013 at 4:04 PM, Daniel JeliƄski djelins...@gmail.com wrote: That being said, I think this is the wrong place for this change. Method get_file_from_strongname [1] is better suited for that purpose IMO. Doing it that way is probably more correct, but it's also more dangerous

Re: Wine Gecko repo

2013-08-13 Thread Vincent Povirk
There is dedicated git hosting software (such as gitolite and gitosis - most people in #git seem to prefer gitolite) that provides account-based access to Git repositories without providing any general shell access. Perhaps something like that could be set up on source.winehq, running on a

Re: gdiplus: Only clip strings if rectangle width and height are positive.

2013-08-13 Thread Vincent Povirk
if (!(format_flags StringFormatFlagsNoClip) -scaled_rect.Width != 1 23 scaled_rect.Height != 1 23) +scaled_rect.Width != 1 23 scaled_rect.Height != 1 23 +rect-Width 0.0 rect-Height 0.0) { /* FIXME: If only the width or only the height is

Re: Question about implementing application compatibility

2013-08-12 Thread Vincent Povirk
This is awfully overcomplicated (plus I do not know how to make such a global variable in wine) so I was wondering is it OK to implement this differently than windows does it. If the implementation does not have to be the same to preserve compatibility, then you should ignore those details

Re: wine mannual is wrong?

2013-08-05 Thread Vincent Povirk
You can also run console apps without a graphics driver (if they don't do anything that requires one).

Re: Possibility of adding a new patch status

2013-07-31 Thread Vincent Povirk
Wouldn't these two points simply earn a 'Rejected' status and/or some kind of comment on the wine-devel list? Applying a Rejected status would require looking at the patch. But it could be nice to have a status that means I will not even read a patch from this person to do this specific thing

Re: Possibility of adding a new patch status

2013-07-30 Thread Vincent Povirk
I think I've seen patches stay in the New state in the following cases: * He's convinced you do not have the ability to write a patch he would accept. (There's a common pattern where people will take feedback and attempt to revise their patch to account for it, but not really understand the

Re: windowscodecs: Workaround libtiff bug when it defines toff_t as 32-bit for 32-bit builds. Take 2.

2013-07-26 Thread Vincent Povirk
There's a TIFF_VERSION define that seems to have been renamed to TIFF_VERSION_CLASSIC in 4.0. It doesn't make sense to do the check at runtime, given we're only going to link to one of the versions.

Re: windowscodecs: Workaround libtiff bug when it defines toff_t as 32-bit for 32-bit builds.

2013-07-25 Thread Vincent Povirk
I have no opinion on this sort of work-around (it should work afaict, and I haven't found any other places where we currently use toff_t), but did you file a bug with whatever distro has such broken headers?

Re: windowscodecs: Workaround libtiff bug when it defines toff_t as 32-bit for 32-bit builds.

2013-07-25 Thread Vincent Povirk
Actually, this will be a problem on libtiff 3.x, where toff_t really is supposed to be 32-bit.

Re: appwiz: Correct Wine Mono installer messages

2013-07-22 Thread Vincent Povirk
Okay but at the moment, in those languages, a user is currently being told Gecko needs to be installed, followed by Gecko needs to be installed. Are you sure this isn't caused by needing 32-bit and 64-bit builds of Gecko?

Re: [2/2] gdiplus: Store graphics clipping region in device coordinates.

2013-07-19 Thread Vincent Povirk
I'm curious what happens if the world transform has some rotation. It seems like transform_rectf would break in that case.

Re: [1/4] wincodecs: Added IWICBitmapClipper stub

2013-07-19 Thread Vincent Povirk
This series looks good to me.

Re: [1/2] windowscodecs: Add a test for global GIF palette exposed by recent Windows versions.

2013-07-19 Thread Vincent Povirk
The series looks good to me.

Re: [2/2] gdiplus: Store graphics clipping region in device coordinates.

2013-07-19 Thread Vincent Povirk
It works just fine in the samples I have here, why would it break? If the rotation is a multiple of 90 degrees, the upper-left corner will not be the same point, but you're not making any attempt to use a different corner for the origin of your rectangle. If the rotation is something like 45

Re: [PATCH] gdiplus: fixing identical sub-expressions

2013-07-07 Thread Vincent Povirk
I'm not sure we should change this during code freeze.

Re: Possible help or direction to build Win to Linux pass through device - resent

2013-07-04 Thread Vincent Povirk
Do you mean by winelib dll that the wine/Liunux native .so style DLL is built which is linked/imported through fakedlib to the application? That looks like feasible solution and I would consider this solution if there is interrest in the application in Linux community and not enough resource

Re: Possible help or direction to build Win to Linux pass through device - resent

2013-07-02 Thread Vincent Povirk
I don't know much about this, but it sounds like a driver is the right way to do this. It's probably just a case of Wine's driver support not being good enough yet to support what you want to do. So the less intrusive/hacky way to fix this would be to improve Wine's driver support, ideally to a

Re: Possible help or direction to build Win to Linux pass through device - resent

2013-07-02 Thread Vincent Povirk
What others have suggested in similar situations is to build a Linux application that speaks to the device driver directly, and provides a socket interface, then use sockets from the Windows program to talk to the device. I didn't think of that. A winelib dll providing an API for directly

Re: gdiplus: fix a clipping regression in GdipDrawString (try 2)

2013-06-12 Thread Vincent Povirk
What if rect.Width is 0.25? Shouldn't we still clip then?

Re: Main sources of Wine complexity

2013-06-10 Thread Vincent Povirk
You may want to look into libwapi, which is a small library bundled in the Mono source code that provides implementations of some Windows API functions, which are simple but lacking features/compatibility. Synchronization objects are local to the process, and there are no drive letters, for

Re: [PATCH 1/2]vbscript: Implemented builtin function CInt(try 2)

2013-04-21 Thread Vincent Povirk
The man page for modf claims it produces an exact fractional part: http://manpages.ubuntu.com/manpages/quantal/en/man3/modf.3.html It's possible for modf to do this because the fractional part of a floating point number cannot require more precision than the original value. So I think you've

Re: [PATCH 1/2]vbscript: Implemented builtin function CInt(try 2)

2013-04-20 Thread Vincent Povirk
Dealing with the bits of a floating point number directly is a bit odd, and it makes it hard to review the code. Is there a reason you don't want to use things like modf, floor, and ceil?

Re: zlib's gzseek return gabbage and fails intermittently under wine.

2013-04-14 Thread Vincent Povirk
considering how old zlib is and the vast number of windows application which uses zlib Given how many people duplicate the effort to package zlib, the fact that they're rarely updated, and the sort of problems gnulib exists to work around, it would not surprise me if your particular zlib

Re: zlib's gzseek return gabbage and fails intermittently under wine.

2013-04-14 Thread Vincent Povirk
Well, here's a simple thing you can check: Does your zlib dll link to _lseek or _lseeki64? The first one uses a 32-bit offset. Wine's implementation (http://source.winehq.org/source/dlls/msvcrt/file.c#L1090) expands that to 64-bit and later truncates the file offset to 32-bit. For a file larger

Re: gdiplus: fix a clipping problem

2013-04-12 Thread Vincent Povirk
This looks wrong. scaled_rect is an internally calculated value, not something supplied by the user, and comparing it to 0.5 doesn't make sense, especially since by this point the width was altered to add padding.

Re: [1/3] include: Add COM interface definitions needed for PrintDlgEx implementation.

2013-04-09 Thread Vincent Povirk
And why bother checking UNICODE? Please clarify. +MIDL_INTERFACE(509aaeda-5639-11d1-b6a1-f8757bf9) +IPrintDialogServices : public IUnknown +{ +#ifdef UNICODE +virtual HRESULT STDMETHODCALLTYPE GetCurrentDevMode(LPDEVMODEW,UINT *) = 0; +virtual HRESULT STDMETHODCALLTYPE

Re: [1/4] windowscodecs: Basic tests for tiff encoder options (try3)

2013-04-01 Thread Vincent Povirk
Is there anything wrong with my patches? The first one is marked as Pending. The tests at least seem fine to me, assuming they currently pass on Wine. Patch 2 still has some struct initialization with named fields, which I don't think is allowed, but I figured I'd let that go and see what

Re: exploring/possibly porting winelib app to support 64bit.

2013-04-01 Thread Vincent Povirk
Given that Wine uses winelib for its builtin exe's and dll's, and that the way it works is not much different from a PE exe or dll, I don't think winelib is likely to be at fault here. My guess is that you are running into an ordinary Wine bug relating to your specific dll (and probably Wine's

Re: Windows API on Linux

2013-03-30 Thread Vincent Povirk
Mono on non-Windows platforms ships with a static library called io-layer that implements a small subset of the Windows API for compatibility reasons, without any server processes or a registry. It does not (normally) attempt to do any path translation, so I think that's as close as possible to

Re: [GSoC] My proposal for GSoC 2013

2013-03-20 Thread Vincent Povirk
I think the reasons for the limitation on the virtual desktop setting are more ideological than technical. It used to work the way you say, but then Wine's desktop management was overhauled so that: * Explorer.exe manages all desktop windows, including the virtual desktop. I believe this is

Re: gdiplus: Ignore gdiplus page and world transformations when creating a gdi32 clipping region.

2013-03-13 Thread Vincent Povirk
I guess this makes sense, because having the clipping region change with transforms would be weird when drawing recursively and changing the transform. I had assumed clipping regions were in world coordinates because most things are, but I didn't really have any information either way.

Re: [1/3] Revert gdiplus: Add support for StringFormatFlagsNoClip.

2013-03-04 Thread Vincent Povirk
Yay, thanks for fixing this. +1 :D

Re: Making wine default to the Mac Driver on OS X

2013-03-02 Thread Vincent Povirk
Maybe we could just skip loading the x11 driver is DISPLAY is unset. It brings some logic into the driver logic that doesn't really belong there, but it seems like a reasonable optimization and in practice would work the way Alexandre wants even when the x11 libraries are as spectacularly broken

Re: gdiplus: GdipDrawString should handle alignment in both directions in a similar way. Take 2.

2013-03-01 Thread Vincent Povirk
Sorry, I'm still not sure this is going to work. It seems to me that different lines will have to be offset by different amounts, and it's not clear to me how that's going to happen without the alignment logic in gdip_format_string. I'm also wondering if a change to the alignment logic in

Re: gdiplus: GdipDrawString should handle alignment in both directions same way.

2013-02-28 Thread Vincent Povirk
-if (format) halign = format-align; -else halign = StringAlignmentNear; - How are you handling the case where format is NULL?

Re: gdiplus: GdipDrawString should handle alignment in both directions same way.

2013-02-28 Thread Vincent Povirk
How are you handling the case where format is NULL? Never mind, I see what you're doing. But since the block where you now handle the horizontal alignment is inside an if (format-vertalign != StringAlignmentNear), this will break horizontal alignment when a vertical alignment is not set.

Re: [2/3] gdiplus: Round up when converting from 32-bit ARGB to PARGB.

2013-02-25 Thread Vincent Povirk
Are you sure about this? Other tests have suggested that native is not this exact when dealing with color values, and different OS versions have produced slightly different results. Is there an application that relies on this, or is there a reason this is generally more correct behavior when

Re: [2/3] gdiplus: Round up when converting from 32-bit ARGB to PARGB.

2013-02-25 Thread Vincent Povirk
Never mind, this makes sense to me now.

Re: A new demangler test?

2013-02-25 Thread Vincent Povirk
While this may be a useful exercise (and I'd personally like to see some demangler improvements, particularly support for managed references), this sort of broad test doesn't make sense for the Wine test suite, especially if we can't be sure it will always work on Windows. It's the sort of thing

Re: gdiplus: Remove debug traces from GdipBitmapGetPixel and GdipBitmapSetPixel.

2013-02-22 Thread Vincent Povirk
alpha_blend_bmp_pixels() calls them while copying bitmap bits with an alpha channel. This makes debug logs huge, hard to analyze, and completely unmanagable in size. GDI+ should be fixed so it doesn't call these functions internally. It's just not an efficient way to render to bitmaps.

Re: [14/14] gdiplus: Reimplement GdipDrawPath.

2013-02-19 Thread Vincent Povirk
Please don't apply this [14/14] patch, it causes a test failure. I'm sending it to show how this is going to look like eventually. Yeah, GdipWidenPath isn't good enough for this yet. But I agree this is the way to go, and the rest of the series looks good.

Re: [14/14] gdiplus: Reimplement GdipDrawPath.

2013-02-19 Thread Vincent Povirk
Well, GdipWidenPath is actually good enough for the things I've tested so far, so it's basically working. What are the possible problems with it you are aware of? It doesn't implement dashed lines and most line cap styles. I think it also mishandles pen-width == 0. It doesn't have to be

Re: windowscodecsext: Implement WICCreateColorTransform_Proxy and IWICColorTransform_Initialize_Proxy.

2013-02-11 Thread Vincent Povirk
OK, I'm about to say something weird, and I'll understand if everyone else decides to ignore it. I don't think WICCreateColorTransform_Proxy, or any of the Proxy functions, should initialize or make use of COM. Instead, I think it should work by calling WICCreateImagingFactory_Proxy. I suspect

Re: [4/4] windowscodecs: Implement IWICComponentFactory::CreateDecoderFromFileHandle.

2013-02-06 Thread Vincent Povirk
+hr = map_file(file, map, mem, size); +if (FAILED(hr)) return hr; + ... + +hr = IWICStreamImpl_InitializeFromMemory(stream, mem, size.u.LowPart); +if (FAILED(hr)) goto error; This makes me sad. Is this really simpler than implementing Write and Seek for a file handle?

Re: [2/5] windowscodecs: Basic tests for tiff encoder options

2013-02-05 Thread Vincent Povirk
+{ wszTiffCompressionMethod, VT_UI1, VT_UI1, {.iVal=WICTiffCompressionDontCare} }, This .field=value initialization syntax is not acceptable for Wine (not in C89). I don't know another way to initialize unions. +if (clsid_encoder == CLSID_WICTiffEncoder) +todo_wine

Re: [2/5] windowscodecs: Basic tests for tiff encoder options (try2)

2013-02-05 Thread Vincent Povirk
@Vincent: I thought about adding the properties one at a time but it seemed a bit like overkill for the tiff encoder, which has only two options. But I will defenitly do this for the jpeg encoder, which has much more options. Well, actually, on further consideration I can understand why you

Re: gdiplus: Avoid not necessary memory allocation for BITMAPINFO.

2013-01-29 Thread Vincent Povirk
Did you try running the tests in valgrind with this change? You're essentially reverting 0ecd8daa16e4aa3df157a1175c611cdffc66d6fe which I think was done to make valgrind happy.

Re: [4/6] windowscodecs: Implement IPropertyBag2::GetPropertyInfo

2013-01-24 Thread Vincent Povirk
+if (This-properties[i].pstrName) +{ +HeapFree(GetProcessHeap(), 0, This-properties[i].pstrName); +} HeapFree already checks for NULL, so there's no need for an if statement here.

Re: [5/6] windowscodecs: Implement IPropertyBag2::Write

2013-01-24 Thread Vincent Povirk
if (This-properties[i].pstrName) { HeapFree(GetProcessHeap(), 0, This-properties[i].pstrName); +VariantClear( This-values+i ); /* Not initialized if pstrName not initialized */ } ... { This-properties =

Re: [6/6] windowscodecs: Implement IPropertyBag2::Read

2013-01-24 Thread Vincent Povirk
+if (idx -1) +{ +VariantInit(pvarValue+i); +res = VariantCopy(pvarValue+i, This-values+idx); +phrError[i] = res; +if (FAILED(res)) +break; +} This looks wrong to me. We have an array of error values to set

Re: [1/6] windowscodecs: Add tests for IPropertyBag2

2013-01-24 Thread Vincent Povirk
Other than the 6/6, this series looks good to me. Thanks for breaking this up. It makes it much easier to review.

Re: [PATCH] windowscodecs: Add support for DIB format.

2013-01-21 Thread Vincent Povirk
I'd suggest to use public APIs instead of inventing extenstions. CreateBitmapFromMemory should work for this purpose if you really need to do it using windowscodecs, otherwise GDI APIs may work as well. I've been of the opinion that we should have a separate dll for Wine extensions to WIC,

Re: [PATCH] windowscodecs: Add support for DIB format.

2013-01-21 Thread Vincent Povirk
If there's really a demand for using native windowscodecs without breaking d3dx9 (which already happens because of the TGA decoder), I can supply a win32 build of our WIC extensions that winetricks could install with it. I can't do anything about ICNS. Yes, there are other ways we could do this.

Re: [PATCH] windowscodecs: Add support for DIB format.

2013-01-21 Thread Vincent Povirk
If there's really a demand for using native windowscodecs without breaking d3dx9 (which already happens because of the TGA decoder), I can supply a win32 build of our WIC extensions that winetricks could install with it. I can't do anything about ICNS. TGA is the simplest format I've ever

Re: [PATCH] windowscodecs: Add support for DIB format.

2013-01-21 Thread Vincent Povirk
TGA is the simplest format I've ever seen, CreateBitmapFromMemory is the straight way to handle it. I haven't looked at ICNS support, but probably it could be implemented using public APIs as well. The main reason I put the TGA decoder in WIC is that I know nothing about d3dx9 and wanted

Re: [1/6] windowscodecs: Implementation of IPropertyBag2

2013-01-19 Thread Vincent Povirk
You'll probably have to split this into smaller patches. +return E_FAIL; /* FIXME: Function is not atomar on error, but MSDN does not say anything about it */ I don't understand. Are you saying native leaks memory on error, and if so how do you know this? +

Re: windowscodecs: Implement CreateBitmapFromHICON. Take 2.

2013-01-13 Thread Vincent Povirk
Looks good to me.

Re: [2/2] windowscodecs: Implement CreateBitmapFromHICON, based on a gdiplus implementation.

2013-01-11 Thread Vincent Povirk
You appear to be leaking the IWICBitmapLock object. Also, it seems odd that you're using the buffer AND IWICBitmapLock. I assume the point of passing a buffer to BitmapImpl_Create (and wasting a bit of time/memory) was to avoid IWICBitmapLock.

Re: [2/2] windowscodecs: Implement CreateBitmapFromHICON, based on a gdiplus implementation. Resend.

2013-01-11 Thread Vincent Povirk
I hadn't noticed you had resent this, and made comments on the earlier mail which still apply.

Re: [1/2] windowscodecs: Add a test for loading a .bmp file with BITMAPINFOHEADER.

2013-01-09 Thread Vincent Povirk
Series looks fine to me. And yes, testbot has been broken for a while now..

Re: [PATCH 3/6] loader: On Mac, embed Info.plist in (__TEXT, __info_plist) section.

2013-01-07 Thread Vincent Povirk
On Mon, Jan 7, 2013 at 11:24 AM, Charles Davis cdavi...@gmail.com wrote: One area that might still be a problem, though, is if we associate *.exe files with Wine itself: then when a user double-clicks on a Win32 executable, LS will go straight to executing Wine. You shouldn't be doing that

Re: windowscodecs: Implement ComponentFactory_CreateBitmapFromMemory. Take 2.

2013-01-04 Thread Vincent Povirk
This looks good to me (and it's hard for me to stick to my preference for IWICBitmapLock, given how little code is needed here to accomplish the same thing). The remaining todo is an unrelated bug that's my fault, and I'll resend my patch for it if this one is accepted.

Re: [1/4] windowscodecs: Introduce 24bppRGB PixelFormat

2013-01-04 Thread Vincent Povirk
The series looks good to me. Of course, we can already read 8-bit tiffs just fine, but I guess your app makes use of the 8bpp RGB format. We could probably avoid a double conversion between rgb and bgr when reading an 8-bit tiff as rgb, by implementing and using the IWICBitmapSourceTransform

Re: [3/4] windowscodecs: Implement CreateBitmapFromMemory.

2013-01-02 Thread Vincent Povirk
On Wed, Jan 2, 2013 at 11:42 PM, Dmitry Timoshkov dmi...@baikal.ru wrote: It's better to actually check return value of IWICBitmapLock_GetDataPointer before memecpy(), or if that's not supposed to fail drop 'hr' assignment. Whoops, good catch. (I don't think it can fail, but I didn't mean to

Re: [2/2] windowscodecs: Implement ComponentFactory_CreateBitmapFromMemory.

2012-12-27 Thread Vincent Povirk
/imgfactory.c +++ b/dlls/windowscodecs/imgfactory.c @@ -1,5 +1,6 @@ /* * Copyright 2009 Vincent Povirk for CodeWeavers + * Copyright 2012 Dmitry Timoshkov * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public

Re: [2/2] windowscodecs: Implement ComponentFactory_CreateBitmapFromMemory.

2012-12-27 Thread Vincent Povirk
I'm pretty sure CreateBitmapFromMemory copies the data rather than referencing existing data. How do you know that? In any case adding a test case and support for that behaviour should be pretty trivial once this patch is accepted. I believe it was this stack overflow question that first

Re: [2/2] windowscodecs: Implement ComponentFactory_CreateBitmapFromMemory.

2012-12-27 Thread Vincent Povirk
Looks like I won't be around when this finishes, but I sent a test to testbot: https://testbot.winehq.org/JobDetails.pl?Key=23638 This should succeed if your implementation is correct (data is referenced, not copied).

Re: Does Wine benefit from libtiff5 over libtiff4?

2012-12-17 Thread Vincent Povirk
It's much simpler if I can build on 12.04 and copy the binary packages, however this means I can't use libtiff5 if I do so. Is there any benefit in doing a separate build just for this? At this point there is no benefit, but once bigtiff support is added to windowscodecs.dll there will be

Re: Announcing the Mac driver

2012-12-12 Thread Vincent Povirk
Thank you. That makes sense - that's the size of mono thereabouts. I guess my next question is, does it also have codeweaver-specific bits? Sorry this sounds rather lazy, but I am sure more than one person wants to know :-). There are no CrossOver-specific changes to wine-mono. It's even the

[3/4] gdiplus: Always use AlphaBlend to draw to 32-bit DIB's.

2012-12-05 Thread Vincent Povirk
From c785203469fe96df081c5b0812d64699ec8f4f2f Mon Sep 17 00:00:00 2001 From: Vincent Povirk vinc...@codeweavers.com Date: Wed, 5 Dec 2012 13:15:25 -0600 Subject: [PATCH 3/4] gdiplus: Always use AlphaBlend to draw to 32-bit DIB's. --- dlls/gdiplus/gdiplus_private.h |1 + dlls/gdiplus

Re: [2/3] gdiplus: If a 32-bit dib is selected in an hdc, use the dib directly.

2012-12-04 Thread Vincent Povirk
you won't get a negative height with GetObject, Hmm, is GdipCreateBitmapFromHBITMAP doing it right, then? It assumes all DIB objects have positive stride. you won't get DIB info at all for DDBs. I don't think it makes sense to do this for DDBs, as I can't draw them directly and don't expect

Re: [2/3] gdiplus: If a 32-bit dib is selected in an hdc, use the dib directly.

2012-12-04 Thread Vincent Povirk
It assumes all DIB objects have positive stride. Sorry, I misread, that's assuming a negative stride.

Re: [2/3] gdiplus: If a 32-bit dib is selected in an hdc, use the dib directly.

2012-12-04 Thread Vincent Povirk
you won't get a negative height with GetObject, Hmm, is GdipCreateBitmapFromHBITMAP doing it right, then? It assumes all DIB objects have positive stride. No, that's wrong. It should most likely just do a GetDIBits (in one go, not line by line like it currently does). Does that mean

Re: [3/3] gdiplus: Bitmaps created from a 32-bit dib should be PARGB.

2012-12-03 Thread Vincent Povirk
test failure I.. might have forgotten this test was in a different file from the other one I was working on when I went to run it on my Windows VM. In any case, sorry about the noise, please disregard this last one.

Re: Explicit fall-through in switch statements?

2012-11-26 Thread Vincent Povirk
It might be useful to post a listing of the files where unmarked fall-throughs (falls-through?) appear, and I could see if any of them are on my turf.

Re: [02/10] windowscodecs: Reimplement QueryCapability of the BMP decoder.

2012-11-22 Thread Vincent Povirk
Does QueryCapability really initialize the decoder? Can you get a frame out of it? I guess it never occurred to me to try. I was OK with this for the other implementations because I figured it'd be easy enough to invalidate the decoder after successfully calling Initialize, if that turned out to

Re: [1/2] windowscodecs: Make GetFrameCount in the TIFF decoder not fail without an image stream.

2012-11-21 Thread Vincent Povirk
Series looks good to me.

Re: [1/5] windowscodecs: Implement QueryCapability in the PNG decoder.

2012-11-19 Thread Vincent Povirk
You should at least look at the stream and check that it looks like an image in a format the decoder can read. For PNG, you could maybe argue that given a correct magic number and a correctly-working decoder, the decoder must be able to read all the images or either the decoder or image is

Re: [1/5] windowscodecs: Implement QueryCapability in the PNG decoder.

2012-11-19 Thread Vincent Povirk
For JPEG and TIFF, which are extensible formats, there's also the possibility that an image has something in it that we don't support (and that the corresponding decoder on Windows doesn't support) but some other decoder on the system can. A not supported stream format is a bug and should be

  1   2   3   4   5   6   >