Commit Graph

58766 Commits

Author SHA1 Message Date
Václav Slavík
a7644e7b05 Convert all CRLF files to use LF to fix git confusion.
Having CRLF files in the repository with eol=crlf breaks just about
everything, e.g. any rebase/merge involving these files would fail.
Try to fix this by making sure the files use LF in the repository and CRLF is
only used in the working copy.

(analogous to commit c3e5751c36)
2016-04-23 17:20:42 +02:00
Vadim Zeitlin
59078ab545 Use correct size for the notebook background bitmap in wxMSW
Using "r.x + r.width" didn't really make much sense, it just happened to be
close enough to the real value to not create any problems when using LTR
layout, but was wrong in RTL, resulting in visible vertical line being visible
in the notebook client area.

Fix this using the same GetThemeBackgroundExtent() for determining the bitmap
size as is used for drawing over it.

(cherry picked from commit 0487a3d3f1)
2016-04-10 20:53:19 +02:00
Vadim Zeitlin
53588bd970 Fix background for children of windows with RTL layout in wxMSW
To correctly compute the brush origin offset for painting background of a
child in a window using RTL layout, we need to offset it by the child origin
i.e. its _right_ top corner in this case and not the left top corner as we did
before.

Conveniently, although not very explicitly, MapWindowPoints() already takes
care of this for us if we just pass it both the left and right points, but we
wrongly passed it only a single one, so it couldn't work its magic in this
case.

Change this to fix the drawing artefacts which appeared over wxNotebook
children with transparent background (e.g. wxStaticText) due to the use of
wrong origin before.

(cherry picked from commit 169fb2c7f5)
2016-04-10 20:53:15 +02:00
Micha Ahrweiler
fe7186ce88 Make OK button default in wxGTK wxMessageDialog by default
Under wxGTK the default button in wxMessageDialog with style wxOK was set to
"Cancel", whether the wxOK_DEFAULT style was specified or not.

Now it is set to "OK", as expected, and wxCANCEL_DEFAULT needs to be
explicitly specified to focus the "Cancel" one.

See https://github.com/wxWidgets/wxWidgets/pull/267

(cherry picked from commit a374801465)
2016-04-07 15:58:28 +02:00
Václav Slavík
f2c95c1d5c Fix wxCheckListBox checkbox rendering under RTL
When running under a RTL locale, checkboxes should not be mirrored, but
should keep the same appearence in both RTL and LTR layouts.

(cherry picked from commit 22f0801378)
2016-04-06 18:11:54 +02:00
Steve Browne
7b224881d0 Restore cwd even if wxFileDialog is cancelled in wxMSW
Sometimes the file dialog changes the current directory even if it is
cancelled, so restore it in any case, not only after successful return.

See https://github.com/wxWidgets/wxWidgets/pull/263

(cherry picked from commit ceaa840d7b)
2016-04-01 03:41:20 +02:00
İsmail Dönmez
f358979d35 Check for C/POSIX locale just after we truncate language string
This way we can correctly detect C.UTF-8 as C locale.

See https://github.com/wxWidgets/wxWidgets/pull/262

(cherry picked from commit 467dc72fc2)
2016-03-30 17:49:45 +02:00
Václav Slavík
34c54237fc Don't mirror wxStyleTextCtrl under RTL locales
Not onlu has Scintilla no support for RTL languages, it is rendered into
a mirrored DC on Windows and so guaranteed unreadable and unsable. Fix
it by explicitly setting the window's layout direction to LTR.

(cherry picked from commit d8a90b4606)
2016-03-28 17:41:18 +02:00
Václav Slavík
92d9101b3d Fix VC14 compiler warnings about hiding member variables 2016-03-23 14:48:19 +01:00
Václav Slavík
e744317d3a Disable warnings in the standard shlobj.h header with MSVC14
There is nothing we can do about these (harmless) warnings, so just
disable them. Also make sure that the header is included via
wx/msw/wrapshl.h  everywhere.

(backported from commit e37f1a84ce)
2016-03-23 14:47:24 +01:00
Vadim Zeitlin
2d6d4868a1 Disable warnings in the standard gdiplus.h header with MSVC14.
There is nothing we can do about these (harmless) warnings, so just disable
them.

