wine
18 years agomsi/tests: Fixed a typo.
EA Durbin [Mon, 5 Jun 2006 23:59:40 +0000 (18:59 -0500)] 
msi/tests: Fixed a typo.

18 years agohlink: Implement DllRegisterServer.
Mike McCormack [Tue, 6 Jun 2006 11:42:39 +0000 (20:42 +0900)] 
hlink: Implement DllRegisterServer.

18 years agohlink: Add a basic implementation (based on work by Aric Stewart).
Mike McCormack [Tue, 6 Jun 2006 10:39:58 +0000 (19:39 +0900)] 
hlink: Add a basic implementation (based on work by Aric Stewart).

18 years agohlink: Add a stub implementation (based on Aric Stewart's code).
Mike McCormack [Tue, 6 Jun 2006 10:26:24 +0000 (19:26 +0900)] 
hlink: Add a stub implementation (based on Aric Stewart's code).

18 years agohlink: Declare prototypes for some functions.
Mike McCormack [Tue, 6 Jun 2006 10:24:14 +0000 (19:24 +0900)] 
hlink: Declare prototypes for some functions.

18 years agowinecfg: Avoid unnecessary casts.
Dmitry Timoshkov [Wed, 7 Jun 2006 07:45:47 +0000 (16:45 +0900)] 
winecfg: Avoid unnecessary casts.

18 years agocomctl32: Remove WM_SYSCOMMAND handler from PROPSHEET_DialogProc.
Dmitry Timoshkov [Wed, 7 Jun 2006 07:45:28 +0000 (16:45 +0900)] 
comctl32: Remove WM_SYSCOMMAND handler from PROPSHEET_DialogProc.

18 years agoinclude: Add SETWALLPAPER_DEFAULT to winuser.h.
Andrew Ziem [Tue, 6 Jun 2006 23:29:00 +0000 (17:29 -0600)] 
include: Add SETWALLPAPER_DEFAULT to winuser.h.

18 years agowined3d: Return the result of QueryInterface in GetContainer.
H. Verbeet [Tue, 6 Jun 2006 21:42:33 +0000 (23:42 +0200)] 
wined3d: Return the result of QueryInterface in GetContainer.

18 years agowined3d: Remove a redundant break.
H. Verbeet [Tue, 6 Jun 2006 21:42:30 +0000 (23:42 +0200)] 
wined3d: Remove a redundant break.

18 years agowined3d: Don't hardcode type sizes for shader constants.
H. Verbeet [Tue, 6 Jun 2006 21:17:35 +0000 (23:17 +0200)] 
wined3d: Don't hardcode type sizes for shader constants.

18 years agod3d9: Add a test for setting / getting vertex shader constants.
H. Verbeet [Tue, 6 Jun 2006 21:17:50 +0000 (23:17 +0200)] 
d3d9: Add a test for setting / getting vertex shader constants.

18 years agoshdocvw: Register some more documented classes that native also registers.
Robert Shearman [Tue, 6 Jun 2006 19:04:58 +0000 (20:04 +0100)] 
shdocvw: Register some more documented classes that native also registers.

18 years agowidl: Support coclass forward declarations.
Robert Shearman [Tue, 6 Jun 2006 19:05:39 +0000 (20:05 +0100)] 
widl: Support coclass forward declarations.

18 years agoinclude: Add two more coclasses to exdisp.idl.
Robert Shearman [Tue, 6 Jun 2006 19:04:47 +0000 (20:04 +0100)] 
include: Add two more coclasses to exdisp.idl.

18 years agodnsapi: Add stub implementations for the remaining documented functions.
Hans Leidekker [Tue, 6 Jun 2006 15:48:43 +0000 (17:48 +0200)] 
dnsapi: Add stub implementations for the remaining documented functions.

18 years agox11drv: Declared two functions as static to avoid compiler warnings.
Magnus Lundborg [Mon, 5 Jun 2006 22:31:58 +0000 (00:31 +0200)] 
x11drv: Declared two functions as static to avoid compiler warnings.

18 years agoRevert "winedbg: Remove useless NOCMD state."
Alexandre Julliard [Tue, 6 Jun 2006 15:15:31 +0000 (17:15 +0200)] 
Revert "winedbg: Remove useless NOCMD state."

This reverts 92deacbe425bfd986a2cc3bf1e776aca02cf08c8 commit.

18 years agowine.inf: Added default values for .htm and .html file extension.
Stefan Leichter [Fri, 2 Jun 2006 20:52:39 +0000 (22:52 +0200)] 
wine.inf: Added default values for .htm and .html file extension.

18 years agooleaut32: safearray: Convert dimension index at the API boundary.
qingdoa daoo [Sun, 4 Jun 2006 11:43:13 +0000 (19:43 +0800)] 
oleaut32: safearray: Convert dimension index at the API boundary.

18 years agowined3d: Remove constant type field in stateblock.
Ivan Gyurdiev [Tue, 6 Jun 2006 06:46:59 +0000 (02:46 -0400)] 
wined3d: Remove constant type field in stateblock.

It is wrong to maintain a mapping from a constant index to a type
field, because different constant types do not share an index -
boolean constant 0 is supposed to co-exist with floating point
constant 0, not replace it. Drawprim and other code using the type
array to decide whether to look up a constant in bools, floats, or
ints is wrong - you can't make that decision based on the index.

18 years agowined3d: Rename vertex shader constants.
Ivan Gyurdiev [Tue, 6 Jun 2006 06:41:46 +0000 (02:41 -0400)] 
wined3d: Rename vertex shader constants.

From const%lu to C%lu for consistency (to match pshaders).

18 years agowined3d: Add limits for ps_2_x.
Ivan Gyurdiev [Tue, 6 Jun 2006 06:40:59 +0000 (02:40 -0400)] 
wined3d: Add limits for ps_2_x.

18 years agowined3d: Trace improvements.
Ivan Gyurdiev [Tue, 6 Jun 2006 06:40:08 +0000 (02:40 -0400)] 
wined3d: Trace improvements.

18 years agowined3d: pshader defi has 5 parameters.
Ivan Gyurdiev [Tue, 6 Jun 2006 06:37:40 +0000 (02:37 -0400)] 
wined3d: pshader defi has 5 parameters.

18 years agogdi: Don't treat a NULL rect as an empty rect in ExtTextOutW.
qingdoa daoo [Tue, 6 Jun 2006 03:42:45 +0000 (11:42 +0800)] 
gdi: Don't treat a NULL rect as an empty rect in ExtTextOutW.

18 years agooleaut32: Only BYREF DispCallFunc args whose input args are not BYREF should be changed.
James Hawkins [Mon, 5 Jun 2006 22:48:15 +0000 (17:48 -0500)] 
oleaut32: Only BYREF DispCallFunc args whose input args are not BYREF should be changed.

18 years agooleaut32: Copy BYREF args directly if they have the same variant type.
James Hawkins [Mon, 5 Jun 2006 22:47:00 +0000 (17:47 -0500)] 
oleaut32: Copy BYREF args directly if they have the same variant type.

18 years agogdi: New tests for GetDIBits.
Michael Kaufmann [Mon, 5 Jun 2006 21:18:56 +0000 (23:18 +0200)] 
gdi: New tests for GetDIBits.

New tests that check if GetDIBits works with a bitmap that is selected
in a device context (works in Windows, should fail according to the
API documentation)

18 years agomsvcrt: Write-strings warnings fix.
Andrew Talbot [Mon, 5 Jun 2006 19:50:47 +0000 (20:50 +0100)] 
msvcrt: Write-strings warnings fix.

18 years agowinecfg: Make some pointer casts win64 compliant.
Mike McCormack [Tue, 6 Jun 2006 05:33:34 +0000 (14:33 +0900)] 
winecfg: Make some pointer casts win64 compliant.

18 years agowineconsole: Use correct prototypes for dialog procs.
Mike McCormack [Tue, 6 Jun 2006 05:33:17 +0000 (14:33 +0900)] 
wineconsole: Use correct prototypes for dialog procs.

18 years agowcmd: Fix a Win64 warning.
Mike McCormack [Tue, 6 Jun 2006 05:21:53 +0000 (14:21 +0900)] 
wcmd: Fix a Win64 warning.

18 years agotaskmgr: Use correct types for Win64.
Mike McCormack [Tue, 6 Jun 2006 05:21:44 +0000 (14:21 +0900)] 
taskmgr: Use correct types for Win64.

18 years agohh: Cast GetProcAddress's return to supress a Win64 warning.
Mike McCormack [Tue, 6 Jun 2006 05:21:29 +0000 (14:21 +0900)] 
hh: Cast GetProcAddress's return to supress a Win64 warning.

18 years agowinetest: Fix dialog prototypes.
Mike McCormack [Tue, 6 Jun 2006 05:21:13 +0000 (14:21 +0900)] 
winetest: Fix dialog prototypes.

18 years agouserenv: Add a stub implementation of userenv.dll.
Mike McCormack [Mon, 5 Jun 2006 05:01:10 +0000 (14:01 +0900)] 
userenv: Add a stub implementation of userenv.dll.

18 years agokernel/tests: Some tests for WideCharToMultiByte.
Detlef Riekenberg [Mon, 5 Jun 2006 10:30:41 +0000 (12:30 +0200)] 
kernel/tests: Some tests for WideCharToMultiByte.

18 years agoadvapi32: Fix comment to match the function (thanks to Dan Kegel).
Mike McCormack [Mon, 5 Jun 2006 16:42:52 +0000 (01:42 +0900)] 
advapi32: Fix comment to match the function (thanks to Dan Kegel).

18 years agowinedbg: Get rid of unused mode command.
Juan Lang [Mon, 5 Jun 2006 16:58:00 +0000 (09:58 -0700)] 
winedbg: Get rid of unused mode command.

18 years agox11drv: Improve handling of the case where the clipboard is opened
Ulrich Czekalla [Mon, 5 Jun 2006 15:55:14 +0000 (11:55 -0400)] 
x11drv: Improve handling of the case where the clipboard is opened
with a window from another thread or process.

18 years agoinclude: Add DDHAL_UPDATEOVERLAYDATA structure.
Ulrich Czekalla [Mon, 5 Jun 2006 15:43:15 +0000 (11:43 -0400)] 
include: Add DDHAL_UPDATEOVERLAYDATA structure.

18 years agomsi: Add some integer condition tests.
Huw Davies [Mon, 5 Jun 2006 15:57:44 +0000 (16:57 +0100)] 
msi: Add some integer condition tests.

18 years agokernel/tests: More tests for FindFirstFile.
Karsten Elfenbein [Mon, 5 Jun 2006 14:23:21 +0000 (16:23 +0200)] 
kernel/tests: More tests for FindFirstFile.

18 years agowordpad: Declare three functions as static to avoid compiler warnings.
Magnus Lundborg [Mon, 5 Jun 2006 10:10:40 +0000 (12:10 +0200)] 
wordpad: Declare three functions as static to avoid compiler warnings.

18 years agohlink: Add hlguids.h (based on a patch by Aric Stewart).
Mike McCormack [Mon, 5 Jun 2006 06:24:52 +0000 (15:24 +0900)] 
hlink: Add hlguids.h (based on a patch by Aric Stewart).

18 years agodnsapi: Fix the case where we have libresolv headers but no libraries.
Mike McCormack [Mon, 5 Jun 2006 12:50:00 +0000 (21:50 +0900)] 
dnsapi: Fix the case where we have libresolv headers but no libraries.

18 years agowined3d: Render target locking fixes.
Stefan Dösinger [Sun, 4 Jun 2006 14:42:57 +0000 (16:42 +0200)] 
wined3d: Render target locking fixes.

18 years agoadvapi32: Implement and test SystemFunction031.
Mike McCormack [Sun, 4 Jun 2006 10:41:37 +0000 (19:41 +0900)] 
advapi32: Implement and test SystemFunction031.

18 years agoadvapi32: Implement and test SystemFunction030.
Mike McCormack [Sun, 4 Jun 2006 10:40:54 +0000 (19:40 +0900)] 
advapi32: Implement and test SystemFunction030.

18 years agomsi: Fix some copy/paste bugs in the implementation of condition operators.
Hans Leidekker [Mon, 5 Jun 2006 10:54:20 +0000 (12:54 +0200)] 
msi: Fix some copy/paste bugs in the implementation of condition operators.

18 years agowinedbg: Remove useless NOCMD state.
Juan Lang [Sun, 4 Jun 2006 20:32:25 +0000 (13:32 -0700)] 
winedbg: Remove useless NOCMD state.

18 years agouser: Use SetPropW rather than SetPropA for internal property.
Juan Lang [Mon, 5 Jun 2006 03:49:16 +0000 (20:49 -0700)] 
user: Use SetPropW rather than SetPropA for internal property.

18 years agomsi: An empty string is equivalent to nil, so handle this in the optimised WHERE_exec...
Robert Shearman [Mon, 5 Jun 2006 00:41:04 +0000 (01:41 +0100)] 
msi: An empty string is equivalent to nil, so handle this in the optimised WHERE_execute path.

18 years agorpcrt4: Implement varying array NDR functions.
Robert Shearman [Mon, 5 Jun 2006 00:41:30 +0000 (01:41 +0100)] 
rpcrt4: Implement varying array NDR functions.

18 years agorpcrt4: Don't call NdrBaseTypeMemorySize from within NdrBaseTypeUnmarshall.
Robert Shearman [Mon, 5 Jun 2006 00:41:18 +0000 (01:41 +0100)] 
rpcrt4: Don't call NdrBaseTypeMemorySize from within NdrBaseTypeUnmarshall.

18 years agowinedbg: Correct typedefs in type manipulations.
Eric Pouech [Sun, 4 Jun 2006 07:47:48 +0000 (09:47 +0200)] 
winedbg: Correct typedefs in type manipulations.

18 years agoprogman: Win64 fixes.
Mike McCormack [Sat, 3 Jun 2006 15:28:48 +0000 (00:28 +0900)] 
progman: Win64 fixes.

18 years agocmdlgtst: Use correct types for Win64.
Mike McCormack [Sat, 3 Jun 2006 15:28:21 +0000 (00:28 +0900)] 
cmdlgtst: Use correct types for Win64.

18 years agowinemine: Fix dialog proc prototypes for Win64.
Mike McCormack [Sat, 3 Jun 2006 15:28:04 +0000 (00:28 +0900)] 
winemine: Fix dialog proc prototypes for Win64.

18 years agowinemine: Remove dialog.h as it's redundant.
Mike McCormack [Sat, 3 Jun 2006 15:27:50 +0000 (00:27 +0900)] 
winemine: Remove dialog.h as it's redundant.

18 years agoinclude: Fix FARPROC, NEARPROC and PROC definitions for amd64.
Mike McCormack [Sat, 3 Jun 2006 15:27:33 +0000 (00:27 +0900)] 
include: Fix FARPROC, NEARPROC and PROC definitions for amd64.

18 years agowinedbg: Fix a crash on initial empty input.
Juan Lang [Sat, 3 Jun 2006 01:07:42 +0000 (18:07 -0700)] 
winedbg: Fix a crash on initial empty input.

18 years agocrypt32: Implement X509_NAME_VALUE encoding/decoding.
Juan Lang [Fri, 2 Jun 2006 20:20:13 +0000 (13:20 -0700)] 
crypt32: Implement X509_NAME_VALUE encoding/decoding.

18 years agoshdocvw: Set focus in ui_activate.
Jacek Caban [Fri, 2 Jun 2006 22:58:53 +0000 (00:58 +0200)] 
shdocvw: Set focus in ui_activate.

18 years agomshtml: Use mime type reported by moniker if possible.
Jacek Caban [Fri, 2 Jun 2006 22:48:13 +0000 (00:48 +0200)] 
mshtml: Use mime type reported by moniker if possible.

18 years agomshtml: Return S_OK in OnStartBinding and OnStopBinding.
Jacek Caban [Fri, 2 Jun 2006 22:45:25 +0000 (00:45 +0200)] 
mshtml: Return S_OK in OnStartBinding and OnStopBinding.

18 years agomshtml: Added beginning OnDataAvailable implementation.
Jacek Caban [Fri, 2 Jun 2006 23:26:00 +0000 (01:26 +0200)] 
mshtml: Added beginning OnDataAvailable implementation.

18 years agomshtml: Added begining binding code in IPersistMoniker::Load.
Jacek Caban [Fri, 2 Jun 2006 22:41:48 +0000 (00:41 +0200)] 
mshtml: Added begining binding code in IPersistMoniker::Load.

18 years agomshtml: Set binding channel, listener and context in AsyncOpen.
Jacek Caban [Fri, 2 Jun 2006 22:40:26 +0000 (00:40 +0200)] 
mshtml: Set binding channel, listener and context in AsyncOpen.

18 years agomshtml: Store BSCallback in NSContainer and use it instead of load_call.
Jacek Caban [Fri, 2 Jun 2006 22:39:39 +0000 (00:39 +0200)] 
mshtml: Store BSCallback in NSContainer and use it instead of load_call.

18 years agomshtml: Add create_nscallback function to allow using BSCallback out of navigate.c.
Jacek Caban [Fri, 2 Jun 2006 22:37:58 +0000 (00:37 +0200)] 
mshtml: Add create_nscallback function to allow using BSCallback out of navigate.c.

18 years agomshtml: Move some code from before_async_open to AsyncOpen.
Jacek Caban [Fri, 2 Jun 2006 22:35:17 +0000 (00:35 +0200)] 
mshtml: Move some code from before_async_open to AsyncOpen.

18 years agomshtml: Get rid of (currently disabled anyway) nsIWebBrowserStream.
Jacek Caban [Fri, 2 Jun 2006 22:33:48 +0000 (00:33 +0200)] 
mshtml: Get rid of (currently disabled anyway) nsIWebBrowserStream.

We have to handle it in another way.

18 years agosecur32: Don't fail on SECURITY_NETWORK_DREP, ntlm_auth handles this just fine.
Kai Blin [Sat, 3 Jun 2006 08:14:17 +0000 (08:14 +0000)] 
secur32: Don't fail on SECURITY_NETWORK_DREP, ntlm_auth handles this just fine.

18 years agourlmon: Use task queue to handle OnDataAvailable call.
Jacek Caban [Fri, 2 Jun 2006 22:26:48 +0000 (00:26 +0200)] 
urlmon: Use task queue to handle OnDataAvailable call.

18 years agourlmon: Added OnResponse implementation.
Jacek Caban [Fri, 2 Jun 2006 22:24:56 +0000 (00:24 +0200)] 
urlmon: Added OnResponse implementation.

18 years agosane.ds: Replace FIXME() by TRACE() on sane_exit.
Marcus Meissner [Fri, 2 Jun 2006 20:03:01 +0000 (22:03 +0200)] 
sane.ds: Replace FIXME() by TRACE() on sane_exit.

18 years agorpcrt4: Don't try to resolve the name when constructing a protocol tower.
Robert Shearman [Fri, 2 Jun 2006 19:46:29 +0000 (20:46 +0100)] 
rpcrt4: Don't try to resolve the name when constructing a protocol tower.

Instead just fill it in with all zeros.

18 years agorpcrt4: Change ComputeConformance and ComputeVariance from macros to
Robert Shearman [Fri, 2 Jun 2006 19:46:16 +0000 (20:46 +0100)] 
rpcrt4: Change ComputeConformance and ComputeVariance from macros to
inline functions. Clear pStubMsg->Offset in ComputeVariance since it
isn't set by ComputeConformanceOrVariance and so could be left filled
with garbage.

18 years agorpcrt4: The lifetime of the binding handle stored in the context
Robert Shearman [Fri, 2 Jun 2006 19:45:59 +0000 (20:45 +0100)] 
rpcrt4: The lifetime of the binding handle stored in the context
handle is independent of the binding handle used in the call that
unmarshaled it, so we should use RpcBindingCopy to make a copy of it
and then call RpcBindingFree later to free it.

18 years agorpcrt4: Fix an incorrect format string pointer being passed in to
Robert Shearman [Fri, 2 Jun 2006 19:45:40 +0000 (20:45 +0100)] 
rpcrt4: Fix an incorrect format string pointer being passed in to
ComputeVariance in NdrConformantVaryingStructBufferSize.

18 years agorpcrt4: Skip over the right-hand-side data for the protocol floor so
Robert Shearman [Fri, 2 Jun 2006 19:45:09 +0000 (20:45 +0100)] 
rpcrt4: Skip over the right-hand-side data for the protocol floor so
that we can parse the towers received from native rpcrt4.

18 years agorpcrt4: Align the buffer correctly when marshaling and unmarshaling context handles.
Robert Shearman [Fri, 2 Jun 2006 19:44:18 +0000 (20:44 +0100)] 
rpcrt4: Align the buffer correctly when marshaling and unmarshaling context handles.

18 years agorpcrt4: Freeing a NULL context handle is allowed.
Robert Shearman [Fri, 2 Jun 2006 19:43:44 +0000 (20:43 +0100)] 
rpcrt4: Freeing a NULL context handle is allowed.

18 years agorpcrt4: NdrClientContextMarshall/Unmarshall should both increment the buffer pointer.
Robert Shearman [Fri, 2 Jun 2006 19:43:22 +0000 (20:43 +0100)] 
rpcrt4: NdrClientContextMarshall/Unmarshall should both increment the buffer pointer.

18 years agorpcrt4: Fix the unmarshaling of pointers in conformant varying arrays,
Robert Shearman [Fri, 2 Jun 2006 19:42:44 +0000 (20:42 +0100)] 
rpcrt4: Fix the unmarshaling of pointers in conformant varying arrays,
by passing the correct type format string to ReadConformance.

18 years agorpcrt4: CContext can be NULL in NDRCContextMarshall, in which case we should marshall...
Robert Shearman [Fri, 2 Jun 2006 19:42:54 +0000 (20:42 +0100)] 
rpcrt4: CContext can be NULL in NDRCContextMarshall, in which case we should marshall all-zeros.

18 years agorpcrt4: Fix the pointer count used when handling embedded pointers in varying arrays.
Robert Shearman [Fri, 2 Jun 2006 19:25:44 +0000 (20:25 +0100)] 
rpcrt4: Fix the pointer count used when handling embedded pointers in varying arrays.

18 years agorpcrt4: Print some more informative error messages when getaddrinfo fails.
Robert Shearman [Fri, 2 Jun 2006 19:25:31 +0000 (20:25 +0100)] 
rpcrt4: Print some more informative error messages when getaddrinfo fails.

18 years agowininet: Simple tests for InternetGetCookie's parameters.
Mike McCormack [Fri, 2 Jun 2006 10:49:27 +0000 (19:49 +0900)] 
wininet: Simple tests for InternetGetCookie's parameters.

18 years agowininet: Fix up and test InternetSetCookie parameter checking.
Mike McCormack [Fri, 2 Jun 2006 10:49:09 +0000 (19:49 +0900)] 
wininet: Fix up and test InternetSetCookie parameter checking.

18 years agowininet: Remove some dead code (Coverity).
Mike McCormack [Fri, 2 Jun 2006 10:48:49 +0000 (19:48 +0900)] 
wininet: Remove some dead code (Coverity).

18 years agoadvapi32: Enable some tests and extend them to succeed on XP and 2003 SP1.
Saulius Krasuckas [Fri, 2 Jun 2006 18:55:08 +0000 (21:55 +0300)] 
advapi32: Enable some tests and extend them to succeed on XP and 2003 SP1.

18 years agorasenh: Fix a copy&paste bug at passing only one string to RegSetValueExW() at a...
Saulius Krasuckas [Fri, 2 Jun 2006 18:55:00 +0000 (21:55 +0300)] 
rasenh: Fix a copy&paste bug at passing only one string to RegSetValueExW() at a time.

18 years agoshell32: Remove the now unused SHELL_DeleteFileA and SHELL_DeleteDirectoryA.
Mikołaj Zalewski [Fri, 2 Jun 2006 15:10:17 +0000 (17:10 +0200)] 
shell32: Remove the now unused SHELL_DeleteFileA and SHELL_DeleteDirectoryA.

18 years agoshell32: Avoid Unicode->ANSI conversion when deleting a file.
Mikołaj Zalewski [Fri, 2 Jun 2006 15:08:58 +0000 (17:08 +0200)] 
shell32: Avoid Unicode->ANSI conversion when deleting a file.

18 years agocrypt32: Add name value tests.
Juan Lang [Fri, 2 Jun 2006 14:02:27 +0000 (07:02 -0700)] 
crypt32: Add name value tests.

Add tests for name values, and move tests for different string
encodings to there.

18 years agocrypt32: Remove exception handling from internal decoding functions.
Juan Lang [Fri, 2 Jun 2006 04:23:26 +0000 (21:23 -0700)] 
crypt32: Remove exception handling from internal decoding functions.

18 years agocrypt32: Add a couple CRL encoding tests, one that shows a problem.
Juan Lang [Fri, 2 Jun 2006 03:07:52 +0000 (20:07 -0700)] 
crypt32: Add a couple CRL encoding tests, one that shows a problem.