Commit Graph

1345 Commits

Author SHA1 Message Date
Vadim Zeitlin
f7e5fb61b1 Remove unused wxSoundSyncOnlyAdaptor::m_playing variable
It seems to have been replaced by wxSoundPlaybackStatus::m_playing a
long time ago but was still kept, resulting in confusion and always
returning false from IsPlaying() as it tested a wrong variable.

Fix this by removing this one completely and always using the other one
everywhere.
2017-11-19 22:37:36 +01:00
Vadim Zeitlin
fc9d41fad3 Avoid -Wmissing-field-initializers for Dl_info struct
Rely on the default initialization, this is arguably slightly less
clear, but allows to avoid the warning (which is disabled by default,
but still).

Closes #17997.
2017-11-12 17:07:35 +01:00
Vadim Zeitlin
a03441f959 Suppress harmless -Wmissing-fields-initialize in wxSecretStore
This warning is difficult to avoid as we don't want to initialize the
unused/reserved fields of SecretSchema struct, yet the compiler warns
about it (when using -Wextra).
2017-11-12 16:57:40 +01:00
Paul Cornett
29e1f1e9ce Avoid deleting object of different size than what was allocated 2017-10-01 09:02:11 -07:00
Paul Cornett
cd1c3fab0c Use static linkage for various local names 2017-09-24 09:29:26 -07:00
Vadim Zeitlin
2fffbde096 Change wxSecretStore API to allow retrieving the username
The old API didn't make any sense for the most common case when both the
user name and password need to be stored, as it required providing the
user name as input, which couldn't work (but somehow this went
unnoticed for more than a year...).

Fix this by returning the username, and not only the password, from
Load() instead of taking it as parameter and removing this parameter
from Delete() as well.

Also improve the documentation, notably include a simple example of
using this class.

Notice that this is a backwards-incompatible change, but the old API was
really badly broken and didn't appear in 3.1.0 yet, so the breakage is
both unavoidable and, hopefully, shouldn't affect much code.
Nevertheless, a special wxHAS_SECRETSTORE_LOAD_USERNAME symbol is added
to allow testing for it if necessary.
2017-07-17 18:26:20 +02:00
Bryan Petty
ed173ed91e Use HTTPS with Trac links. 2017-07-04 13:15:14 -06:00
Stefan Csomor
7104ed845d Allow for compilation under iOS 11
The system() API call has been deprecated since iOS 8, so it's better not to use it at all, eventhough compilation only breaks in iOS 11.
2017-06-24 22:01:15 +02:00
Marc-Philip
01215b8519 fix possible overrun 2017-06-21 17:19:58 +02:00
Marc-Philip
3e9c24f57f add missing zero padding 2017-06-21 17:19:58 +02:00
Dimitri Schoolwerth
ff44703871 Fix wxOSX' wxThread::Wait() with configure-based wxBase build
Check for platform using __DARWIN__ instead of using __WXOSX__ which
shouldn't be defined in builds with wxUSE_GUI set to 0.

Closes https://github.com/wxWidgets/wxWidgets/pull/93.
2017-06-02 00:02:35 +04:00
Vadim Zeitlin
3ad54f2852 Iterate over wxTextFile without using indices
Using iterator methods is less error-prone (there is no danger of using an
invalid index) and slightly shorter and more clear too.
2017-03-09 18:06:33 +01:00
Vadim Zeitlin
058f8c3c0f Use wxFileName instead of manipulating strings directly
Prefer to use wxFileName ctor to string concatenation.
2017-03-09 18:04:44 +01:00
Vadim Zeitlin
214aac6fd6 Avoid calling wxGetenv() twice unnecessarily
Use wxGetEnv() helper function which allows to write the code in more natural
and (slightly) more efficient way.

No real changes.
2017-03-09 18:02:14 +01:00
Vadim Zeitlin
41fe019f3b Refactor: extract GetXDGConfigHome() into a separate function
No real changes, just avoid doing the same thing in 2 different places and do
it in a single helper function instead.
2017-03-09 18:00:29 +01:00
Vadim Zeitlin
a44b61e976 Revert incompatible change to Unix wxStandardPaths::GetUserDir()
There is no reason to break the behaviour of the existing code, which doesn't
call SetFileLayout(FileLayout_XDG), by not returning the correct directories
from GetUserDir(Dir_Downloads) and similar any longer.
2017-03-09 17:56:45 +01:00
Vadim Zeitlin
5cf9fcbb1a Add wxStandardPaths::ConfigFileConv enum for clarity and safety
Use an enum instead of type-unsafe "int" for the second parameter of the
recently added wxStandardPaths::MakeConfigFileName().

This also avoids unnatural dependency of wxStandardPaths on
wxCONFIG_USE_SUBDIR constant defined in a higher level wxFileConfig class.

