Commit Graph

392 Commits

Author SHA1 Message Date
Marcus Meissner 69c0bbea1a Some small bugfixes, added more PE relocation types (for WinCE mostly),
some console prototypes, -dll is useful for winelib too, regtest
compile fixed.
1999-02-09 14:25:57 +00:00
Lionel Ulmer 629b9fa4a3 Added buffered device access for DInput's mouse driver. 1999-02-09 14:18:21 +00:00
Francois Boisvert 47e2b852c3 The systems buttons (minimize/restore/close) now appear on the menu
bar of mdi application.
1999-02-09 14:11:19 +00:00
Stephane Lussier 91bb1f974c - Cleaned up the message queue when a thread exit (but not the process).
- Modified QUEUE_DeleteMsgQueue to exit gracefully (without crashing Wine) if
  queue link list is corrupted.
1999-02-09 14:07:07 +00:00
Noel Borthwick b427856b45 Added management and allocation of the PERQUEUEDATA structure. 1999-02-05 10:37:53 +00:00
Patrik Stridvall 8d8703cb48 Moved some more code to the X11 driver. 1999-02-04 14:05:38 +00:00
Patrik Stridvall c6e6a9aff9 TTY driver changes. 1999-02-04 13:14:42 +00:00
Patrik Stridvall ab121e7838 X11 driver changes. 1999-02-04 11:11:01 +00:00
Patrik Stridvall e8c89484e8 Implementation of the new monitor abstraction. 1999-02-04 10:12:55 +00:00
Alexandre Julliard cb8ef7d2bb Dialog window should not be destroyed in DefDlgProc; this break
modeless dialogs.
1999-01-31 15:02:23 +00:00
NF Stevens e00bb9d3f7 Create X window for child windows reparented to be top level windows. 1999-01-31 10:01:41 +00:00
Juergen Schmied 535f32ffd5 Stub for GetUserObjectSecurity. 1999-01-31 09:20:36 +00:00
Juergen Schmied afd5580fcb Every EM_GETLINE send between a 32W to a 32A window returned
incomplete values before (the first 2 chars where cut away).
1999-01-31 09:18:58 +00:00
Huw D M Davies 1b450209ec Fix typo in SetWindowPos32. 1999-01-31 09:17:38 +00:00
Bernd Herd ec721121e0 SetParent should link the window at the start of the list. 1999-01-30 15:50:58 +00:00
NF Stevens 114899a9de In Window SetWindowPos with SWP_HIDEWINDOW does not remove
the focus from the focus window; ShowWindow with SW_HIDE does.
So move the code that does this from SetWindowPos to ShowWindow.
1999-01-30 15:49:51 +00:00
Francis Beaudet 84ee125fd9 Make sure that the keystate received by the WM_XBUTTONUP and
WM_XBUTTONDOWN matches the message. In X, the keystate is changed
after the message is processed.  In Windows, it is changed before.
1999-01-30 12:59:09 +00:00
Stephane Lussier 1c4786fedf - Made the message queue access to be thread safe. (Using two new
functions to access the message queue, QUEUE_Lock(), QUEUE_Unlock()
  instead of GlobalLock16()).
- Fixed QUEUE_DumpQueue (used by "info queue <handle>" with the
  wine-debugger).
1999-01-28 10:54:11 +00:00
Marcus Meissner 03479f8adb Fixed a lot of warnings for possible problems. 1999-01-28 10:06:38 +00:00
Marcus Meissner 08e250ee69 Fixed loading of win32 drivers. 1999-01-28 08:59:26 +00:00
Eric Pouech 0248381a14 Added support for loading drivers in Wine. 1999-01-26 17:23:30 +00:00
Stephane Lussier a4c8445ba3 - Changing MESSAGEQUEUE structure according to Ulrich proposition.
- One message queue for every thread needing it.
- Messages in the message queue are now stored in a linked list
- Messages are allocated in the system heap.
- Messages in the message queue are 32 bits (MSG32).
- All read/write operations regarding messages in the message queue are
  thread safe.
