Commit Graph

16090 Commits

Author SHA1 Message Date
Vadim Zeitlin
cbc1dbab9a Allow using ESC as accelerator in wxMSW again.
This ended up being broken due to an interplay between different unrelated
changes (at least r15120 and r41134) which were both correct, but didn't work
well together and resulted in not only preventing IsDialogMessage() from
handling ESC, but also our own accelerator tables.

Fix this by doing the check for IsDialogMessage() brokenness in
MSWProcessMessage() itself, just before calling it, instead of doing it in
MSWShouldPreProcessMessage() which is (and must be) called before
MSWTranslateMessage() which checks for accelerators using ESC.

Closes #3813.

[This is the backport of r77071 from trunk.]

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@77948 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-10-03 01:52:15 +00:00
Vadim Zeitlin
7d94e9fafd Fix handling of bitmaps with alpha channel in wxMSW wxImageList.
Don't use mask and alpha together, this results in visual artefacts and masks
are unnecessary with RGBA bitmaps anyhow.

The only potentially problematic remaining case is mixing bitmaps with alpha
and mask inside the same image list (as we need to indicate whether we use the
mask or not when creating it), but this should probably be rare and in the
meanwhile we can at least RGBA bitmaps with image lists, which includes doing
this implicitly when they are used as button bitmaps.

Also refactor wxBitmap code to extract part of CopyFromIconOrCursor() to allow
reusing it in the newly added MSWUpdateAlpha().

See #11476.

[This is the backport of r75567 from trunk.]

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@77947 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-10-03 01:52:10 +00:00
Vadim Zeitlin
46e1b4b805 Fix generic wxSearchCtrl size/layout code.
Override DoGetBestClientSize() instead of DoGetBestSize(), as we're really
computing just the size of our contents and like this we don't need to hard
code platform-dependent border sizes in this control itself.

Also use the client size in LayoutControls() for the same reason. This also
makes it unnecessary to pass it the width and height as it can find them on
its own. And x and y were never used in the first place, so remove them too.

Finally, center the bitmaps vertically.

Closes #16422.

[This is the backport of r77083 from trunk.]

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@77946 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-10-03 01:52:04 +00:00
Vadim Zeitlin
1f2a74014f Fix changing the label of a submenu in wxMSW.
Use position, not the ID, to find the native menu items to allow the code in
wxMenuItem::SetItemLabel() and DoSetBitmap() to also work with submenus and
not just the normal items.

Closes #16246.

[This is the backport of r76676 from trunk.]

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@77945 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-10-03 01:51:59 +00:00
Vadim Zeitlin
8f4422831a Recognize Intel compiler as MSVC one under Windows in the build options.
The two compilers are binary compatible and by pretending that Intel compiler
is the same as MSVC, we allow using ICC to build applications using DLLs built
with MSVC.

Closes #9437.

(this is a backport of r76425 from trunk).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@77894 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-27 16:14:55 +00:00
Vadim Zeitlin
4752322151 Add default values for wxRichMessageDialog ctor arguments.
Both "caption" and "style" arguments were documented as having default values,
but didn't really have them. Fix this by actually adding them.

Closes #16524.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@77535 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-04 19:44:15 +00:00
Vadim Zeitlin
e0470c82a3 Test for __MINGW64_TOOLCHAIN__ and not __MINGW64__ in wx/filefn.h.
MinGW-w64 headers are the same in 32 and 64 bit cases, so test for these
headers presence with __MINGW64_TOOLCHAIN__ and not for 64 bit build with
__MINGW64__, which should probably not be used anywhere at all.

This fixes problems with wx{Rm,Mk}dir() definitions with MinGW-w64 in
non-Unicode build.

