Commit Graph

323 Commits

Author SHA1 Message Date
Tobias Taschner
f1abb351af Remove MicroWindows support.
MicroWindows (aka Nano-X) support hasn’t been updated since 2010 and last work for it in wxWidgets happened more than 10 years ago.
2015-08-27 11:00:16 +02:00
Dimitri Schoolwerth
31145b8e3a Fix some typos, no code changes (besides strings) 2015-06-05 02:54:46 +04:00
Dimitri Schoolwerth
8f8d58d193 Use wx-prefixed macros throughout the repository.
Change {DECLARE,IMPLEMENT}_*CLASS and {DECLARE,BEGIN,END}_EVENT_TABLE
occurrences to use the wx-prefixed version of the macros.
2015-04-23 22:00:35 +04:00
Vadim Zeitlin
81f6d00518 Move MSWGetDefaultLayout() outside of #if wxUSE_EXCEPTIONS block.
Build fix for wxUSE_EXCEPTIONS==0 after r78236.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78250 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-12-06 13:07:10 +00:00
Vadim Zeitlin
f1fd45892f Fall back to default process layout direction in wxMSW.
Add helper wxApp::MSWGetDefaultLayout() static method and use it instead of
wxTheApp->GetLayoutDirection() in wxMSW code.

This serves two purposes: first, wxMessageDialog doesn't crash when it's shown
before wxTheApp is created (or after it's destroyed) any more. And second, we
use the correct layout direction if the main application has enabled it by
calling SetProcessDefaultLayout() or using two U+200E characters in the
beginning of its "FileDescription" resource field by default now.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78236 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-12-05 22:18:25 +00:00
Vadim Zeitlin
6c40531fb7 Make main thread wake up code more efficient and less error-prone in wxMSW.
Use a kernel event object to signal the thread wake up instead of sending
WM_NULL to one of its windows. This is simpler as we don't need to look for
any windows and doesn't suffer from the problem of overflowing the Windows
message queue if we do it too many times as signalling an already signalled
event simply doesn't do anything.

Closes #9053.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78041 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-10-19 12:57:08 +00:00
Vadim Zeitlin
e9f4d80887 Remove checks for ancient gcc/MinGW versions.
Don't test for wxUSE_NORLANDER_HEADERS, this is always true since many, many
years.

Remove tests for gcc version < 3.3, notably 2.95: the minimal supported gcc
version is 3.4.

Closes #15727.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76549 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-16 13:01:35 +00:00
Vadim Zeitlin
f825884f74 Don't use DWORD and WXDWORD interchangeably in wxMSW code.
WXDWORD is defined as unsigned long, while DWORD is defined as unsigned int in
64 bit builds using Cygwin gcc, so they are not the same type (although they
do have the same size) and using the latter instead of the former in the
function definition results in errors in this build configuration.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76501 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-12 13:14:20 +00:00
Vadim Zeitlin
2964de72a5 Don't duplicate wxGetOsVersion() in wxMSW wxGUIAppTraits.
Just call wxGetOsVersion() instead of using the Windows ::GetVersionEx()
function directly.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76408 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-04-27 22:39:34 +00:00
Vadim Zeitlin
d5216a4afc Fix Intel compiler warnings about hiding member variables.
Rename method parameters to avoid conflicts with member variables names.

Closes #15971.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76029 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-02-27 15:46:32 +00:00
Vadim Zeitlin
10597ecd04 Don't log error from wxMSW wxWakeUpIdle().
This is not necessary as there is nothing that can be done about this error
anyhow and the function still "works" even if it occurs (it doesn't wake up
anything but it is not necessary to do it if the message queue is already
full) and, worse, results in a crash due to stack overflow.

Closes #15951.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75835 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-02-07 15:02:36 +00:00
Vadim Zeitlin
0180c58801 Call SetErrorMode() for all Windows applications, not just wxMSW ones.
This suppresses default system error message boxes when trying to load an
invalid DLL in wxGTK/Windows.

Closes #15559.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74974 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-09 10:34:19 +00:00
Vadim Zeitlin
3f66f6a5b3 Remove all lines containing cvs/svn "$Id$" keyword.
This keyword is not expanded by Git which means it's not replaced with the
correct revision value in the releases made using git-based scripts and it's
confusing to have lines with unexpanded "$Id$" in the released files. As
expanding them with Git is not that simple (it could be done with git archive
and export-subst attribute) and there are not many benefits in having them in
the first place, just remove all these lines.

If nothing else, this will make an eventual transition to Git simpler.

Closes #14487.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74602 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-26 16:02:46 +00:00
Vadim Zeitlin
0ec1064b79 Use a "hidden" dialog, not frame, in sync wxExecute() hack in wxMSW.
Replace a "hidden" (not really, but shown far off screen) frame with a dialog
to avoid this frame appearing in the Alt+TAB list.

Closes #13251.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72667 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-13 22:53:22 +00:00
Vadim Zeitlin
017dc06b50 Use wxString::t_str() in calls to Windows API functions in wxMSW.
Use t_str() instead of wx_str() to make the code work correctly in UTF-8 build
in which wx_str() returns a pointer to UTF-8 buffer while we need a wchar_t
pointer for Windows.

Closes #14371.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71640 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-03 19:16:59 +00:00
Vadim Zeitlin
dd1af40c59 Add wxUSE_THREADS checks around wxMSW functions dealing with threads.
This removes the code unneeded in wxUSE_THREADS==0 build and also fixes
compilation of wxGUIAppTraits::WaitForThread() which didn't compile any more
with wxUSE_THREADS==0 since r67185.

Closes #13050.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67288 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-22 17:15:56 +00:00
Vadim Zeitlin
b95a7c3144 Allow wxThread::Wait() and Delete() to block, even under wxMSW.
Add "wait mode" parameter to these methods which can be used to make them
block even under wxMSW where they currently dispatch messages when called
which can be totally unexpected.

Do keep the old behaviour for compatibility however, although it will change i
3.2.

Closes #12998.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67185 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-14 11:54:32 +00:00
Vadim Zeitlin
14ca3a3b0e Add more checks for wxUSE_DYNLIB_CLASS to wxMSW.
Compilation fixes for wxApp and wxComboBox for wxUSE_DYNLIB_CLASS==0.

See #12664.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66173 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-11-16 22:38:38 +00:00
Vadim Zeitlin
ef0fdf3914 Don't dispatch messages while waiting in worker thread in wxMSW.
We only want to continue dispatching messages while waiting for another thread
to terminate if we are waiting in the main thread.

Closes #12618.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65929 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-26 15:11:06 +00:00
Vadim Zeitlin
9106ea703c Fix wxMSW compilation in wxUSE_STL==1 case.
A wxDECLARE_NO_ASSIGN_CLASS() was recently added to ClassRegInfo but storing
it in a vector requires it to be "Assignable" so this broke compilation in STL
case (wxVector<> doesn't enforce this requirement currently).

Make ClassRegInfo assignable again to fix this.

Closes #12355.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65315 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-08-15 21:14:06 +00:00
Vadim Zeitlin
563cf28f2a Revert MSW window classes uniquification patch.
Making the class names unique doesn't seem to be necessary so revert the patch
which appended unique pointer value to their names (r57030).

See #9031.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65233 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-08-10 18:57:51 +00:00
Vadim Zeitlin
5431e4a684 Use wxGetInstance() instead of wxhInstance in wxMSW code.
No real changes, just use an accessor function instead of directly accessing
the global variable.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63554 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-02-25 00:03:59 +00:00
Julian Smart
4a00d37c96 Applied #11236: Event from thread not processed
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62086 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-09-24 15:42:18 +00:00
Vadim Zeitlin
9a83f86094 Globally replace _T() with wxT().
Standardize on using a single macro across all wxWidgets sources and solve the name clash with Sun CC standard headers (see #10660).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61508 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-07-23 20:30:22 +00:00
Vadim Zeitlin
abd694417a remove wxMSW-specific (but copied into wxPalm too) wxAppTraits::AlwaysYield(), it's useless now that wxEventLoop is in wxBase
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60734 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-05-24 19:39:40 +00:00
Vadim Zeitlin
ca21f825b5 no real changes, just correct a comment (closes #10563)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59459 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-09 23:05:25 +00:00
Francesco Montorsi
dde19c2180 second part of #10320: move wxApp event handling functions to wxEventLoopBase (in particular move Yield() functions); add backward compatible redirections to wxApp; update docs; remove global lists wxPendingEvents and wxPendingEventsLocker
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58911 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-15 14:25:08 +00:00
Vadim Zeitlin
c0c133e13b add wx-prefixed and semicolon-requiring versions of DECLARE_NO_{COPY,ASSIGN}_CLASS macros
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58757 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-08 11:45:59 +00:00
Vadim Zeitlin
a830dc4832 another compilation fix to switch in DoYield()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58665 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-04 21:25:00 +00:00
Vadim Zeitlin
365b9f162a compilation fixes to DoYield() after latest changes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58662 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-04 20:36:20 +00:00
Francesco Montorsi
a552d2c3f2 update to the latest version of the patch at #10320 the wxApp::DoYield implementation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58658 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-04 18:02:03 +00:00
Francesco Montorsi
d48b06bd90 check in the 'selective yield' patch (see ticket #10320):
- implements YieldFor() with event filtering for wxMSW and wxGTK,
  adds TODO markers in other ports;
- replaces wxYield() in GTK's clipboard code with a wxTheApp->YieldFor() call, thus fixing possible reentrancies 
(and modifies clipboard sample to test synchronous IsSupported calls)
- replaces wxYieldIfNeeded() calls in wxProgressDialog with wxTheApp->YieldFor() calls, so that it processes only 
UI/user-input events, thus fixing the race condition visible in the "thread" sample
- documents the new functions


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58654 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-04 17:42:28 +00:00
Vadim Zeitlin
c76fb54570 move ClassRegInfo out from anonymous namespace to work around mingw32 4.3 bug
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58199 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-18 18:49:23 +00:00
Francesco Montorsi
d181e877b0 use a common m_isInsideYield flag instead of static booleans in all ports; add a IsYielding() test which can help to fix unwanted re-entrancies
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57637 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-29 15:03:39 +00:00
Vadim Zeitlin
5a9379d7b0 implement wxLoadedDLL, a safer alternative to wxDL_GET_LOADED (closes #10208)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57405 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-17 22:19:41 +00:00
Vadim Zeitlin
64accea5fa added .c_str() to wxStrlcpy() calls to fix wxUSE_STL build (closes #10252)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57391 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-17 09:49:42 +00:00
Vadim Zeitlin
d9698bd4ac cleanup the Win32 window classes registration code: remove global variables and register the window classes we use on demand to avoid registering MDI or GL classes unnecessarily
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57030 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-29 22:19:55 +00:00
Vadim Zeitlin
d2fa187325 get rid of CE-specific code for class name registration, the unique instance enforcement should be implemented by using wxSingleInstanceChecked if it's really necessary
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57026 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-29 14:59:21 +00:00
Vadim Zeitlin
e408bf5257 add safe wxStrlcpy() function and replaced all wxStrncpy() calls by it
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57023 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-29 14:41:02 +00:00
Vadim Zeitlin
e2d4ce7d36 don't load comctl32.dll, just get the handle of the already loaded instance of it instead, this avoids accidentally loading 2 different versions of this DLL in the same process (see #10203)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56863 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-20 16:45:45 +00:00
Vadim Zeitlin
5c33522fca replace wx_{const,static,reinterpret}_cast with their standard C++ equivalents
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56644 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-02 02:39:52 +00:00
Vadim Zeitlin
fcf92c3a0d make wxApp::Yield() exception-safe
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54573 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-10 02:07:44 +00:00
Vadim Zeitlin
05b4b8ee88 more compilation fixes for VC6 (#9492)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54016 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-06-07 15:06:32 +00:00
Vadim Zeitlin
1033a7cc58 fix assert in ANSI build in wxConsoleStderr::GetCommandHistory() (ticket 9146)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53802 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-05-28 12:47:27 +00:00
Vadim Zeitlin
575cabba69 fix some harmless compilation in (release) MSVC build
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53796 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-05-27 22:48:54 +00:00
Vadim Zeitlin
784ee7d511 improve wxMessageOutputBest console output under Windows (closes 9146)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53730 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-05-23 23:28:13 +00:00
Julian Smart
09b895cb4a Cast for argument to delete[] - VC6 doesn't want to delete a const pointer
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53619 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-05-17 16:20:19 +00:00
Stefan Neis
f212e222e7 Ensure that wxApp::Yield is always processing pending event by creating a
temporary event loop if needed.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53606 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-05-16 12:50:26 +00:00
Vadim Zeitlin
bcbb13598c make class names used for our windows unique between different wx instances (modified patch 1898289)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53552 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-05-11 16:17:34 +00:00
Vadim Zeitlin
8c6dcbd068 prevent all our windows from being destroyed in wxApp::OnEndSession(), otherwise we're still killed before the cleanup code finishes to run
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53323 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-04-23 21:50:11 +00:00