Commit Graph

58916 Commits

Author SHA1 Message Date
Vadim Zeitlin
e6cb2e4f8d Remove checks for QueryPerformanceCounter() success.
According to http://msdn.microsoft.com/en-us/library/windows/desktop/dn553408.aspx
this function will never fail under Windows XP or later, so simplify code by
not checking whether it did.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77472 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-24 15:31:58 +00:00
Vadim Zeitlin
47e13f2be0 Update wxFileDialog filter index when setting its path.
This ensures that GetFilename() and GetFilterIndex() always return consistent
results, even if the path was set programmatically, e.g. during unattended
tests using wxExpectModal<wxFileDialog>.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77471 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-24 15:31:55 +00:00
Vadim Zeitlin
3bcec846a0 Provide wxApp::StoreCurrentException() implementation for C++11.
When using C++11 we can provide implementations of wxApp::StoreCurrentException()
and RethrowStoredException() ourselves and thus make catching exceptions outside
of the event loop work by default.

Do this and update the documentation and the sample to reflect it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77470 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-24 15:31:52 +00:00
Vadim Zeitlin
73aea138c6 Remove the apparently unnecessary <locale> inclusion.
This header doesn't seem to be needed anywhere.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77469 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-24 15:31:47 +00:00
Vadim Zeitlin
1cecee5bb7 Add wxApp::StoreCurrentException() and RethrowStoredException().
These methods can be used to ensure that the exceptions thrown from event
handlers are safely rethrown from the code dispatching the events once the
control flow gets back there.

This allows to work around the problem with not being able to propagate
exceptions through non-C++ code and can be used, for example, to catch
exceptions thrown by the handlers invoked from inside wxYield() by a try/catch
block around wxYield() -- something that didn't work before, update the except
sample to show that it does work now.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77468 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-24 15:31:44 +00:00
Vadim Zeitlin
c779385a1a No changes, just document exception-related methods in their own group.
Extract wxApp::OnExceptionInMainLoop() and OnUnhandledException() in a
separate Doxygen group as there will be more functions defined in it soon.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77467 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-24 15:31:40 +00:00
Vadim Zeitlin
82b644d79f No real changes, just simplify SafelyProcessEvent() slightly.
Remove a long comment about initializing "loop" in 2 steps and just do it in 1
step instead.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77466 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-24 15:31:37 +00:00
Vadim Zeitlin
b133193aa3 Add a test of throwing an exception from wxYield() to except sample.
This demonstrates that under 64 bit Windows exceptions may not propagate
through the kernel code and throwing from inside wxYield() results in either
an immediate abort, even if the code calling wxYield() tries to handle the
exception, or, even more surprisingly, is just completely ignored.

See http://blog.paulbetts.org/index.php/2010/07/20/the-case-of-the-disappearing-onload-exception-user-mode-callback-exceptions-in-x64/
for more information.

Moreover, independently of Windows weirdness, throwing from wxYield() also
results in a difficult to debug crash when using wxGTK because C++ exceptions
can't propagate through C GTK+ code in this case.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77465 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-24 15:31:33 +00:00
Vadim Zeitlin
3e2a7cca72 Show new style Windows directory selector even for non-existent paths.
Passing an invalid initial directory to wxDirDialog resulted in using the old
style Windows directory selector dialog instead of the new style (file dialog
like) one, which was unintentional, as incorrect initial directory shouldn't
prevent the dialog from being shown.

Fix this by handling ERROR_FILE_NOT_FOUND error specifically and still showing
the new dialog, just without the (non existent) initial directory value, in
this case.

Closes #16430.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77464 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-24 15:31:27 +00:00
Vadim Zeitlin
79e27d2a08 Also ignore arch-specific build directories in wxMSW wxStandardPaths.
In addition to ignoring debug/release subdirectories, also ignore their
(possible) parent Win32/x64 directories, and for the same reason: this allows
the code using wxStandardPaths to work even when the program is ran from the
build directory.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77463 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-24 15:31:24 +00:00
Vadim Zeitlin
4f0829e135 Avoid unnecessary assignment in wxOSX build.
Don't assign to the variable only to overwrite it with a new value.