Closes #16362.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@77534 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-04 19:22:21 +00:00
Vadim Zeitlin
32f633a081 Move __MINGW64_TOOLCHAIN__ definition to wx/msw/gccpriv.h.
__MINGW64_VERSION_MAJOR is defined only in _mingw.h, so it was never defined
in wx/compiler.h, included before any other headers and we can't include
_mingw.h for the same reason we must define wxCHECK_MINGW32_VERSION() in
wx/msw/gccpriv.h: this has to be done after defining UNICODE/_UNICODE, but
wx/compiler.h is included before this.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@77533 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-04 19:22:17 +00:00
Vadim Zeitlin
d33d240e47 Include wx/variant.h from wx/msw/ole/oleutils.h.
This ensures that this header is self-contained and can be included without
including wx/variant.h first.

Closes #16522.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@77526 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-03 11:21:31 +00:00
Vadim Zeitlin
1368d4c0c5 Add small wxOleInitializer RAII helper.
Wrap wxOleInitialize()/wxOleUninitialize() in a helper class ensuring that we
never forget to call the latter.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@77513 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-29 23:22:39 +00:00
Vadim Zeitlin
03fb8ebf7b Add XRC handler for wxSimplebook.
Similar to wxNotebook but even simpler as wxSimplebook doesn't use images.

Also add wxSimplebook::Create() as the version inherited from wxBookCtrlBase
didn't _quite_ work: we need to add wxBK_TOP style to prevent asserts due to
unknown alignment in the base class when creating wxSimplebook.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@77007 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-05 22:00:57 +00:00
Vadim Zeitlin
0de26e62a7 Fix inserting an element of wxArrayString itself back into it.
Do the insertion/addition before deallocating the old memory to allow things
like array.Add(array[0]) to work correctly.

Closes #2290.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76907 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-07-13 14:27:29 +00:00
Tim Kosse
87ca7e242a wxBitmapComboBoxBase uses wxArrayPtrVoid, so we need to #include "wx/dynarray.h". This fixes a compile error in situations where wx/dynarray.h is not implicitly included through other headers, e.g. when building wx with many features disabled.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76892 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-07-12 08:31:39 +00:00
Vadim Zeitlin
644af9fa6c Correct the addition of wxLANGUAGE_KABYLE.
Repair (too late?) the ABI breakage for all the language constants following
wxLANGUAGE_KABYLE in alphabetical order by adding this enum element at the end
of the enum instead of in the middle.

Also add wxLANGUAGE_KABYLE to langtabl.txt so that it doesn't disappear when
the generated fragments are updated by running misc/languages/genlang.py the
next time.

This corrects/supersedes r75753.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76871 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-07-07 17:11:37 +00:00
Tim Kosse
419f0f194e Implement wxGenericListCtrl::EndEditLabel.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76858 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-07-06 11:31:31 +00:00
Dimitri Schoolwerth
de6fa55214 Fixes for building wxMSW under Cygwin.
Replace a few __WXMSW__ tests with __WINDOWS__ as the former is not
defined any longer (since r73290) when compiling with wxUSE_GUI set to 0.

Tested changes with both wxGTK and wxMSW builds under Cygwin.

Closes #14382.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76759 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-24 02:47:13 +00:00
Václav Slavík
281f6f7c36 Use IRichEditOleCallback for wxTextCtrl's context menu.
In wxMSW, use IRichEditOleCallback::GetContextMenu() to provide our
default context menu for rich text controls, instead of using
EVT_CONTEXT_MENU.

The latter completely overrides native control's handling and in
particular breaks Windows 8's builtin spellchecking support.

Fall back to the previous non-OLE code for older richtext versions.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76726 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-18 12:57:34 +00:00
Václav Slavík
5e45443568 Add wxMenu::MSWDetachHMENU().
Make it possible to pass ownership of a wxMenu to win32.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76725 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-18 12:57:30 +00:00
Vadim Zeitlin
52b452881f Update the version to 3.0.2 and rebake everything.
This is the result of running misc/scripts/inc_release and bakefile_gen.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76717 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-16 17:50:58 +00:00
Vadim Zeitlin
4357c54bd5 Fix getting position of wxPopupWindow in wxMSW.
Don't offset the returned values by the parent window origin unnecessarily: as
popup windows are created as children of the desktop window in wxMSW, their
coordinates are already expressed in screen coordinate system (which is
exactly the same as display window coordinate system) and we must not try to
translate them to it once again, this is completely wrong and was probably a
left over from earlier wxPopupWindow implementation in which it wasn't created
as a child of desktop.

