Commit graph

58 commits

Author SHA1 Message Date
Hermès Bélusca-Maïto
7cb411e88f
[USERSRV] HardError: Free WindowTitleU buffer only if we really allocated it. 2018-06-09 15:37:54 +02:00
Eric Kohl
4911382913 [NDK] Replace the SYSTEMTIME fields StandardDate and DaylightDate in RTL_TIME_ZONE_INFORMATION by TIME_FIELDs and fix resulting errors
Patch will be sent upstream.

CORE-14658
2018-05-31 17:48:29 +02:00
Serge Gautherie
3ca1ac639c [REACTOS] Improve/Fix some "printf" formats (#555)
The smbios.c one was initially spotted by "Alahndro" on CORE-6328.
2018-05-30 14:18:23 +02:00
Bișoc George
739e72b6ed [USERSRV] Romanian translation update 2018-05-27 17:35:47 +02:00
Hermès Bélusca-Maïto
a55d7c692b
[WIN32K] Implement UOI_FLAGS in NtUserGetObjectInformation(). Based from a patch by Jérôme Gardou.
CORE-13447 CORE-14422

This fixes closing nLite 1.4.9.3 (.NET2) application, as well as any
other program that expects that the interactive window station is
reported as being visible. I thank Mark Jansen and Joachim Henze for
help and testing.
2018-04-22 23:00:55 +02:00
Joachim Henze
083c3d992b [USER32] Fix compilation when USE_VERSIONED_CLASSES is not defined
Variable 'Status' would be set but not used otherwise in this case.
This commit will not fix or improve CORE-13278,
but was spotted when having a look at that.
2018-04-12 17:57:38 +02:00
Adam Słaboń
abe6bbabfb [TRANSLATION] Polish translation update for drwtsn32, winlogon and usersrv. (#475) 2018-04-10 22:54:34 +02:00
Hermès Bélusca-Maïto
75e80632d1
[USERSRV] HardError: Fix compilation warning; fix few comments; fix the default empty window title string. 2018-04-08 16:15:56 +02:00
Hermès Bélusca-Maïto
29d56f2b29
[USERSRV] Hard-error improvements 7/7
- Use a more descriptive "unknown hard error" string than Windows' one.
- Improve the computation of the buffer size for the hard error message
  by using _vscwprintf() instead of just "guessing" which size the fully
  printf'ed message could be.
2018-04-07 18:48:13 +02:00
Hermès Bélusca-Maïto
2363fee51f
[USERSRV] Hard-error improvements 6/7
Make UserpFormatMessages() return the possible timeout for the hard error; use it when displaying the hard error message boxes.
2018-04-07 18:48:12 +02:00
Hermès Bélusca-Maïto
08d70697a3
[USERSRV] Hard-error improvements 5/7 - Implement STATUS_SERVICE_NOTIFICATION handling.
- In UserpCaptureStringParameters(), always capture the parameter
  strings with a terminating NULL. Also, no need to convert them to
  ANSI if they are used with a STATUS_SERVICE_NOTIFICATION message.
- Determine within UserpFormatMessages() the message box flags to be
  used, either from the message parameters (if STATUS_SERVICE_NOTIFICATION)
  or from the proposed response options and message status severity.
  These flags are then used by both UserpShowInformationBalloon()/UserpShellHardError()
  and by UserpMessageBox().
- Improve Message validation (especially for STATUS_SERVICE_NOTIFICATION).
- Try to display the hard error status number if it's an unknown one.
2018-04-07 18:48:11 +02:00
Hermès Bélusca-Maïto
9ea2783e56
[USERSRV] Hard-error improvements 4/7
- Make UserpFormatMessages() always succeed by falling back on
  static string buffers if allocating large string buffers fail due to
  lack of memory. Then the hard error popups will have truncated
  strings, but at least something will be displayed instead of nothing,
  thus alerting the user that something went wrong anyway.
- Simplify a bit the code by moving the NtOpenProcess(),
  UserpCaptureStringParameters() and UserpFreeStringParameters() calls
  inside UserpFormatMessages(). This also allows simplifying its
  prototype.
2018-04-07 18:48:10 +02:00
Hermès Bélusca-Maïto
5a1a35ca5a
[USERSRV] Hard-error improvements 3/7
- Cache localized hard error message components: the status severity,
  the system process name and the unhandled exception debug strings.
- Try not to fail too much. In particular, don't fail if a string could
  not be correctly captured in UserpCaptureStringParameters() (we then
  use a default empty string). The next aim is to make UserpFormatMessages()
  not failing at all.
- Use RtlStringCbPrintf(Ex)W where possible so that one can use counted
  (and not NULL-terminated) UNICODE_STRINGs where possible. This allows
  using counted resource strings without having to allocate memory.
- If available, prepend the window title of the application that
  triggered the hard error to the hard error message box caption.
2018-04-07 18:48:09 +02:00
Hermès Bélusca-Maïto
2b299f5fec
[USERSRV] Hard-error improvements 2/7 - More failure path handling.
In particular do not always fail as soon as there is an error, because they may be the sign of an OS problem and this is precisely in this case that we want to display a hard-error.
2018-04-07 18:48:08 +02:00
Hermès Bélusca-Maïto
6718a1aa83
[USERSRV] Hard-error improvements 1/7
- Use hard-error captions depending on the status code severity.
- Improve handling of the STATUS_UNHANDLED_EXCEPTION error. Start
  implementing the display of the dialog button descriptions ("OK" to
  terminate the application; "Cancel" to debug the application).
- Add support for the "ErrorMode" and "ShellErrorMode" registry values
  under HKLM\System\CurrentControlSet\Control\Windows.
- Use MessageBoxTimeoutW() in UserpMessageBox() to support different
  message box timeouts.
- Log hard errors into the System event log.
2018-04-07 18:48:06 +02:00
Ercan Ersoy
8c2e91897a [TRANSLATIONS] Update and add Turkish translations (#455)
- Added Turkish translations for winetests/GUI and localmon.
- Modified Turkish translations for usersrv, user32, localmon, logon,
  3dtext, kbswitch, winemine, spider, solitarie, clipbrd and charmap_new.
2018-04-01 19:27:08 +02:00
Kláben Szabolcs Bence (Tudi20)
a1e061499f [TRANSLATION][USERSRV] Add Hungarian Translation (#442) 2018-04-01 19:13:35 +02:00
Timo Kreuzer
2d9c88e0c5
[WIN32K] Fix 64 bit issues (#420)
- Fix ULONG/SIZE_T issues
- Use LOWORD/HIWORD
- Change a struct member to HANDLE
- Implement lstrlenW helper function
2018-03-18 15:53:52 +01:00
Hermès Bélusca-Maïto
68430db462
[USER32] Fix GetWindowTextLength() blocking call using the same technique as in GetWindowText(). Fix indentation in GetWindowText(). 2018-03-17 23:47:16 +01:00
Pierre Schweitzer
741ae8ccdc
[CONSRV] Fix build 2018-03-11 21:19:11 +01:00
Michael Fritscher
602db40277
[CONSRV] Initialize rcFramebuffer in every case, otherwise it is left unintialized in case of e.g. console termination. (#428, #429)
Fixes CORE-14463. Debugged and and fix suggested by Timo Kreuzer.

Signed-off-by: Michael Fritscher <reactos@mifritscher.de>
2018-03-11 20:31:40 +01:00
Hermès Bélusca-Maïto
8bdebb1fed
[CONSRV] Silence a noisy DPRINT. 2018-03-10 20:37:08 +01:00
Thomas Faber
c7c36702d2
[USER32] ForceResetUserApiHook is WINAPI, not FASTCALL. CORE-14450
Fixes stack pointer corruption when using Windows's uxtheme.dll.
2018-03-09 09:06:12 +01:00
Thomas Faber
3159de5573
[WINSRV] Don't try to remove messages from the queue without dispatching them. CORE-13734
This partially reverts r58615 / 01729482ae.
2018-03-07 13:32:38 +01:00
Thomas Faber
56fdb7adde
[WIN32K:NTUSER] Handle IntGetSystemMenu failure cases. CORE-12180 2018-03-03 17:19:26 +01:00
Thomas Faber
b7aa1e3122
[WIN32K:NTUSER] Correctly delete menus in failure cases in MENU_GetSystemMenu. CORE-12180 2018-03-03 17:19:16 +01:00
Thomas Faber
89217e3df5
[WIN32K:NTUSER] Handle IntCloneMenu failure in MENU_GetSystemMenu. CORE-12180 2018-03-03 17:18:55 +01:00
Giannis Adamopoulos
e3610035ce [USER32] Small fixes for messages carrying pointers
SendNotifyMessageW: It doesn't support messages with pointers so there is no need to call MsgiUMToKMMessage
SendMessageTimeoutW, SendMessageTimeoutA: These two do support marshaling pointers so they need to use MsgiUMToKMMessage.
This is actually a bug that happens only in the rare case where we send a WM_COPYDATA with a timeout.
2018-02-26 16:51:59 +02:00
Giannis Adamopoulos
ec91188fff [WINSRV] Implement sending the hard error balloon package to explorer
[EXPLORER] Implement showing the hard error balloon
2018-02-26 16:51:59 +02:00
Timo Kreuzer
6771bf55a0 [WIN32K] Get rid of some instances of the ugly RETURN() macro 2018-02-24 17:17:25 +01:00
Timo Kreuzer
e688aab6b3 [FORMATTING] Fix indentation, no functional changes. 2018-02-24 17:17:25 +01:00
Timo Kreuzer
173971d947 [WIN32K] Implement NtUserSetWindowLongPtr for 64 bit builds
Also fix return type of NtUserQueryWindow and type of WND::dwUserData and the value for bAnsi in SetWindowLongPtrA
2018-02-19 22:36:36 +01:00
Thomas Faber
b030836b40
[WIN32K:NTUSER] Safely handle allocation failure in IntCloneMenu. CORE-14222 2018-02-18 11:27:35 +01:00
Thomas Faber
1969094028
[WIN32K:NTUSER] Avoid allocating an extra item in IntCloneMenuItems. CORE-14222 2018-02-18 11:27:32 +01:00
Thomas Faber
de455c4d50
[WIN32K:NTUSER] Handle realloc failure in IntRemoveMenuItem. CORE-14222 2018-02-18 11:27:29 +01:00
Thomas Faber
c464f4f2e3
[WIN32K:NTUSER] Handle allocation failure in PopupMenuWndProc. CORE-14222 2018-02-18 11:27:27 +01:00
Stanislav Motylkov
c22c6e3ba3 [WIN32K:NTUSER] Fix color indices for themes
CORE-14231 #resolve
2018-01-22 21:45:50 +02:00
Jérôme Gardou
c4ee1a3460 [WINSRV] -Fix inline functions definitions
This fixes -O0 compilation
2018-01-22 18:17:50 +01:00
Stanislav Motylkov
dade22f479 [WIN32K:NTUSER] Fix hardcoded color for MF_GRAYED menu items
CORE-14196 #resolve
2018-01-21 00:27:23 +02:00
Giannis Adamopoulos
6318e47bb9 [USER32] InternalGetWindowText: Write to caller's buffer only when one was provided. CORE-13614 2018-01-15 12:45:41 +02:00
Giannis Adamopoulos
bd193c4534 [USER32] Stop hiding exceptions left and right 2018-01-15 12:36:45 +02:00
Erdem Ersoy
ba3f074320 [TRANSLATIONS] Update the email address and add a note in the Turkish translation document (#271) 2018-01-07 22:09:42 +01:00
Katayama Hirofumi MZ
e9d8fa57c3
[TRANSLATION][BASE][FDEBUG][MODULES][WIN32SS] Use correct font name in Chinese resources, CORE-9566 (#227).
Localized resources should use the correct Traditional/Simplified Chinese fonts
that are most suitable for UI and compatible with Windows.
2017-12-29 01:51:06 +01:00
Amine Khaldi
2367206744 [USER32] Fix RealUserDrawCaption() return type. Rename {HFONT,UISTATE}_GWL_OFFSET and pfPaint. #179 2017-12-25 14:36:33 +01:00
Giannis Adamopoulos
c5db5399dc [USER32] Implement the index -1 for GetWindowLong which returns a pointer to WW
We don't have this struct but WND already contains the same fields in the right
order so we can just return the pointer to the first one.

The meaning of the -1 index was found here: http://www.geoffchappell.com/studies/windows/win32/user32/structs/wnd/index.htm
2017-12-25 00:12:45 +02:00
Amine Khaldi
3d93998d6e [USER32] Add wine/debug.h to the PCH and remove an unneeded wine/unicode.h inclusion. 2017-12-23 23:42:40 +01:00
Joachim Henze
82caf5f823 [WIN32K] avoid BSOD in Bochs 2.6.8 CORE-13629, patch by Mark Jansen
We applied this patch also last second in 0.4.7rls, now in master.

IntTrackPopupMenuEx() caused the BSOD when called while window is in the process of being destroyed.
2017-12-20 17:38:36 +01:00
Amine Khaldi
6429bfcd8f [CONSRV] Deduplicate GetScreenBufferSizeUnits(), SmallRectToRect() and ConsoleInput. Rename ConsoleList and InsertConsole(). #179 2017-12-08 23:04:48 +01:00
James Tabor
c45a6e15bf [User32|IMM32] Fix a recursion crash in IMM. See CORE-14041.
Required a sync port from wine. This is a hack fix with Win32SS until
proper IMM support is added to Win32SS.
2017-12-07 21:14:21 -06:00
Amine Khaldi
917b74b0dc [USER32] We're still using this one. Fixes build. 2017-12-07 22:37:40 +01:00