Closes #16436.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77462 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-24 13:35:39 +00:00
Vadim Zeitlin
9c74f1329e Avoid warning about unused variable in wxiOS build.
Define variable only used if wxOSX_USE_COCOA_OR_CARBON inside the check for it.

Closes #16435.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77461 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-24 13:35:34 +00:00
Vadim Zeitlin
a8bd40d571 Avoid unused variable warning in wxUSE_DATAOBJ==0 build.
Declare variable only used when wxUSE_DATAOBJ==1 inside the check for it.

Closes #16434.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77460 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-24 13:35:29 +00:00
Vadim Zeitlin
005aa92678 Remove unused variable in wxDCImpl::CalculateEllipticPoints().
Closes #16433.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77459 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-24 13:35:24 +00:00
Vadim Zeitlin
df13791078 Merge wxQT branch into the trunk.
This merges in the latest sources from GSoC 2014 wxQt project with just a few
minor corrections, mostly undoing wrong changes to common files in that branch
(results of a previous bad merge?) and getting rid of whitespace-only changes.
Also remove debug logging from wxGrid.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77455 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-24 01:50:11 +00:00
Vadim Zeitlin
d513d3e2f0 Fix ribbon bar tab width computation if the first tab is hidden.
The logic for the first tab should really deal with the first visible tab as
the actual first tab might be hidden and in this case we shouldn't account for
it at all.

Closes #16432.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77093 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-21 14:14:15 +00:00
Vadim Zeitlin
a307120d50 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.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77083 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-18 21:32:55 +00:00
Vadim Zeitlin
eb18bbc8fd Remove default argument value from wxIHTMLElement2::setExpression().
This doesn't make much sense for an interface declaration anyhow and produces
a warning from g++ about assigning string literal to (non-const) BSTR pointer.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77076 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-16 12:16:31 +00:00
Vadim Zeitlin
0223c10048 Don't exit event loop when exception occurs inside Yield().
If an unhandled exception occurs in an event handler called from Yield(),
don't exit the current event loop which can continue running after handling
this exception in the code calling Yield().

Closes #16419.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77075 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-16 00:24:56 +00:00
Paul Cornett
d0406f4606 Fix handling of identical consecutive key events
Events generated programmatically may have the same timestamp as the previous
event, which caused them to be ignored on the assumption that they were the same
event being sent to a parent window. Fix this by detecting when a new event could
be generated by the event loop.
Closes #15802


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77074 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-15 17:09:39 +00:00
Vadim Zeitlin
a4606fbb44 Refactor Unix OpenGL code to avoid using static attributes array.
Put the context attributes in wxGLCanvasX11 itself instead.

See #16402.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77073 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-15 12:14:11 +00:00
Vadim Zeitlin
74421a7f35 Fix creating wxGLCanvas without any attributes in wxMSW.
This was broken by the changes of r77018, see #16402.

Just check that we do have the attributes before examining them.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77072 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-15 12:14:06 +00:00
Vadim Zeitlin
a728a9ac15 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.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77071 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-14 16:05:32 +00:00
Vadim Zeitlin
a4f707b8a8 Add support for paragraph spacing attribute to wxTextCtrl in wxMSW.
Use PFM_SPACEAFTER/PFM_SPACEBEFORE to implement support for them.

Closes #16417.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77070 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-14 12:17:17 +00:00
Vadim Zeitlin
21da20d579 Restore dynamic linking of GDI functions for non-MSVC.
This partially reverts the changes of r77029 and r77039: now functions such as
Set/GetLayout(), AlphaBlend() and GradientFill() are still called (almost)
directly when using MSVC but pass by dynamic loading with the other compilers,
which don't have #pragma comment(lib) and, in MinGW case, also lack some of
these functions in their libraries even if we do link with them.