In 3.0 branch we still need to continue overriding virtual DoGetPosition() for
ABI reasons, but don't do anything in it any more.

Closes #4440.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76674 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-09 20:30:55 +00:00
Vadim Zeitlin
6ebd5eed16 Return wxWinVersion_[78] correctly from wxMSW wxGetWinVersion().
This is especially important because the workaround of r76152 for IFileDialog
bug under Windows Vista also applied under later Windows versions as they were
not detected correctly.

Closes #16286.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76599 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-22 20:33:48 +00:00
Václav Slavík
419805785a Fix warning in wxSimplebook::UpdateSelectedPage().
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76590 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-21 07:40:50 +00:00
Dimitri Schoolwerth
aaa22ee060 Add 3 missing declarations for wxPoint2DInt non-member operator functions.
Three duplicate declarations were removed in r70493 instead of replacing them with the missing declarations.

Closes #10946.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76568 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-17 21:31:25 +00:00
Dimitri Schoolwerth
cdea0768f4 Cast arguments passed to wxPoint2DInt constructor.
Cast them to wxInt32 (instead of int) as that is the type of the wxPoint2DInt members m_x and m_y.

See #10946.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76567 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-17 21:29:49 +00:00
Dimitri Schoolwerth
bdd5422d92 Fix wxPoint2DInt::operator*= and wxPoint2DInt::operator/= .
These operator functions are respectively adding and subtracting their arguments. Instead let the functions multiply and divide their arguments (like their wxPoint2DDouble counterparts were doing already).

See #10946.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76566 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-17 21:26:42 +00:00
Vadim Zeitlin
8240083d9f Use DWORD instead of unsigned long in wxFileSystemWatcher wxMSW code.
These two types are not the same in 64 bit Cygwin builds, so fix the build by
just using DWORD everywhere.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76517 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-12 13:16:15 +00:00
Vadim Zeitlin
f6482e5a87 Fix tests for __WXMSW__ in non-GUI-only code.
__WXMSW__ is not defined when compiling wxBase, so the tests which were meant
to prevent using Unix event loop classes under Cygwin (under which both
__UNIX__ and __WINDOWS__, but not __WXMSW__, are defined) failed, breaking
compilation of all wxEventLoop-related code in wxBase in Cygwin builds.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76516 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-12 13:16:11 +00:00
Vadim Zeitlin
1902f64b6b Add casts from long to LONG to fix 64 bit Cygwin wxMSW build.
In 64 bits, LONG is actually defined as int in Cygwin gcc headers, so is
different from long -- even if both types use identical representation.

Just add the casts to fix this for now, as this is the smallest ABI-preserving
change. Ideally, something better and less ugly would need to be done in the
future.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76513 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-12 13:16:02 +00:00
Vadim Zeitlin
05549638e9 Define __WIN64__ for 64 bit wxMSW builds with gcc too.
Previously __WIN64__ was only defined for 64 bit builds with MSVC, which
resulted in many problems when using 64 bit Cygwin compiler.

Also don't use MSVC-specific __int64 but our wxInt64 for WX{L,W}PARAM and
WXLRESULT definitions in 64 bit builds.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76511 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-12 13:15:55 +00:00
Vadim Zeitlin
f8d937ff2d Don't define wxSIZE_T_IS_UINT for Cygwin unconditionally.
This breaks 64 bit Cygwin builds and is unnecessary for 32 bit ones where
configure already defines wxSIZE_T_IS_UINT correctly.