1999-01-26 09:30:05 +00:00
Marcus Meissner bb7959b58a Free the private data pointer, THEN set it to NULL. 1999-01-24 18:55:48 +00:00
Marcus Meissner 1da0242f58 Missing WINAPI. 1999-01-24 18:54:56 +00:00
Andreas Mohr 94e4485bff Implemented WIN16_CallMsgFilter32, WIN16_DispatchMessage32,
DrawAnimatedRects16 (stub), FormatMessage16, WIN16_GetMessage32,
WIN16_PeekMessage32 and WIN16_TranslateMessage32.
1999-01-23 14:15:17 +00:00
Marcus Meissner 308477b6df Set private data struct to NULL to expose problems in other code
better. Fixes the XUnmapWindow problems reported by replacing them
with NULL ptr dereferences.
1999-01-23 14:03:11 +00:00
Marcus Meissner 688c565880 Fixed accelerator handling. ACCEL16 used internal, ACCEL32 for Win32
API, PE_ACCEL for PE Accelerators. See documentation/accelerators.
1999-01-22 17:09:46 +00:00
Noomen Hamza bfd0228180 Fixed the NC_DrawMaxButton95 and NC_DrawMinButton95 functions. Rewrote
these functions with the same logic as the NC_DrawCloseButton function.
1999-01-20 14:03:49 +00:00
Noel Borthwick 463eb29419 Reparenting a window with SetParent in Windows should cause the child
window being re-parented to be moved up to the topmost in the z-order,
and WM_WINDOWPOSCHANGING and WM_WINDOWPOSCHANGED messages to be sent.
1999-01-20 13:50:13 +00:00
Ulrich Weigand 0be24af74d Handle (console) applications that never created a queue correctly
in USER_AppExit(); call InitThreadInput() in InitApp().
1999-01-20 13:16:32 +00:00
Ulrich Weigand a897518673 - Fixed creation of message queue in hook API routines.
- Some preparations for thread-local message queues.
1999-01-20 13:11:45 +00:00
Ulrich Weigand 1afd5a25f0 Use Callout to call RedrawWindow32. 1999-01-20 12:52:10 +00:00
Alexandre Julliard 8da12c43a9 Group commit for recovery after disk crash.
See Changelog for changes WRT release 990110.
1999-01-17 16:55:11 +00:00
Alexandre Julliard 638f169b1e Recovery of release 990110 after disk crash.
See Changelog for changes between 990103 and 990110.
1999-01-17 16:32:32 +00:00
NF Stevens e365a23341 Fix the return type of DLGPROC type and mask out the unset highword of
the return when a 16 bit dialog proc is called.
1999-01-03 16:13:08 +00:00
Michael Veksler ca1bc866cf Moves more stuff from windows.h.
- include/winuser.h - interface relevant to user32.spec
- include/wine/winuser16.h - the old 16 bit interface (internal use)
- include/winbase.h - some minor updates to keep things coherent.
- Lot of other files made to include wine/winuser16.h, which is no
  longer included from windows.h