(cherry picked from commit a2d6341e4f)
2016-03-23 14:38:09 +01:00
Vadim Zeitlin
234f7ff6e1 Suppress harmless warning in a standard header with VC14
imagehlp.h from 8.1 SDK contains an extraneous "typedef" in an enum
declaration which results in several warnings when building, avoid them.

(cherry picked from commit fbe7fc85b2)
2016-03-22 17:09:32 +01:00
Paul Cornett
a97553a939 Avoid unresizable windows on HiDPI displays when using SetSizeHints()
see #17456

(cherry picked from commit 4793e5b0a4)
2016-03-21 09:48:33 -07:00
Andreas Falkenhahn
60fd8c7a1b Fix wrong TLW size with horizontal decorations in wxGTK
Compare min/max width with m_width, not m_height, in GTKUpdateDecorSize() for
the logic to work as expected.

See #17455.

(cherry picked from commit 0777bf6b92)
2016-03-20 15:51:28 +01:00
zhivko
e9ffb3f662 Fix crash when updating art provider of a ribbon with scroll buttons
Don't leave the scroll buttons with the old, possibly soon to be deleted, art
provider pointer.

See #17441.

(cherry picked from commit 6e5a2b630a)
2016-03-15 20:24:06 +01:00
Vadim Zeitlin
8fb4e76a63 Avoid mixing code and declarations in C expat code
Some compilers, notably MSVC, don't support C99 and C89 doesn't allow this.

Fixes MSVS compilation after 02da4c8b1d.

(cherry picked from commit c7a3785a5c)
2016-03-14 00:15:42 +01:00
Václav Slavík
02da4c8b1d Update the version of Expat used to 2.1.1 2016-03-13 17:54:53 +01:00
Matthew Heinsen Egan
7c361b49e5 Report libraries in EXTRALIBS_WEBVIEW in wx-config output
These libraries should be included when "webview" appears in --libs or
--optional-libs.

See https://github.com/wxWidgets/wxWidgets/pull/251

(cherry picked from commit 037f697760)
2016-03-12 01:47:17 +01:00
Vadim Zeitlin
03903c1e45 Document wxEVT_MEDIA_XXX event types.
See #15768.

(cherry picked from commit 5c1f95bc71 on master)
2016-03-11 03:06:40 +01:00
Danny Scott
966084a65a Add script for building MSVS 2015 binaries
See #17408.

(this is a backport of 7e493c3a3c from master)
2016-02-29 18:58:17 +01:00
Paul Cornett
9dccf621c8 Avoid comparing address of reference to NULL
(backport of 01ccff2e05)
2016-02-26 10:39:02 -08:00
Paul Cornett
47fd8835cf Avoid "Gtk-WARNING **: Allocating size to ..." with GTK+ 3.19+
(cherry picked from commit 9fea81c069)
2016-02-24 23:51:56 -08:00
Paul Cornett
7afbdcd534 Avoid "Gtk-WARNING **: State doesn't match"
See https://github.com/wxWidgets/wxWidgets/pull/232
(backport of 69a13d973c)
2016-02-24 21:20:08 -08:00
Paul Cornett
0388ce8e25 Allow SetClientSize() to set correct size even when size of window decorations is not known
This should allow correct sizing of first TLW (when using SetClientSize())
with backends using client-side decorations such as Wayland.

(cherry picked from commit bc4df78421)
2016-02-22 21:16:12 -08:00
Paul Cornett
2bc3721f06 Fix GetBestSize() for GTK3 after size has been set
Need to reset size request to get actual best size.
See Fedora bug https://bugzilla.redhat.com/show_bug.cgi?id=1282142

(cherry picked from commit 6ed7e27bf2)
2016-02-22 21:08:59 -08:00
Artur Wieczorek
470a46dd48 Fix wxSearchCtrl vertical size in wxMSW
Don't add the borders twice, this made the control too tall.

Closes #16817.
2016-02-23 00:26:32 +01:00
Václav Slavík
d918dabb2d Fix inefficient delayed setting of wxSplitterWindow sash
If setting sash position to a value that cannot be satisfied due to
minimum size constraints, wxSplitterWindow would continue endlessly
trying and failing to set it, causing constant CPU use on OS X. This was
because delayed sash setting was invoked from idle handler and if it
failed, the code would repeat the same action again and again.