Closes #16130.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76509 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-12 13:15:47 +00:00
Paul Cornett
cb7cff40d5 fix build on systems which don't have vsscanf, such as Solaris 8
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76489 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-09 15:14:54 +00:00
Paul Cornett
8a643ba3ea fix building on IRIX with GCC
It's impossible to know what problem this was supposed to fix (it's been there
since the Dawn of Time: r2), but it prevents stddef.h from defining ptrdiff_t,
among others. We need ptrdiff_t.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76488 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-08 17:05:16 +00:00
Paul Cornett
97ad6435c3 Always check for wide char IO functions, they are used regardless of wxUSE_UNICODE setting
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76470 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-06 16:34:47 +00:00
Stefan Csomor
9d22f530ab backport, fixing enabling/disabling child windows, closes #16232
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76469 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-06 15:58:46 +00:00
Paul Cornett
51dc291c15 vswscanf is needed regardless of wxUSE_UNICODE
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76442 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-03 16:44:14 +00:00
Paul Cornett
65a7d01fe8 avoid referencing xml and html libs when they are not enabled
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76435 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-04-30 17:08:50 +00:00
Vadim Zeitlin
635517ca85 Make wxMSW wxTextCtrl::AdjustSpaceLimit() safe to call in all cases.
Allow calling this function not only from inside DoWriteText(): first, because
the existing code could be doing this (although this is only a concern in 3.0
branch as it was made private in the trunk) and second because it could
actually happen if the text limit was exceeded by user typing in the control.

See #15980.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76403 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-04-27 22:38:50 +00:00
Vadim Zeitlin
52d00a9ec0 Suppress warnings about using _set_se_translator() for MSVC 12 too.
We did it up to MSVC 11 but this still seems to work just fine without /EHa
with MSVC 12 too, so relax the version check to allow it to pass.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76401 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-04-27 22:38:41 +00:00
Stefan Csomor
f82bf771e2 backport, get rid of performance warnings "For best performance, only use PostScript names when calling this API", see #15999
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76396 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-04-25 14:35:21 +00:00
Paul Cornett
10d96d920b allow using wxEventLoopGuarantor when wxUSE_GUI==1
fixes wxOSX-Cocoa build when wxUSE_CONSOLE_EVENTLOOP==0
closes #14980


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76364 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-04-17 16:15:28 +00:00
Paul Cornett
1262d43005 remove extraneous semicolons
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76354 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-04-15 17:39:19 +00:00
Robin Dunn
059be74db3 Avoid possible infinite recursion
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76331 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-04-14 03:24:39 +00:00
Paul Cornett
ef0f7ba770 make validator pointer const
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76318 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-04-12 15:42:32 +00:00
Paul Cornett
129ed048d8 build fix for wxUSE_VALIDATORS==0 when NULL is defined to be nullptr
casting nullptr is not allowed

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76314 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-04-11 16:04:36 +00:00
Paul Cornett
7d8501c892 build fix for wxUSE_VALIDATORS==0
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76313 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-04-11 15:53:41 +00:00
Paul Cornett
5ab1db6a30 build fix for wxUSE_DRAG_AND_DROP==0
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76310 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-04-11 04:48:37 +00:00
Paul Cornett
1932822ed5 build fix for wxUSE_THREADS==0
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76309 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-04-11 04:48:12 +00:00
Paul Cornett
4560c70fff update comment for wxBG_STYLE_TRANSPARENT
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76296 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-04-07 17:16:44 +00:00
Paul Cornett
e61b4f2a8a avoid double-to-float conversion warnings in headers
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76288 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-04-05 17:13:46 +00:00
Vadim Zeitlin
37024c991c Fix wxFileSystemWatcher::RemoveAll() to actually work.
We need to call DoRemove() on all watcher objects to really remove them, just
removing our record of them was not enough and e.g. resulted in errors if we
tried to re-add a previously watched path again.

Closes #15531.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76182 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-03-23 00:10:36 +00:00