Closes #16411.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77068 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-14 12:11:39 +00:00
Julian Smart
40c84134ae Fix deletion of cells in defragment
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77066 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-12 08:52:41 +00:00
Stefan Csomor
22f1f3e8ec updated multi-lib project file with naming close to Makefile convention
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77065 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-11 16:27:21 +00:00
Stefan Csomor
fe28a8aa66 updated AppleScript for multilib builds
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77064 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-11 16:25:55 +00:00
Stefan Csomor
f6ce35d047 naming closer to Makefile
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77063 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-11 15:52:00 +00:00
Stefan Csomor
0b76c263d2 naming closer to Makefile
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77062 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-11 15:51:14 +00:00
Stefan Csomor
da934c9df4 new separate config file for base
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77061 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-11 15:50:11 +00:00
Stefan Csomor
7181e98545 multi-lib cocoa project
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77060 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-11 15:06:03 +00:00
Stefan Csomor
5bd081a1c7 multi-lib template
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77059 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-11 15:05:42 +00:00
Stefan Csomor
2c8ef91312 preproc changed for multi-lib
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77058 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-11 15:03:54 +00:00
Vadim Zeitlin
edad9616e7 Return correct string from wxEVT_TEXT wxComboBox events.
wxCommandEvent::GetString() could return empty string for the
programmatically-generated wxEVT_TEXT events from a wxComboBox.

Fix this by extending the on-demand string retrieval in wxCommandEvent to
wxComboBox as well (it was done only for wxTextCtrl).

Also add a unit test checking that the string has the expected value in the
events sent by all wxTextEntry-derived controls.

Closes #3901.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77057 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-11 11:53:01 +00:00
Václav Slavík
19e8a43827 Fix lossy conversion warning in wxString::reverse_iterator::operator-.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77055 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-11 10:55:12 +00:00
Stefan Csomor
10740f2f67 multi-lib configs
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77054 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-11 09:30:50 +00:00
Stefan Csomor
53fc25b609 one call is enough
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77053 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-11 07:07:46 +00:00
Stefan Csomor
166bda1505 preparing for multi-lib builds
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77052 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-10 17:15:09 +00:00
Vadim Zeitlin
ffcfcb526f Correct instructions for building wx applications with MSVC.
Use the correct $WXWIN/include/msvc path instead of the non-existing
$WXWIN/msvc.

Also mention that $WXWIN should actually be $(WXWIN) for MSVC.

Closes #16410.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77051 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-10 16:11:54 +00:00
Vadim Zeitlin
3a0c01cbea Use NMTVDISPINFO instead of TV_DISPINFO in wxMSW code.
The latest w32api 4.0.3, used by MinGW project, still didn't manage to apply a
one line fix to define TV_DISPINFO correctly, so tweak our sources to avoid
using it.

See #15537.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77050 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-10 16:11:49 +00:00
Stefan Csomor
7c13d6bfe3 no filepath subgroups in xcode projects
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77047 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-10 15:43:59 +00:00
Stefan Csomor
f1d2aa8067 get rid of execute.h
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77046 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-10 14:45:46 +00:00
Stefan Csomor
ffb860c66c get rid of execute.h
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77045 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-10 12:54:48 +00:00
Stefan Csomor
bcb75de8aa updated files without glgrab
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77044 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-09 20:23:36 +00:00
Stefan Csomor
808bf597df updated files without glgrab
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77043 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-09 20:16:35 +00:00
Stefan Csomor
c761631a3b updated files without glgrab
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77042 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-09 18:50:37 +00:00
Stefan Csomor
3139f756a1 file not needed anymore
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77041 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-09 18:39:31 +00:00
Stefan Csomor
9fa8977992 remove outdated file
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77040 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-09 18:38:03 +00:00
Vadim Zeitlin
afdb989e87 Link wxMSW with msimg32.lib now that AlphaBlend() is used statically.
Implicitly link msimg32.lib in when using MSVC and add it to MinGW (and
Borland) makefiles.

This should have been part of r77029.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77039 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-09 18:03:23 +00:00