Instead, perform this delayed setting from OnSize handler. If setting
sash position failed in the first place, it must have been due to too
small size of the window. Therefore it's pointless to try again until
the size changes.

(cherry picked from commit 513fca5d4c)
2016-02-22 15:53:43 +01:00
Václav Slavík
d99d4568df wxMSW: Fix wxToolBar rendering with double-buffering
An old check - used for reasons that no longer apply - was preventing
correct rendering of wxToolBar background in wxMSW. Fix this by removing
the obsolete check.

See #9666 for the original reason for the check.

(cherry picked from commit 3a7951db2b)
2016-02-22 15:52:03 +01:00
Scott Talbert
73e9e18ea0 Fix STC compilation with GCC6
Use std::abs() from <cmath> instead of abs() from <math.h> to avoid problems
with ambiguous overloads.

Closes #17147.

Closes https://github.com/wxWidgets/wxWidgets/pull/222
2016-02-21 01:47:41 +01:00
Vadim Zeitlin
e7d27c91e6 Try to always give wxDirDialog a valid parent in wxMSW
Use the same GetParentForModalDialog() method as for the normal dialogs to
find the parent to use for this native dialog and ensure that it is shown
modally even if no parent is explicitly specified when constructing it.

See #17384.

(this is a backport of baff0c942b from master)
2016-02-20 13:44:29 +01:00
Vadim Zeitlin
65c634ed80 Don't define interfaces inside anonymous namespace in wxMSW
IAutoCompleteDropDown interface was defined inside anonymous namespace to
avoid clashing with the same interface possibly (but not necessarily) declared
in the standard headers.

However gcc 4.9 is smart enough to realize that no classes deriving from a
class in an anonymous namespace can exist and so it devirtualizes the calls to
virtual methods of the objects of this type when compiling with optimizations
enabled. And it does it even if it means replacing the call to a virtual
method with just a call to __cxa_pure_virtual(), i.e. crashing during
run-time.

Prevent it from doing this by moving class declarations outside of the
anonymous namespace and fix the crash when using wxTextEntry::AutoComplete()
in the code compiled with g++ 4.9.

(this is a backport of 4475fe36a5 from master)
2016-02-12 00:15:09 +01:00
Paul Cornett
41be4271e1 Adapt window decorations cache for client-side decorations
Fixes size calculations for TLWs created after the first one,
with Wayland, Mir and Broadway. See #17336

(cherry picked from commit 91ea487281)
2016-02-05 10:29:29 -08:00
Vadim Zeitlin
6162570731 Update i18n overview in the manual.
Remove obsolete warning about gettext 0.10, add a link to Poedit instead.

Also fix Doxygen markup: @see can't be used inside a list item.

See #16714.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78257 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2016-01-30 14:10:32 +01:00
bogiord
2fdc7196a3 Fix docs for wxGrid and friends
Add a couple of missing @name commands; the corresponding comments were
appearing in the wrong place without them.

Avoid unintended effects of JAVADOC_AUTOBRIEF by using Qt-style comments
instead of Javadoc.

A couple of minor wording corrections.

See https://github.com/wxWidgets/wxWidgets/pull/175

(this is a backport of 9c95b398c8 from master)
2016-01-20 18:58:53 +01:00
bogiord
402219ed13 Add nullptr checks to wxGridTableBase::Set(Row|Col)Attr
wxGridTableBase::SetAttr (for cells) does check its attr parameter for
nullptr, but the check was missing from the row and column functions.
Adding it makes it possible to use a nullptr argument to reset the
attributes.

See https://github.com/wxWidgets/wxWidgets/pull/174

(this is a backport of e7fa9b0c10 from master)
2016-01-20 18:58:25 +01:00
Tim Kosse
6f5b629f2f Don't assert if Ctrl+Tab is pressed inside a wxGTK window
Ignore the WinChange flag in DoNavigateIn() to fix an assertion that happened
when pressing Ctrl+Tab with the generic wxListCtrl having focus.

This seems to be consistent with pressing Ctrl+Tab elsewhere, e.g. when
cycling between buttons in a dialog.

