- Add the themes service. For now it will only call ThemeHooksInstall and ThemeHooksRemove. From now on we do not need apihooksrv in order to have themes
svn path=/branches/GSoC_2011/ThemesSupport/; revision=53195
- Add co_MsqSendMessageAsync in order to send asynchronous normal and internal messages
- Use co_MsqSendMessageAsync to load and unload api hook module
- This hopefully fixes the last problems with api hooks implementation
svn path=/branches/GSoC_2011/ThemesSupport/; revision=53139
- UXTHEME_LoadTheme call in theme hook callback is still needed in order to load the active theme in an application that starts after themes are enabled
svn path=/branches/GSoC_2011/ThemesSupport/; revision=53125
- Broadcast WM_THEMECHANGED when hook themes are activated
- Do not call UXTHEME_LoadTheme in the hook theme callback. It will now be called when the application gets WM_THEMECHANGED
svn path=/branches/GSoC_2011/ThemesSupport/; revision=53124
- Store ghmodUserApiHook before calling ClearUserApiHook because it will be zeroed during this call
- Fix a typo in ClearUserApiHook
svn path=/branches/GSoC_2011/ThemesSupport/; revision=53123
- HACK RegisterClass in order to let comctl32 re-register built in classes. This is needed in order to fix themes and will keep it till we find a way to do it properly. (of course this breaks class wine tests as well)
svn path=/branches/GSoC_2011/ThemesSupport/; revision=53030
- Register themed built-in controls even if themes are not enabled. This allows built in controls to use themes without restarting the application
- Register built in controls in the same way it done in windows (as global classes that belong to comctl32). This is needed in order to have themed controls in dialogs. Unfortunately our user32/win32k does not support it yet and this breaks themed built in controls
svn path=/branches/GSoC_2011/ThemesSupport/; revision=53029
- Do not try to load the current theme when uxtheme loads. Instead, load the current theme when theme hooks are installed or when the application receives a WM_THEMECHANGED message. This allows us to change themes without restarting the running applications.
- Use the default behaviour of DefWindowProc from user32 when themes are not active. This allows us to have api hooks enabled when themes are disabled.
svn path=/branches/GSoC_2011/ThemesSupport/; revision=53026
- When ClearUserApiHook returns false, this means that the library will be freed in EndUserApiHook. In this case return success to let win32k know that the process has removed the api hook. Fixes reloading the api hook after unloading it
svn path=/branches/GSoC_2011/ThemesSupport/; revision=52949
- Sync comctl32 with wine. Among it's improvements are reduced flicker in the listview and hot tracking support for themed buttons
svn path=/branches/GSoC_2011/ThemesSupport/; revision=52714
- Fix the size of the caption buttons. Now they have the correct size with themes like Luna Inspirat or clear looks
svn path=/branches/GSoC_2011/ThemesSupport/; revision=52679
- Disable Server to server calls in csr because they do not work yet as our csr is not compatible with windows.
[user32]
- Call CsrClientConnectToServer when the dll is initialized in order to connect with the server and determine if user32 is running in the server process.
- Do not load user api hook if we are in the server process
- Fixes drawing the console window
svn path=/branches/GSoC_2011/ThemesSupport/; revision=52672
- Commit a test utility that can install user api hooks and give for the first time real themes support. This is a temporary test program till the same functionality is integrated to winlogon. To use it someone has to activate themes with themecfg and then run "apihook uxtheme.dll". Also note that it is possible to use this tool in windows for testing purposes
svn path=/branches/GSoC_2011/ThemesSupport/; revision=52665
- Add a test utility called themecfg that can configure themes. This is a small part of winecfg from wine. With this utility we can test themes support now. In the future this functionality will become part of desk.cpl
svn path=/branches/GSoC_2011/ThemesSupport/; revision=52664
- Call UserUnregisterUserApiHook from the process cleanup routine if the process has registered the user api hook
svn path=/branches/GSoC_2011/ThemesSupport/; revision=52652
- Convert LOADUSERAPIHOOK macro to an inline function
- Implement ClientLoadLibrary callback from win32k
svn path=/branches/GSoC_2011/ThemesSupport/; revision=52648
- Implement drawing non client scrollbars. This code is heavily based on code from wine and modified properly to use themes
svn path=/branches/GSoC_2011/ThemesSupport/; revision=52645
- After doing any drawing operation for the non client area, restore the previously opened theme. Fixes GetWindowTheme
svn path=/branches/GSoC_2011/ThemesSupport/; revision=52639
- Do not close hKey in query_reg_path. Noticed while testing our uxtheme in windows. Should be sent to wine
svn path=/branches/GSoC_2011/ThemesSupport/; revision=52634
-Add a hack to GreStretchBltMask to return TRUE when a dimension is 0. After some investigation it seems that windows returns TRUE in such a case but couldn't investigate more if this change is really correct. This hack is needed because a drawing operation in uxtheme is aborted when StretchBlt returns FALSE
svn path=/branches/GSoC_2011/ThemesSupport/; revision=52631
Implement the "SLIST hack". It checks whether the access to the Next member of the first list item of an iSList caused the exception, this can happen, when a concurrent thread pops the first entry and frees its memory between the point where the address of the entry is loaded and the access to it. This is done before the call to MmAccessFault to handle the theoretical scenario of a guard page exception being triggered by the fault, which we don't want to be handled.
Currently only kernel mode is handled.
svn path=/trunk/; revision=52628