No real changes, but just make things a bit more robust and hopefully more
clear.
2017-03-09 17:53:14 +01:00
Vadim Zeitlin
4bf6ae8d7c Make FileLayout_XXX elements of an enum
Slight improvement to the previous commit: make FileLayout_Classic and
FileLayout_XDG elements of an enum instead of using an untyped "int" for them
which didn't really make any sense because these values are not bit masks but
exclusive choices for the layout.

Also rewrite the checks for them to use "switch" instead of "if" to be warned
by the compiler if we ever add another enum value but forget to update the
code to handle it.

Finally, improve the documentation (add missing "@since") and comments.
2017-03-09 17:23:20 +01:00
Martin Koegler
d56d127d3f Implement XDG file layout 2017-03-08 22:30:21 +01:00
Martin Koegler
8d5d00db9d Implement MakeConfigFileName 2017-03-08 22:29:55 +01:00
Maarten Bent
87308746be Resolve -Wsuggest-override warnings. 2017-02-24 23:37:44 +01:00
Vadim Zeitlin
d15bbcacd2 Merge branch 'rmv_symbols_3' of https://github.com/catalinr/wxWidgets
Remove obsolete mentions of Windows 9x, Windows CE and OS/2.
2017-02-20 17:46:45 +01:00
Paul Cornett
5e7db7c0f1 Fix wxLaunchDefault{Application,Browser}() for arguments containing spaces
See #16581
2017-02-18 10:17:42 -08:00
Paul Cornett
c64a4c3224 make wxExecute() argv parameter fully const-qualified 2017-02-18 10:14:25 -08:00
Manuel Martin
b28dd88994 Improve new wxGLCanvas compatibility with old hardware and code
Combined patch with the following changes:
- Don't add wxGLAttributes::Defaults() when the attributes-list is NULL.
- Add display default attributes used in wx versions before 3.1 when the
  attributes-list is NULL. These attributes are different for each platform.
- Fix wxMSW PixelFormatDescriptor initialization.
- Don't set color buffers when RGBA() is used.
- Fix setting colour sizes in OS X and a few other fixes.
- Make documentation more clear about these subjects.

Closes #17425.
2017-01-16 03:25:49 +01:00
VZ
4212202a9a Add support for cache directory to wxStandardPaths::GetUserDir()
This has direct equivalent under macOS and when using XDG.

See #17727.
2016-11-29 19:32:14 +01:00
Vadim Zeitlin
2b764a1b8a Avoid clang 4.0 -Wexpansion-to-defined warnings
It's not really clear why, but clang 4.0 has decided to start giving warnings
about using the result of an expression constructed using the preprocessor
"defined" operation in #if checks, so trivially avoid doing this.
2016-11-28 01:50:30 +01:00
Tim Kosse
255b2adea2 Do not return empty tokens when parsing XDG_DATA_HOME and XDG_DATA_DIRS. This fixes an assert where wxString::Last would have been called on an empty string. 2016-09-19 16:07:17 +02:00
ARATA Mizuki
1e6251d592 Replace wx_static_cast/wx_const_cast/wx_reinterpret_cast with the function-style casts
See #17655.
2016-09-14 18:45:12 +09:00
Paul Cornett
0bf38e11a3 Cleanup of ad84d9f (r77846)
Remove the unnecessary 'CodePair' struct from a header, make the huge
keySymTab array const, and don't compile it for platforms that don't
use it, it's only used by wxX11
2016-09-07 22:02:05 -07:00
Paul Cornett
a18fe083cc avoid implicit conversion to bool 2016-09-07 21:38:28 -07:00
Vadim Zeitlin
9f9c09e24a Compilation fix for wxGTK with GTK+ 3.4 after recent changes
Fix the build after 1033fb048d.

See https://github.com/wxWidgets/wxWidgets/pull/320
2016-09-08 01:29:20 +02:00
Scott Talbert
1033fb048d Fix wxGetKeyState() on non-X11 wxGTK backends (e.g., Wayland)
wxGetKeyState() does not currently work on non-X11 GTK backends, and in some
cases it has been reported to crash.  It seems that the most likely use case
for wxGetKeyState() is to query the modifier keys, so on non-X11 backends, use
GTK+ calls to retrieve the modifier key state.

Non-modifier keys are not currently implemented, update the documentation to
mention this.

Closes https://github.com/wxWidgets/wxWidgets/pull/320
2016-09-08 01:06:43 +02:00
David Hart
34d39c9dfb Fix use of dangling reference in wxFileSystemWatcher Unix code
Don't reference the "watch" object after possibly destroying it when handling
IN_DELETE_SELF inotify notification.

Closes #17122.
2016-08-19 23:19:14 +02:00
David Hart
6537356236 Make failure to remove an inotify watch a warning
Apparently this can happen when a directory is deleted just before the watch
is removed and it is impossible to avoid it, so just send a warning message so
that the program could react to this, if necessary, but don't annoy the user
with an error in this case.