1999-01-01 18:57:33 +00:00
Alexandre Julliard dbf2bf00bc Moved MsgWaitForMultipleObject implementation to USER routines, using
a normal Win32 event.
1999-01-01 17:05:53 +00:00
Alexandre Julliard 55443878fc Removed client-side wait functions; all waiting is now done through
the server.
1998-12-31 15:52:06 +00:00
Alexandre Julliard 6842064fd7 Fixed SetFocus that was broken when moved to x11drv. 1998-12-27 15:26:28 +00:00
Marcus Meissner 73458b03cd Changed // comments to /* */ so WINE compiles with non-gcc compilers
again.
1998-12-26 12:54:29 +00:00
Patrik Stridvall 151170c437 Moved more things to the X11 driver. 1998-12-26 12:00:43 +00:00
Ulrich Weigand a844189d1a Desktop window queue handling adapted. 1998-12-24 15:17:02 +00:00
Ulrich Weigand 1babe5b23c Queue handling adapted to new queue routines. 1998-12-24 15:16:08 +00:00
Ulrich Weigand 89b93bf26b Implemented stub for InitThreadInput.
Use GetThreadQueue/GetFastQueue instead of GetTaskQueue.
1998-12-24 15:15:00 +00:00
Ulrich Weigand be672fe587 Handle non-hardware X events correctly with native USER
(removed reference to MESSAGEQUEUE from KERNEL code).
Handle Expose events with native USER.
1998-12-24 14:59:53 +00:00
Rein Klazes 4caa2a1147 Lowest scan code seems to be 1, not zero. 1998-12-24 14:37:36 +00:00
Juergen Schmied bf6ee621d1 More messages [LB_*,EM_*] translated 32A from/to 32W. 1998-12-24 14:32:34 +00:00
Ulrich Weigand ae3fbab8e4 Bugfix: always clear QS_... from *both* changeBits and waitBits.
Bugfix: queue->hSendingTask is *queue* handle, not task handle.
1998-12-18 16:53:20 +00:00
Dirk Thierbach 9824ec404c Set the class hints for managed windows. 1998-12-15 17:33:04 +00:00
Paul Quinn 1beaae5f9e Lots of new defines and stubs. 1998-12-15 15:38:36 +00:00
NF Stevens 181fa7c54d Fix the Z-order of maximized/minimized child windows. 1998-12-14 14:37:06 +00:00
Marcus Meissner 8e7950a0ec (FOCUS_SwitchFocus) check for pFocusTo == NULL instead of hFocusTo==0. 1998-12-14 12:52:37 +00:00
Andreas Mohr 7a6228d1e1 Fixed a bunch of compiler warnings. 1998-12-11 09:16:48 +00:00
Alexandre Julliard 0c0e3bebb8 Authors: Francis Beaudet <francis@macadamian.com>, Sylvain St-Germain <sylvain@macadamian.com>, Thuy Nguyen <thuy@macadamian.com>
Lots of new stubs.
1998-12-10 15:49:22 +00:00
NF Stevens 40097ccfb5 - Handle WM_MDIRESTORE by calling WM_SYSCOMMAND for
the child window so that the system menu is set correctly.
- In MDICascade and MDITile use WM_MDIRESTORE message
to restore maximized window so that system menu is
handled correctly.
1998-12-10 10:41:23 +00:00
Robert Riggs 6cd359bc93 Stubs for IDirectInputEffect and IDirectInputDevice2A methods,
as well as AddRef(), GetCapabilites(), EnumObjects(),
GetProperty(), GetObjectInfo(), GetDeviceInfo(), Initialize(),
and RunControlPanel() for IDirectInputDevice.
1998-12-10 09:08:48 +00:00
Ulrich Weigand 2f09818fcd Removed deferred Expose events handling. 1998-12-10 08:59:53 +00:00
Ulrich Weigand ae85ebf1b1 Don't clip VisRgn against X desktop. 1998-12-10 08:57:31 +00:00
Marcus Meissner daf860e501 Superflous WINAPI removed. 1998-12-08 10:14:00 +00:00
Huw D M Davies baa5087ecd Fix includes. 1998-12-08 09:39:07 +00:00
Huw D M Davies 2d617be099 Replace GRAPH_ functions with Win SDK equivalents. 1998-12-08 09:14:09 +00:00
Brian Gerst 9784701f08 The scancode Windows send for extended keys is the scancode of the
unextended equivalent of the key, plus the extended flag.
1998-12-07 15:44:54 +00:00
NF Stevens be1566613c Added case for GCW_ATOM int GetClassLong32A. 1998-12-07 12:48:16 +00:00
Ulrich Weigand 7af95ae105 Bugfix: WIN_ResetQueueWindows would skip some windows. 1998-12-07 10:24:42 +00:00
Patrik Stridvall f638aef517 Added the new TTY driver. 1998-12-07 09:36:13 +00:00
Patrik Stridvall e35d6366ef Moved more code to the X11 driver. 1998-12-07 09:13:40 +00:00
Juergen Schmied a40e74255e Small change. 1998-12-01 12:52:56 +00:00
NF Stevens a406682cea The class name needs to be converted to a getptr. 1998-12-01 08:29:29 +00:00
Paul Quinn d8a541d1fc Fixed activation/Focus message order problem when creating a new HWND. 1998-11-30 13:37:54 +00:00
Paul Quinn eede6b044e Implementation of ChildWindowFromPointEx functions. 1998-11-30 13:15:36 +00:00
Huw D M Davies cd448946e3 Remove included color.h. 1998-11-26 16:32:00 +00:00
Huw D M Davies 9c68faadab Remove X_DC_INFO from DC and make it behave like any other PDEVICE. 1998-11-25 12:36:03 +00:00
Juergen Schmied 2e120f8893 Bugfix: SetDlgItemText32 returns BOOL not void. 1998-11-24 20:29:28 +00:00
Juergen Schmied 8090784a46 New stubs GetUserObjectInformationA|W. 1998-11-24 20:26:02 +00:00
Huw D M Davies 2bd3acf7c8 Moved DC_SetupGC functions to graphics/x11drv/graphics.c. 1998-11-22 17:45:06 +00:00
David Luyer 7401463528 Queuing of deferred Expose events. 1998-11-22 15:44:59 +00:00
Rein Klazes cb37dfda0f Fixed typo. 1998-11-22 14:13:47 +00:00
Marcus Meissner de12d2abe4 Check wndPtr for NULL. 1998-11-22 13:29:29 +00:00
David Faure 6c6e3e484a Micro patch for AltGr key on german keyboards. 1998-11-22 12:22:07 +00:00
John Richardson 04e57f97fc Allow SWP_HIDEWINDOW to be called on windows that are already hidden
without unmapping them again.
1998-11-15 18:07:04 +00:00
Pim Bollen a97db5e450 Fixed scroll bug in ScrollWindowEx32 which caused garbage on screen
outside desktop window with gtwin.exe (Dutch banking program).
1998-11-15 18:05:32 +00:00
Alexandre Julliard 737fa07db7 Small atom fixes. 1998-11-15 17:29:15 +00:00
Juergen Schmied 36636ed74c Small fixes. 1998-11-15 16:53:34 +00:00
Gavriel State c77c5928d2 Added code to manage Ascii and WideChar class names, and to return the
names in the GetClassInfo functions.
1998-11-15 09:21:17 +00:00
Juergen Schmied ebc2b778d5 Fixed warnings, some only visible with -Wstrict-prototypes or -pedantic. 1998-11-14 18:59:30 +00:00
Ulrich Weigand 431d1a0ce2 Moved X11 mouse cursor handling to the DISPLAY driver. 1998-11-14 18:57:47 +00:00
Ulrich Weigand 8bf078bfc8 Moved GetKeyboardLayoutName16 to windows/input.c. 1998-11-14 18:26:59 +00:00
Per Ångström a47bc3abb9 EnumTaskWindows16: Basing the selection on a window's task is not only
more straightforward than comparing message queues, it also works
better for Win32 applications.
1998-11-14 17:00:37 +00:00
David Faure f64b70e558 Special case handling of : Shift + arrow, shift + home, ...
X returns a char for it, but Windows doesn't. Ignore X char.
Also added some documentation.
1998-11-14 16:47:54 +00:00
Per Ångström d772adab0f Fixed SetMessageQueue32 to return FALSE, not TRUE, when called with
an invalid size parameter.
1998-11-14 11:29:02 +00:00
Lionel Ulmer 9f984ce78d Wine keyboard and mouse have now their own UIDs. 1998-11-14 11:22:25 +00:00
NF Stevens e1f67b99bb Fixed keystroke accelerators in dialogs which have controls containing
other controls as child windows.
1998-11-08 16:44:41 +00:00
Juergen Schmied fdf6aa4eed Fixes: LB_/CB_/EM_ messages for getting/setting text and a bug in
16->32 bit conversion.
1998-11-08 16:28:49 +00:00
Lionel Ulmer 12de3ea346 Added device type constants and used them in device enumeration
function.
1998-11-08 14:24:04 +00:00
Uwe Bonnes 9fdceb8a21 - adds GetExitCodeProcess
- corrects the return-type of GetKeyState
- corrects the winelib definition of IsDialogMessage
- adds winelib definitions for PrintDlg
1998-11-08 13:12:49 +00:00
Ulrich Weigand a11ce32ad4 Adapted to new input event handling. 1998-11-08 12:27:26 +00:00
Ulrich Weigand 2b067584e9 USER-side part of input event handling: contains implementation of
keybd_event and mouse_event, and USER-related code removed from
windows/event.c and windows/keyboard.c.
1998-11-08 12:26:36 +00:00
Ulrich Weigand a6663e8573 Stubs for DISPLAY.DRV removed from keyboard.c. 1998-11-08 12:24:02 +00:00
Ulrich Weigand bf844a4f38 Implementation of MOUSE.DRV (contains some code taken from
windows/event.c).
1998-11-08 12:21:35 +00:00
Ulrich Weigand d1b919c7e4 Implementation of KEYBOARD.DRV (code mostly taken from previous
windows/keyboard.c).
1998-11-08 12:19:23 +00:00
Rein Klazes cb505623c1 Added WM_GETDLGCODE handling in (Un)MapMsg32Ato16. 1998-11-07 12:24:21 +00:00
Lionel Ulmer 89f8ba2129 Changed mouse button mapping and check size of return buffer. 1998-11-06 17:28:22 +00:00
Ove Kaaven 0fbe1de1f7 Made sure ConfigureNotify is processed before Expose, deferring the
Expose event if necessary, thus working around a WM flaw with virtual
desktop scrolling in -managed mode.
1998-11-06 10:56:09 +00:00
Marcus Meissner 4d7f5b6098 Two missing WINAPIs. 1998-11-06 10:15:00 +00:00
Jesper Skov 5c3e457b16 egcs 'ambiguous else' warnings fixes. 1998-11-01 19:27:22 +00:00
Ulrich Weigand 7df1fbb3df Run Winelib applications as 32-bit processes in the initial task.
Simplified/removed several special 'if (__winelib)' cases in
Wine main code obsoleted by that change.
1998-11-01 18:01:53 +00:00
Ulrich Weigand 718cbaea16 Call mouse driver callback also if windows are not registered with X
(if using native USER.EXE).
1998-11-01 18:00:56 +00:00
Alexandre Julliard 463b713dfd Fixed crashes with WM_GETDLGCODE translation. 1998-11-01 16:23:54 +00:00
Patrik Stridvall ea5847247e Started moving some X11 window management code to windows/x11drv. 1998-11-01 16:22:07 +00:00
Ove Kaaven 748acbb0a5 Fixed IsDialogMessage16. 1998-11-01 15:27:12 +00:00
Huw D M Davies 84dd9feb05 A couple of small fixes to my bitmap patch. 1998-11-01 15:13:53 +00:00
Uwe Bonnes 3700777e9a Allow the user to put a mark in the debug log by adding a item in the
SYSMENU. The messages needs implementation in all other languages than
English and German.
1998-11-01 15:07:24 +00:00
Rein Klazes 5c6fc1bb91 CreateWindowEx32[AW] now creates an MDI chils when the WM_EX_MDICHILD
extended style is specified. Also implemented CreateMDIWindow32A()
call - single thread only -.
1998-11-01 14:50:06 +00:00
Marcus Meissner 9cfe2d5384 Added stubs for user32,advapi32 functions. 1998-11-01 14:02:57 +00:00
Andreas Mohr b7db887be1 Added stub for CheckCursor(). 1998-11-01 13:30:18 +00:00
Tim Newsome e7cdbb0589 Fix for non-modal dialog closing. 1998-11-01 13:04:43 +00:00
David Faure 120e4576c4 Rewrote the two routines using the vkey->scancode array to use
keyc2vkey for each keycode, instead. Not tested.
Removed unused IDirectInputDeviceA_GetDeviceState.
Fixed warning in TRACE() call.
1998-11-01 13:03:43 +00:00
David Faure 6f75dc440f Deleted the vkey->sancode array, because QWERTY specific.
Back to using the X keycode instead as the scancode. Tested.
1998-11-01 13:02:59 +00:00
Marcus Meissner 1e319975d7 Small fixes. 1998-10-31 12:20:55 +00:00
Marcus Meissner 8143accee2 Lots of stubs to get winlogon.exe from nt3.51 and other NT3.51 applets
a bit further.
1998-10-31 12:19:56 +00:00
Rein Klazes 4f7abc05c2 MDIchild created when the MDI client has the MDIS_ALLCHILDSTYLES
style, should not be shown at creation nor activated unless the
WS_VISIBLE flag is set.
1998-10-31 12:18:17 +00:00
Rein Klazes bf1bc516cc Delay linking newly created window in linked list until after the
WM_NCCREATE message.
1998-10-31 12:09:32 +00:00
Juergen Schmied 982f139d19 A dest buffer was printed out as string. 1998-10-28 14:58:02 +00:00
Huw D M Davies 87f87bf61c Added pBitmapBits and pCreateBitmap to the GDI function table and
moved the X11 dependent stuff out of objects/bitmap.c into x11drv.
1998-10-28 09:53:53 +00:00
Marcus Meissner 66cd333461 EnumDisplayModes* returns a static list of modes with all depths
(helps hexen2demo), ChangeDisplaySettings returns true all the time.
1998-10-27 15:41:54 +00:00
NF Stevens 1410cdd0c4 A couple of TRACE messages are missing a newline at the end. 1998-10-26 11:04:12 +00:00
Pascal Cuoq 724f1900de 32-bit clipboard support. 1998-10-26 10:58:16 +00:00
Ulrich Weigand e948930ea8 Bugfix for QUEUE_Signal: Always use PostEvent if no thread is waiting
on the queue.
1998-10-26 10:45:13 +00:00
NF Stevens 9552483350 Fixed a minor problem with the menus for mdi child windows. 1998-10-26 10:44:17 +00:00
David Faure b745eaa466 Replaced 0x00 with 0x01 in the vkey->sancode array, so that no key is
ignored. 0x00 is used for generated key events only.
1998-10-25 09:24:29 +00:00
Douglas Ridgway efaa573501 API Documentation for SendMessage, GetTickCount, PostQuitMessage,
GetMessagePos, GetMessageTime.
1998-10-25 09:20:30 +00:00
Kai Morich 6a387e500e Added Drag&Drop from KDE app to 16/32 bit Windoze app. 1998-10-24 12:02:20 +00:00
Kai Morich 54ae47358c Added FIXME message in PostMessage32x if parameters are truncated
when calling PostMessage16.
1998-10-24 12:01:36 +00:00
Lionel Ulmer 27829e4337 Beginning of mouse support in DirectInput (only "standard" mouse
configuration supported for now).
1998-10-24 11:04:07 +00:00
Eric Kohl d0b79c0886 Fixed DrawCaption16() and DrawCaptionTemp16(). 1998-10-24 10:45:42 +00:00
David Faure 905d6226ef Fixed warning. 1998-10-24 10:45:01 +00:00
Juergen Schmied 8e26b5837d New stub RegisterTaskList.
New function EnumDisplaySettings32W().
1998-10-23 12:51:38 +00:00
Juergen Schmied 4a84dc2391 More message mapping 32A<-->32W for EM_, CB_, LB_ for Unicode. 1998-10-23 12:04:25 +00:00
NF Stevens 08aaa5d0a4 Fixed moving and sizing of child windows. 1998-10-22 11:35:04 +00:00
Marcus Meissner 96dad15fd8 XQueryKeymap -> TSXQueryKeymap (fixes the XIO errors reported). 1998-10-22 07:55:33 +00:00
Turchanov Sergey 656eb96577 Moved Multimonitor API declarations to windows.h. 1998-10-18 11:56:35 +00:00
Turchanov Sergey 86f5d82f2f Implemented DefDriverProc32 from winmm.dll. 1998-10-18 11:22:36 +00:00
Alex Korobka d20858433d Got rid of flickering scrollbar arrows. MDI scrolling speeded up a
bit.
1998-10-18 10:37:46 +00:00
Patrik Stridvall 1e1cf48107 Compile fix for Solaris. 1998-10-17 12:56:00 +00:00
Marcus Meissner f4f1719ca5 Fixed some more missing WINAPIs (hopefully correct). 1998-10-17 12:10:19 +00:00
Rein Klazes bbf2efe38e Fixed an error when an owned window activates its owner during
creation.
1998-10-15 13:03:10 +00:00
Rein Klazes 1ffe652cd1 Closing a dialog using the menu bar ("x" or "-" button or windows
menu) must generate a WM_COMMAND+IDCANCEL message, unlike closing
normal windows when DestroyWindow() is called.
1998-10-15 13:00:38 +00:00
Juergen Schmied 2c20591578 New stubs PrivateExtractIconEx[AW], PrivateExtractIconsW,
RegisterShellHookWindow, DeregisterShellHookWindow, GetProgmanWindow,
GetTaskmanWindow, SetProgmanWindow, SetShellWindowEx,
SetTaskmanWindow.
1998-10-15 12:35:41 +00:00
Alex Korobka d37b69cdc8 Better QUEUE_FlushMessages(). 1998-10-14 18:38:22 +00:00
Norman Stevens a83d0657e6 Improving keyboard handling, including accelerator keys in dialog
boxes. Also fixes enter key in Agent32 edit box.
1998-10-12 07:25:35 +00:00