Commit Graph

109 Commits

Author SHA1 Message Date
Bryan Petty
ed173ed91e Use HTTPS with Trac links. 2017-07-04 13:15:14 -06:00
Jouk
0c748453e7 make compile work again when wxUSE_UNICODE is not defined 2017-04-26 11:24:33 +02:00
Vadim Zeitlin
5bf8fb1879 Fix fatal bug in the last commit: restore setting argc
Initialization of wxApp::argc was mistakenly removed, breaking the code
iterating over wxApp::argv from 0 to it.

See https://github.com/wxWidgets/wxWidgets/pull/462
2017-04-16 18:06:03 +02:00
Vadim Zeitlin
70a499f635 Don't rely on argv being NULL-terminated under MSW
Since the changes of c9a458bfe8 ("Use Win32
::CommandLineToArgvW() to tokenize command line"), this is not guaranteed any
more as this Win32 function doesn't necessarily ensure it under older MSW
versions such as XP.

Just use "argc" explicitly instead of relying on this in wxCmdLineArgsArray to
fix crashing under XP.
2017-04-16 17:50:22 +02:00
ARATA Mizuki
8cfc74491a Replace wxEXPLICIT with the 'explicit' keyword
See #17655.
2016-09-14 18:45:12 +09: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
Václav Slavík
26d6b58889 Use int& type for argc in wxInitialize and wxInitializer
Other functions that take (argc,argv) arguments (wxEntry, wxEntryStart)
take argc by reference, because they may manipulate the arguments list.
wxInitialize() used passing by value, so any modifications would be
silently lost. Make all the functions consistent in their handling of
argc by using int& everywhere.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78255 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-12-07 16:40:24 +00:00
Václav Slavík
5c472ee4c6 Don't crash on OS X on exit if -NS* argument used
When converting argv[] from char* to wchar_t* in ConvertArgsToUnicode(),
keep an extra (shallow) copy of argc and the argv[] array so that it can
be safely freed in FreeConvertedArgs().

The reason is that other functions such as wxApp::Initialize() may
modify argv[] and remove some arguments from it; this is indeed exactly
what wxOSX does. After such changes, gs_initData.argv would no longer be
in the original state and could contain e.g. duplicate pointers or be
missing some of the pointers that we should free.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78254 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-12-07 16:40:21 +00:00
Vadim Zeitlin
8f8baa1de3 No changes, just remove a left-over "#if 0".
Remove OSX-specific #if which was not used any more.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77651 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 16:51:09 +00:00
Vadim Zeitlin
33ad33d447 Add wxOVERRIDE and use it in common and wxOSX code.
Make overriding virtual methods more explicit and enable additional checks
provided by C++11 compilers when "override" is used.

Closes #16100.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76173 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-03-20 13:26:28 +00:00
Stefan Csomor
31fda0c2cf forgotten commit :-( remove #if 0 if things work again
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74659 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-08-14 20:34:53 +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
Stefan Csomor
b0ae60498d wiring OnInit on osx to a later point in event processing
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74592 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-24 06:14:48 +00:00
Vadim Zeitlin
bca27719fe Flush log messages from other threads on shutdown too.
Add a call to wxLog::FlushActive() to the shutdown code as calling just
wxLog::SetActiveTarget(NULL) is not enough, it flushes the current log target
only but not the ones used by other threads.

Closes #14595.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72629 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-07 22:38:32 +00:00
Václav Slavík
f5462b02b8 Fix compilation after r72375 - LC_CTYPE requires locale.h.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72419 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-08-31 10:45:45 +00:00
Václav Slavík
270bae200d Make sure wchar_t CRT functions work on OS X.
In OS X and iOS, wchar_t CRT functions convert to char* and fail under
some locales. The safest fix is to set LC_CTYPE to UTF-8 to ensure that
they can handle any input.

Note that this must be done for any app, Cocoa or console, whether or
not it uses wxLocale.

See http://stackoverflow.com/questions/11713745/why-does-the-printf-family-of-functions-care-about-locale

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72375 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-08-25 11:14:44 +00:00
Vadim Zeitlin
d98a58c543 Use __WINDOWS__ for OS kind checks and reserve __WXMSW__ for GUI toolkit.
This change prepares the way for using wxGTK under Windows as this would
still define __WINDOWS__ but use __WXGTK__ instead of __WXMSW__.

Closes #14064.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70796 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-03-04 00:29:31 +00:00
Vadim Zeitlin
5276b0a53c Use wxDELETE() and wxDELETEA() when possible.
Use wxDELETE[A]() functions which automatically NULL out their arguments after
deleting them instead of doing it manually.

Closes #9685.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64656 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-20 18:18:23 +00:00
Vadim Zeitlin
98a0eff633 Initialize wxhInstance in console MSW applications too.
Console applications still may need to create windows and for this a valid
HINSTANCE is needed. So set it ourselves during wx initialization.

Closes #11727.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63555 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-02-25 00:04:03 +00:00
Vadim Zeitlin
a20844525f Fix regression with logging messages during wxApp initialization.
Changes in r61450 broke logging of the messages for errors occurring during
wxApp initialization, such as the message about the failure to establish
connection to the X server. Instead of being shown on stderr, wxLogGui was
used resulting in a crash. Creating wxLogOutputBest in wxLog code before
wxTheApp creation was not enough as this error occurred after wxTheApp
creation -- but before it became usable.

Fix this by explicitly asking wxLog to instantiate a safe log target in
DoCommonPreInit() if the user hadn't set up his own yet and using it until the
GUI is fully initialized.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61825 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-09-04 00:27:51 +00:00
Václav Slavík
d368860323 compilation fix: only one wxInitialize form may have default argument values. It doesn't make sense to specify only argc>0, so removed default values and added default wxInitializer ctor.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61572 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-07-31 18:48:34 +00:00
Václav Slavík
f380e251aa added wxInitialize() overload taking char**, to make use from main() easier
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61556 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-07-30 07:43:10 +00:00
Václav Slavík
6ecb1fdd31 Use wxInitializer in wxEntryReal() instead of directly calling wxEntryStart() without refcounting. This makes it possible to write hybrid CLI/GUI wx applications.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61552 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-07-30 07:09:43 +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
55b24eb8cd Do our best to show messages logged during program startup/shutdown.
Use wxMessageOutputBest to show them even under Windows where programs usually don't have stderr at all and also don't disable log target auto-creation during shutdown as it's arguably better to leak memory (which shouldn't matter much when the program is about to exit anyhow) than to not show possibly important messages.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61450 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-07-18 11:56:44 +00:00
Vadim Zeitlin
031b101f09 moved the check for correct implementation of wxEvent::Clone() to a unit test from wx startup code
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59742 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-22 21:31:34 +00:00
Vadim Zeitlin
4b6a582bef replace more __WXDEBUG__ occurrences with wxDEBUG_LEVEL
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59725 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-22 12:53:48 +00:00
Francesco Montorsi
1f2f732921 remove wxAppConsoleBase::OInitGui and leave it only in wxApp[Base] class
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59084 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-22 14:42:35 +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
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
664e13143e renamed wx/ptr_shrd.h to wx/sharedptr.h; split wx/ptr_scpd.h in wx/scopedptr.h and wx/scopedarray.h; extracted common parts into new wx/checkeddelete.h
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58634 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-03 12:01:46 +00:00
Francesco Montorsi
67f30682ce replace dynamic_cast<> with wxDynamicCast
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57697 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-31 18:52:32 +00:00
Francesco Montorsi
f7ae43f080 fix memory leak while testing for correct Clone() implementation (closes #10304)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57638 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-29 15:16:37 +00:00
Paul Cornett
95fa881e92 don't assert (and then crash) in wxEvent::Clone() checking code
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57601 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-27 17:47:55 +00:00
Francesco Montorsi
f775771ab4 implement a runtime check to test if wxEvent::Clone is implemented correctly for all wxWidgets events
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57587 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-27 13:38:40 +00:00
Vadim Zeitlin
4f6b94a33a fix handling of native toolkit command line options broken by wxCmdLineArgsArray change
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52430 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-03-10 19:40:21 +00:00
Stefan Csomor
a47f55c5aa fixing 1877182
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51337 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-01-22 14:02:37 +00:00
Robert Roebling
50a743c9e4 compile fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50455 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-12-03 10:21:44 +00:00
Vadim Zeitlin
b7b00ae172 reset global wxTheApp pointer before deleting it to avoid use of half-destroyed object (bug 1831130)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50009 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-11-16 23:41:38 +00:00
David Elliott
e94cd97dd7 Add a wxLog::DoCreateOnDemand and call it from DoCommonPreInit so that
logging will work even if wxWidgets is reentered after being cleaned up.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46117 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-05-18 21:17:06 +00:00
Vadim Zeitlin
265db88d61 don't crash in Unicode build if command line arguments are not valid UTF-8 strings (bug 1614363)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43969 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-12-13 19:03:34 +00:00
Włodzimierz Skiba
02761f6cd4 Include wx/module.h according to precompiled headers of wx/wx.h (with other minor cleaning).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@40943 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-08-31 19:31:43 +00:00
Włodzimierz Skiba
9a6384ca1e Improvements for building minimal builds and new ports: wxUSE_* usage and minor cleaning.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39633 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-06-08 11:25:30 +00:00
Vadim Zeitlin
d5bfbd9ab8 1. renamed wxFontMapper::IsWxFontMapper() to IsDummy() (with reverse semantics)
2. added wxFontMapper::Reset() to only do the cast needed when deleting
   the font mapper object once
3. reset the dummy font mapper created during the app initialization in
   wxFontMapperModule and not in init.cpp


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39624 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-06-07 17:49:27 +00:00
Julian Smart
62ad77afbd If a base font mapper object was created prematurely before the traints
object was created, delete it.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39585 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-06-06 11:02:09 +00:00
Włodzimierz Skiba
e7c80f9e05 wx/debug.h is always unconditionally included by wx/defs.h
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39318 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-05-24 15:13:23 +00:00
Vadim Zeitlin
5db920c9dd delete the old log target if one had been created somehow even before DoCommonPreInit() was called
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39072 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-05-06 18:44:03 +00:00
Vadim Zeitlin
faa112c4ca don't crash if conversion of a command line argument to Unicode fails
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38602 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-04-06 12:38:31 +00:00
Vadim Zeitlin
85149efad7 removed wxClassInfo::CleanUp() as it breaks wxEntry reentrancy: once the sm_classTable is destroyed it's not going to be recreated again; instead leave last wxClassInfo::Unregister() call do this
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38377 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-03-27 00:54:00 +00:00
Michael Wetherell
8d7eaf9140 Warning fixes for VC5 (Igor Korot)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@37526 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-02-12 12:16:56 +00:00