See #17122.
2016-08-19 23:15:53 +02:00
Scott Talbert
3572c2c654 Fix the stop function of wxFontEnumerator for wxGTK
In a wxFontEnumerator, if false is returned from OnFacename() or
OnFontEncoding(), the enumeration is supposed to stop.  This was not happening
on wxGTK.

Closes https://github.com/wxWidgets/wxWidgets/pull/311
2016-08-08 14:06:42 +02:00
Vadim Zeitlin
4b98cd4012 Fix compilation with libsecret 0.16 from Ubuntu 14.04 LTS
This version of the library requires predefining a special symbol to obtain
API declarations we need.

See https://github.com/wxWidgets/wxWidgets/pull/290
2016-06-18 18:36:13 +02:00
Jouk
98284d8f35 Update of OpenVMS makefiles 2016-06-13 16:44:49 +02:00
Vadim Zeitlin
4dfde501df Add support for returning item location to wxGTK wxMimeTypesManager.
This is a squash merge of gtk_mimetype branch from
https://github.com/Hanmac/wxWidgets.git with some extra minor cleanup.

Closes https://github.com/wxWidgets/wxWidgets/pull/293
2016-06-07 14:29:52 +02:00
Vadim Zeitlin
ed73e4f624 Merge branch 'uisim-xtest'
Make wxUIActionSimulator work with GTK+3, including when using DPI scaling.
2016-06-04 22:44:25 +02:00
Vadim Zeitlin
1de80a72d9 Refactor wxSecretValue creation
No real changes, just add a new platform-specific NewImpl() method instead of
making wxSecretValue ctor itself platform-specific.

This makes adding other ctors for this class simpler.
2016-06-04 18:46:23 +02:00
Vadim Zeitlin
675d9d779d Add wxSecretStore
Add a new class allowing to store passwords and other sensitive information
using the OS-provided facilities.

Add implementations for all the main platforms, documentation and a new sample
(which contains an ad hoc unit test as the real unit test for this class would
probably be a bad idea as it wouldn't run in non-interactive contexts and
could show OS level dialog boxes if it did).
2016-06-04 18:29:15 +02:00
Vadim Zeitlin
594d916dcb Support DPI scaling in wxUIActionSimulator when using GTK+ 3
Scale the coordinates passed to MouseMove() by the GTK scaling factor to
ensure that the mouse clicks are really delivered to the correct windows,
without this change wxUIActionSimulator was unusable on systems using high DPI
(i.e. GDK_SCALE of 2).

Per-monitor DPI scaling is still not supported however.
2016-05-23 03:00:49 +02:00
Vadim Zeitlin
38c8a10b79 Don't even compile in wxUIActionSimulatorX11Impl when using GTK+3
This code can never work anyhow, there is no reason to compile and link it.
2016-05-23 03:00:49 +02:00
Vadim Zeitlin
e2c98afd5a Sync with X server before simulating mouse clicks
Adding a call to XSync() to wxUIActionSimulatorX11Impl seems to fix the
problems with the focus snapping back to the control having it previously
after simulating a mouse click and changing the focus afterwards using
wxWindow::SetFocus(), as the uiaction sample did.

Admittedly, it's not really clear why does doing it help, but at the very
leasy this XSync() call shouldn't do any harm.
2016-05-23 03:00:49 +02:00
Vadim Zeitlin
7cf5804465 Determine wxUIActionSimulatorX11Impl version to use dynamically
Choose between wxUIActionSimulatorXTestImpl and
wxUIActionSimulatorPlainX11Impl dynamically, depending on whether XTest
extension is available during run-time or not.

Also decouple the two implementation to keep them clearly separated.
2016-05-23 03:00:49 +02:00
Vadim Zeitlin
746b91c5d3 Open the display only once in wxUIActionSimulatorX11Impl
Instead of opening connection to X display in every method, do it once in
ctor, as we can store the display across multiple calls after the recent
refactoring.

This does require allocating a separate "impl" object for each public object,
but should still be much less wasteful than opening and closing the display
connections all the time.
2016-05-23 03:00:49 +02:00
Vadim Zeitlin
d1b537f953 Refactor: move SendButtonEvent() into wxUIActionSimulatorX11Impl
Make the function a method of the class in preparation for the next commit.
2016-05-23 03:00:49 +02:00
Vadim Zeitlin
cfc1681b4c Virtualize wxUIActionSimulator implementation
Extract platform-specific code in a wxUIActionSimulatorImpl-derived class
instead of keeping it in wxUIActionSimulator itself.

This will allow determining which implementation to use dynamically (i.e. at
run-time and not compile-time) to use later and already allows to get rid of
an __WXOSX__ #ifdef in common code.
2016-05-23 03:00:49 +02:00
Scott Talbert
a4716916b7 Add support for using the XTest extension in wxUIActionSimulator
Fixes wxUIActionSimulator under wxGTK3, see #17530.
2016-05-23 03:00:48 +02:00