(this is a backport of f3cd79984f2936a4148964af8c23cd42aab6a871 from master)
2016-01-14 15:49:46 +01:00
Vadim Zeitlin
4e5e788bae Use correct format (%zu) for printing size_t values.
Fix assert due to using %d for printing 64 bit size_t values under Win64.

See #16974.

(this is a backport of 6c7c8b6d8d from master)
2016-01-14 15:41:44 +01:00
Paul Cornett
e39322c374 fix cursor unref for GTK2, broken by 148f5f3 2016-01-13 00:04:27 -08:00
Paul Cornett
8d87321215 remove incorrect cursor unref added in 148f5f3, see #17330 2016-01-13 00:04:12 -08:00
Pete Stieber
eed32268a2 Make wx/dirdlg.h safe to include as first wx header
Include wx/defs.h to get wxUSE_DIRDLG value from it, otherwise it could be
undefined, and hence evaluate to 0 (unfortunately without even a warning with
some compilers), if this header was the first wx header to be included.

(this is a backport of 5948602f4f from master)
2016-01-05 01:32:49 +01:00
Vadim Zeitlin
70faad3429 Fix GTK error wxApp::CleanUp() when GUI is not initialised
For the programs that use wxWidgets but can also run using just CLI, exiting
the program would show a bogus GTK error

GLib-GObject-CRITICAL **: g_type_class_unref: assertion 'g_class != NULL' failed

Fix this by only releasing the references to GTK_TYPE_WIDGET if we had
acquired it in the first place.

See https://github.com/wxWidgets/wxWidgets/pull/129

(this is a backport of e1f31febadea7d6277c7ee92c424ae7581e1d6d1 from master)
2016-01-05 01:31:48 +01:00
Troels Knakkergaard
d71d1a50e5 Use the appropriate parent for the choice dialogs
Fall back to the main application window if no parent was explicitly specified
using the standard GetParentForModalDialog() method.

See #17295

(cherry picked from commit 50435ef678)
2015-12-22 19:58:41 -08:00
Vadim Zeitlin
f0f83adecf Create native buttons without any label in wxOSX/Cocoa
Since the changes of db9baf9aa5 the label wasn't
explicitly reset to be empty on wxWindow creation because it was assumed it
would already be empty if not explicitly set, but this turned out to be false
for the controls using NSButton which (very helpfully) uses "Button" as its
label by default and so kept this useless label if it wasn't explicitly
overridden.

Fix this by explicitly resetting the NSButton title after creating it, to
ensure consistency between the real state of the control and what wxWidgets
thinks it is.

Closes #17152.

(cherry picked from commit ef1db7acda)
2015-12-22 19:57:26 -08:00
Troels Knakkergaard
46b534a194 Use document window as parent for "Save changes?" dialog
This ensures that the message box is centered on its parent window and not the
screen.

Closes #17295.

(cherry picked from commit 4ebb8d9837)
2015-12-21 08:09:59 -08:00
Paul Cornett
8cea217701 implement Flush() for wxImage wxGraphicsContext under Cairo and GDI+, see #16694 2015-12-20 10:25:52 -08:00
Paul Cornett
c2a38b2f92 flush Cairo surface before converting to wxImage
(cherry picked from commit cd27b73237)
2015-12-20 10:23:52 -08:00
Lauri Nurmi
61a3e328ef Add mouse wheel handling to wxGenericCalendarCtrl
Mimics the scrolling behaviour of native MSW and GTK calendars by allowing to
increment/decrement the month by scrolling anywhere on the generic calendar.

Additionally, use horizontal scrolling to increment/decrement the year.

Backport of 50daf1feab + 4177593aef
into WX_3_0_BRANCH.

See also 50daf1feab (commitcomment-13087042)
2015-12-19 16:16:42 +01:00
Bryan Petty
d82306cd2e Update apt sources in Travis CI builds. 2015-12-17 17:57:50 +01:00
Paul Cornett
70de382197 remove unused global variable
(cherry picked from commit 84a77c0c32)
2015-12-06 20:26:50 -08:00
Paul Cornett
f5fac50856 Fix generation of wxEVT_ACTIVATE_APP
Avoid spurious events when showing most native dialogs
See #17260

(cherry picked from commit d4d209dd39)
2015-12-06 20:11:54 -08:00