Changelogs

Overview

These changelogs reflect the history of all files in the Subversion repository. The changelog has been generated at 2016-05-09 08:38:04

Changes per page:

25 50 100 250 500 1000 2000

Changelog for wxWidgets (70435 changes):

2010-10-25 22:46 VZ, revision 65923

Use the correct accelerator for the "Preferences" Apple menu item. Use the standard Command-, accelerator for the standard "Preferences" item in the Apple menu. Closes #12121.

2010-10-25 22:46 VZ, revision 65922

Use the application name in the "About" item of the Apple menu. To conform to Apple UI guidelines the application name should be included in the "About" menu item label in the Apple menu. See #12121.

2010-10-25 11:43 VS, revision 65921

Add wxImplicitConversionType tests.

2010-10-25 11:43 VS, revision 65920

Make wxMin, wxMax and wxClip template functions. Previously used macro's arguments were evaluated twice, but there were many occurences of their use in our code that didn't account for this and used expensive-to-evaluate arguments as if they were functions.

2010-10-25 11:24 JS, revision 65919

Style page no longer grows to fit very long style names; freeze/thaw used for speed

2010-10-25 11:22 VZ, revision 65918

Compilation fix: don't use "environ" under OS X. The global environ variable is not directly accessible under OS X, use _NSGetEnviron() instead.

2010-10-25 01:06 VZ, revision 65917

Make wxUString compilable with VC6. Provide replacements for std::basic_string functionality missing from this compiler standard library. Closes #12357.

2010-10-25 01:03 VZ, revision 65916

Fix typo in wxFILTER_NUMERIC documentation. Replace wxFILTER_SIMPLE_NUMBER with wxFILTER_DIGITS. Closes #12341.

2010-10-25 01:03 VZ, revision 65915

Add wxDocManager::FindTemplate() method. This allows to find the template corresponding to the document of the given class. Closes #12170.

2010-10-25 01:03 VZ, revision 65914

Don't handle RPC_E_CHANGED_MODE return of OleInitialize() as an error. This error means that OLE had already been initialized so from our point of view it counts as a success. Closes #12516.

2010-10-25 00:41 VZ, revision 65913

Do nothing in wxMemoryDC::SelectObject() if the bitmap is already selected. It doesn't make sense to make a copy of the bitmap in order to select it into wxMemoryDC if it's already selected into it. See #11640.

2010-10-25 00:41 VZ, revision 65912

Always create new OLE objects with reference count of 1, not 0. There are no real changes but ensure that the new objects of classes using DECLARE_OLE_UNKNOWN() macro are created with valid reference count of 1 instead of being created in phantom state with reference count of 0. Remove the now unnecessary AddRef() and add the now required DecRef() calls. See #11566.

2010-10-25 00:41 VZ, revision 65911

Fix problems with reference counting in wxActiveXContainer. Ensure that the IFrameSite object is created with valid (i.e. non-zero) reference count by calling AddRef() on it immediately after creation and remove the weird QueryInterface() call which was used to work around this bug. Closes #11566.

2010-10-25 00:41 VZ, revision 65910

Don't consider lack of connection points an error in wxActiveXContainer. Handle CONNECT_E_NOCONNECTION return value from IConnectionPointContainer:: FindConnectionPoint() as an expected error and don't complain about it. See #11566.

2010-10-25 00:41 VZ, revision 65909

Don't activate the window when updating its styles in wxMSW. Add SWP_NOACTIVATE to the flags used by wxWindow::MSWUpdateStyle(). This allows to change the style of a window without necessarily activating it. Closes #11560.

2010-10-25 00:41 VZ, revision 65908

Fix wrong wxLogDebug() call in fswatcher sample. Replace wxLogDebug() with wxLogTrace() as was probably intended. This fixes the assert which happened when running the sample because of the wrong number of parameters passed to wxLogDebug().

2010-10-25 00:41 VZ, revision 65907

Allow specifying the directory to watch on command line of fswatcher sample. This makes it more convenient to run the sample repeatedly as the directory to watch can be specified only once instead of having to choose it interactively after the sample startup every time.

2010-10-25 00:41 VZ, revision 65906

Avoid duplicate wxEVT_COMMAND_TREE_SEL_CHANG{ING,ED} events in wxMSW. When changing the selected item programmatically 2 CHANGING and CHANGED events were sent because the assumption that comctl32.dll didn't send these events itself was not correct any more, it does send them at least since XP. However to avoid the tests for its exact version it's simpler to just ignore the events it generates and continue sending our own ones. Closes #11274.

2010-10-25 00:41 VZ, revision 65905

Don't grab focus when calling wxTreeCtrl::SelectItem(). The workaround for the unexpected events order introduced in r49588 should only apply to the situation when the user selects an item in the tree, not when it's done programmatically as this results in unexpected focus changes (see #11274).

2010-10-25 00:40 VZ, revision 65904

Allow to use space to toggle spinning of the cube in OpenGL sample. Small enhancement to the cube OpenGL sample. Closes #11545.

2010-10-25 00:40 VZ, revision 65903

Don't send wxEVT_COMMAND_TREE_ITEM_MENU event without valid item in wxMSW. The generic wxTreeCtrl version only sends this event when the mouse is right clicked on a valid item so do the same in wxMSW version too for consistency. This is also consistent with wxEVT_COMMAND_TREE_ITEM_RIGHT_CLICK event and avoids strange problems with unexpected wxEVT_COMMAND_TREE_ITEM_MENU events generated on right double click. Finally, replace the checks for item validity in the event handler in the sample with asserts which should loudly complain if it happens to be invalid. Closes #11226.

2010-10-25 00:40 VZ, revision 65902

No real changes, just cleanup week days handling in wxGenericCalendarCtrl. Use helper GetWeek{Start,End}() functions instead of repeating tests for wxCAL_MONDAY_FIRST over and over again. Also replace some occurrences of GetWindowStyle() with shorter and more clear HasFlag().

2010-10-25 00:40 VZ, revision 65901

Keep displayed month and year in sync in wxGenericCalendarCtrl. When the date was constrained to a range in wxGenericCalendarCtrl, the display of the month in the month combobox could get out of sync with its real value. Ensure that the correct month is always displayed and also simplify the code by removing the apparently unnecessarily complex logic in ChangeYear() and ChangeMonth() functions. Closes #11060.

2010-10-25 00:40 VZ, revision 65900

No real changes, just inline wxDIB::Create(). After removing wxDIB::m_hasAlpha in the previous commit, this method became completely trivial so put it inline in the header.

2010-10-25 00:40 VZ, revision 65899

Remove wxDIB::m_hasAlpha from wxMSW. This field can't be set reliably as we don't know if LoadImage() Windows function loaded an 0RGB or an RGB bitmap so remove it completely to avoid the risk of using it wrongly.

2010-10-25 00:40 VZ, revision 65898

Fix conversion of 32 bit ARGB bitmaps to wxImage in wxMSW. wxDIB::m_hasAlpha can't be trusted when the DIB was loaded from a file so don't rely on it in wxDIB::ConvertToImage(). Instead, suppose that 32 bpp bitmaps do have alpha channel and only get rid of it at the end of conversion if it turns out that all alpha values were 0. Closes #10133.

2010-10-25 00:40 VZ, revision 65897

Don't hard code "open" verb in wxMSW wxLaunchDefaultApplication(). Don't choose the verb explicitly and let ShellExecuteEx() choose the default one. In the vast majority of cases this will do the same thing but if some file type doesn't have an "open" verb the new version will still open it correctly using its default verb while the old version failed. See #10707.

2010-10-25 00:40 VZ, revision 65896

Add support for specifying child process cwd and env to wxExecute(). Add an optional wxExecuteEnv parameter to wxExecute() which allows to specify the initial working directory and custom environment for the child process. Closes #12163.

2010-10-25 00:40 VZ, revision 65895

Treat wxToolbook symmetrically with others in the notebook sample. Use wxToolbook as the default notebook type if the other ones are not available. Closes #12610.

2010-10-25 00:39 VZ, revision 65894

Don't reserve space for hidden controller in wxBookCtrl. Even when the controller was hidden, space was still allocated for it by wxBookCtrl. Fix this by only reserving extra space when the controller is shown. Closes #12609.

2010-10-24 16:34 VZ, revision 65893

Set wxKeyEvent::m_rawFlags to hardware key code in wxGTK. The raw flags were previously unused in wxGTK but hardware key code is an important information which may be useful to the application, so pass it in the flags (this is rather symmetric with passing lParam in it under MSW as lParam contains the scan code, among other things). Also document the meaning of raw key code and flags in all the major ports.

2010-10-24 16:34 VZ, revision 65892

Output header to the same directory as the .cpp file in wxrc. If "-o" option is given, generate the output header file in the same directory as the .cpp file and not in the current directory. Closes #4054.

2010-10-24 16:34 VZ, revision 65891

Use wxChoicebook instead of wxNotebook in the xrc sample. wxNotebook was unusable with so many pages under all platforms and completely unusable under Mac. Replace it with wxChoicebook which allows to select any page quickly instead of having to do it sequentially (or not being able to do it at all under Mac). Another possibility could be to use wxTreebook and organize the pages in categories, similarly to how it is done in the widgets sample. Closes #3699.

2010-10-24 16:34 VZ, revision 65890

Rearrange xrc sample controls in alphabetical order. Several new pages were added in random positions, rearrange them to be in alphabetical order. Also remove wxToolBar from "The Rest" page as it is shown in one of the other pages now.

2010-10-24 16:33 VZ, revision 65889

Make it easier to define custom wxSizerXmlHandler subclasses. No real changes but refactor wxSizerXmlHandler to make it easier to derive from it by adding virtual IsSizerNode() and DoCreateSizer() methods. To add support for a custom sizer class you only need to override them in wxSizerXmlHandler subclass now. Also document wxSizerXmlHandler which was not documented at all previously. Closes #11845.

2010-10-24 16:23 VZ, revision 65888

Make wxXmlResourceHandler::IsOfClass() static. This simple helper function doesn't use any wxXmlResourceHandler data as it's just a trivial wrapper for wxXmlNode::GetAttribute(). Making it static allows, in particular, to call it from const member functions of wxXmlResourceHandler-derived classes (making it "const" itself would achieve this too, of course, but it just doesn't need to be non-static).

2010-10-23 23:47 VZ, revision 65887

Add wxIcon::GetSize() to wxIcon in wxOSX. This fixes the compilation errors under OS X after r65884 due to the lack of this method there.

2010-10-23 20:56 VZ, revision 65886

Don't use non-existent icon in XRC sample. appicon.xpm was removed so use another icon in the controls demo in the sample instead, it doesn't matter which one we use anyhow.

2010-10-23 20:56 VZ, revision 65885

Add XRC handler for wxToolbook. Closes #11615.

2010-10-23 20:56 VZ, revision 65884

Don't assume any particular default size for XRC image lists. Let the image list deduce its size from the first bitmap in it. This is better than the old behaviour of using the standard icon size as it allows to omit the size from the image lists provided they contain the bitmaps of the same size.

2010-10-23 20:56 VZ, revision 65883

Correct wxDialog::SetAffirmativeId() documentation. The return value of ShowModal() is the affirmative id and not wxID_OK, of course. See ##11413 (specifically comment 5).

2010-10-23 16:10 VZ, revision 65882

Added wxThread::OnKill() and OnDelete() callbacks. Call OnXXX() from wxThread::Kill() and Delete() respectively to allow the thread being terminated perform some cleanup. Closes #9046.

2010-10-23 16:10 VZ, revision 65881

Construct paths using wxFileName in wxHTML help. Use wxFileName instead of more complicated and error-prone manipulations with strings. Closes #12602.

2010-10-23 16:09 VZ, revision 65880

Use rpmbuild to build the RPMs in "make rpm" target. In recent versions of rpm rpmbuild must be used for building the RPMs instead of rpm itself. See #12567.

2010-10-23 16:09 VZ, revision 65879

Add more headers to "make dist" and remove .mo files. Add wx/persist headers to the list of files used by "make dist" and remove the message catalogs which shouldn't be part of the source distribution. See #12567.

2010-10-23 16:09 VZ, revision 65878

Include wxscintilla library in wxGTK RPM. Include libwxscintilla.a for static linking. See #12567.

2010-10-23 16:09 VZ, revision 65877

Generate the full list of wxBase headers paths in wxGTK.spec. Instead of hardcoding the list of wxBase headers path, build it automatically from the list of their base names which is generated by bakefile and so is always up to date. See #12567.

2010-10-23 16:09 VZ, revision 65876

Force the use of GNOME printing support and wxMediaCtrl in wxGTK RPMs. Explicitly enable the use of GNOME printing and media control to ensure that RPMs are always created with these features enabled. See #12567.

2010-10-23 16:09 VZ, revision 65875

Remove "release" suffix from wx-config links used in RPMs. We don't distinguish debug and release builds under Unix any more in 2.9 and don't use "release" and "debug" suffixes in full wx-config names. Remove these suffixes from the wx-config links created by RPM post-installation step. See #12567.

2010-10-23 16:09 VZ, revision 65874

Document that wxProcess::GetOutputStream() can't be used after CloseOutput(). As closing the output stream makes it unusable, it is destroyed as well and so GetOutputStream() returns NULL after calling CloseOutput(). Closes #12605.

2010-10-23 16:03 RR, revision 65873

wxDataViewCtrl::Expand() only works on items whose parents are already expanded. The attached patch fixes this by expanding all ancestors of the item before expanding the item itself. Closes #12585: wxDataviewCtrl::Expand() needs to expand all ancestors

2010-10-23 16:00 RR, revision 65872

Set focus to generic wxDataViewCtrl when clicking with any mouse button, not just left, closes #12586: wxDataviewCtrl only gets focused on left mouse

2010-10-23 15:53 RR, revision 65871

Implement wxDataViewCtrl::HitTest() under GTK+, second part of #12582: enhancing wxDataViewCtrl, closes #12582

2010-10-23 15:48 RR, revision 65870

Also set mouse position in ITEM_BEGIN_DRAG event in wxDataViewCtrl under GTK+, part of #12582: enhancing wxDataViewCtrl

2010-10-23 00:15 MW, revision 65869

Change the return code of the test program so that aborting a test with an exception doesn't count as a failure, to provide a way to skip tests that can't be performed.

2010-10-23 00:12 MW, revision 65868

Add debugging info to the trunk Linux builds.

2010-10-22 18:33 VZ, revision 65867

Enable ListBoxTestCase::HitTest() for wxGTK. wxListBox::HitTest() does work in wxGTK but we need to realize the control before using it.

2010-10-22 18:33 VZ, revision 65866

Restore the note about auto-repeat in key events documentation. Closes #12598.

2010-10-22 18:33 VZ, revision 65865

Use GTK_SELECTION_BROWSE instead of SINGLE for wxListBox in wxGTK. A single-selection listbox must always have a selected item, at least after initial selection is done, i.e. its selected item can't be deselected. This behaviour corresponds to GTK_SELECTION_BROWSE style in GTK+. Closes #2549.

2010-10-22 16:17 VZ, revision 65864

Fixes for calling Enable() on children of a disabled TLW in wxMSW. The change of the child window state wasn't reflected immediately if it was done while the TLW itself was disabled but only happened when it was reenabled and in some cases the child could not be enabled even then. Fix this by updating the child state immediately, even when its TLW parent is disabled and only skip the update of the children state when TLW is being disabled, not when it's enabled back. Closes #11622.

2010-10-22 16:17 VZ, revision 65863

Use single BeforeLast() call in wxConfigPathChanger ctor. Use a single BeforeLast() call with the "rest" argument and avoid calling AfterLast() laster in wxConfigPathChanger ctor. This is a small optimization which may count because wxConfigPathChanger is used in a lot of wxFileConfig functions but, even more importantly, this works around a bug in g++ 4 optimized build when the name was not filled by AfterLast() call correctly as apparently the optimizer decided it was not used. The real cause of this compiler bug was difficult to find as it couldn't be reproduced in a simple test case but this change avoids it and fixes wxFileConfig unit test in optimized build.

2010-10-22 16:17 VZ, revision 65862

Added "rest" argument to wxString::Before{First,Last}(). This allows to search the string just once, in BeforeXXX(), when both the parts of the string before and after some character are needed instead of having to do it twice in both BeforeXXX() and AfterXXX().

2010-10-22 16:17 VZ, revision 65861

No real changes, just use const_cast<> instead of C casts. Replace many comments indicating that the C cast used was really a const_cast<> with the proper cast itself. There is no reason to not use it any longer, all the supported compilers understand it.

2010-10-22 16:17 VZ, revision 65860

Don't add quotes to string representation in gdb. gdb adds quotes itself around string values so don't duplicate them.

2010-10-21 21:51 VZ, revision 65859

Add missing comparison operator declarations in wxString::iterator. Fix compilation in !wxUSE_UNICODE_UTF8 case after r65857. Modify the second declaration of wxString::iterator class which was not updated by the previous commit in the same way, i.e. add declaration of comparison operators taking const_iterator to iterator class.

2010-10-21 21:44 VZ, revision 65858

Document the meaning of wxToolBar tool id more clearly. Make it clear that the id is the same one as was passed to AddTool(). Closes #12597.

2010-10-21 21:22 VZ, revision 65857

Implement comparisons between wxString::iterator and const_iterator. Only comparisons between const_iterator and iterator worked before (because of implicit conversion from the latter to the former), implement the ones in the other direction explicitly now. Closes #12594.

2010-10-21 01:11 VZ, revision 65856

Add XRC handler for wxCommandLinkButton. Added a handler for wxCommandLinkButton class and a demo of it in the xrc sample. Closes #12593.

2010-10-21 01:11 VZ, revision 65855

Merge wxBitmapButton and wxButton panels in the xrc sample. There are already way too many pages in the "Controls Example" in the sample, combine wxBitmapButton and wxButton ones to save some space and make it more usable.

2010-10-21 01:11 VZ, revision 65854

Correct the fix that broke wxRegion::ConvertToBitmap(). The changes in r64874 were incorrect and made the size of the bitmap even more wrong than before. Fix it correctly now by just adding 1 extra pixel to the size of the bitmap used in the original (pre-r64874) version. Closes #12213.

2010-10-20 19:49 PJC, revision 65852

Improve support for ribbon panel sizers: panels with sizers should now automatically minimise at small sizes, and behave properly when popping up from a minimised state. Patch by johnr in trac issue #12580.

2010-10-20 15:08 MW, revision 65851

Check for window manager before running GUI tests on unix.

2010-10-19 01:43 VZ, revision 65847

Change wxSP_XXX flags values to avoid clashes with wxTE_XXX. wxSP_ARROW_KEYS conflicted with wxTE_AUTO_URL (which was probably not important in practice as URLs don't appear in spin controls anyhow) and wxSPWR conflicted with wxTE_NOHIDESEL (which could conceivably be a problem). Change their values to reuse the bits of wxTE_CHARWRAP and wxTE_RICH2 neither of which definitely makes sense for a spin control. Closes #11461.

2010-10-19 01:43 VZ, revision 65846

Use unsigned char for XBM bitmaps data. This fixes compilation with g++ in C++0x mode in which conversions of constants not fitting into signed char range to char are not permitted. Closes #12575.

2010-10-19 01:43 VZ, revision 65845

Correctly handle S_FALSE return value of IActiveMovie::get_Duration(). IActiveMovie::get_Duration() can return S_FALSE in which case outDuration isn't initialized and so wxAMMediaBackend::GetDuration() would return a completely wrong value. Fix this by returning 0 from it instead which seems like the only reasonable thing to do (in the absence of documentation of this interface it's not really clear what does S_FALSE return value mean nor why didn't it return it before).

2010-10-19 01:43 VZ, revision 65844

Correct recently broken checked state handling in wxRearrangeList. The checked state of them wasn't preserved correctly any more since r64875, correct this by changing the state only after storing the old one. Closes #12578.

2010-10-19 01:43 VZ, revision 65843

Add missing "static" to wxSystemOptions::SetOption() documentation. Closes #12576.

2010-10-18 15:55 JMS, revision 65841

Call wxScrollHelper::AdjustScrollbars() to fix scroll bar setup that broke after wxPropertyGrid was changed to inherit from wxScrollHelper instead of wxScrolledWindow

2010-10-17 20:17 VZ, revision 65840

Fix wxSTC compilation without wxUSE_DRAG_AND_DROP after r65827. Correct the changes of r65827 to also compile with wxUSE_DRAG_AND_DROP==0 (especially important for the ports without dnd support such as wxX11 and wxDFB). Also do the changes in the correct files, i.e. src/stc/stc.{h,cpp}.in and not in the generated files themselves to prevent them from being overwritten the next time gen_iface.py is ran. Finally keep backwards compatibility as SetDragAllowMove(bool) is a public method so preserve its old semantics and add a new SetDragFlags() instead of silently breaking the existing code using SetDragAllowMove(). See #11709.

2010-10-17 16:06 MW, revision 65839

Disable the Mingw x64 builds as there's no compiler.

2010-10-17 15:59 VZ, revision 65838

No real changes, just fix a warning in the test suite. Don't assign wxNO_LEN to int variable, this results in gcc warnings about overflow in implicit constant conversion. Use size_t for the variable containing string length to fix it.

2010-10-17 15:59 VZ, revision 65837

Revert the changes of r65826 in wxConvertToGTK(). This is not necessary any longer after the previous commit which changed cMB2WC() to not return NULL for empty input. See #12432.

2010-10-17 15:59 VZ, revision 65836

Return valid buffer from wxMBConv::c{MB,WC}2{WC,MB} for empty input. Returning invalid buffer for empty input is unexpected and resulted in e.g. wxString::utf8_str() returning NULL and not "" in ANSI build for empty strings (which, in turn, resulted in crashes in the test suite and undoubtedly not only) as well as crashes when calling GTK+ functions (see #12432). Other uses of cMB2WC() also show that NULL return value from it is unexpected as it is often passed to CRT functions not accepting NULL. So return empty buffer instead for empty input to avoid all these problems.

2010-10-17 01:05 VZ, revision 65835

Fix FileTestCase to really test strings with embedded NULs. The test was intended to verify that round trip via wxFile::Write/Read() worked even for the strings with embedded NULs but as the string wasn't constructed correctly it didn't actually contain any NULs but was ended by the first of them. Fix this by using explicit length of the string as usual when dealing with strings with embedded NULs. Also fix the conversion back to Unicode to use the correct length.

2010-10-17 01:05 VZ, revision 65834

Disable tests for UTF-encoded files in FileTestCase in ANSI build. These tests didn't work correctly in ANSI build because the conversion parameter of wxFile::Write() isn't used there, the contents of an ANSI wxString is always written to the file as is -- hence reading it back using UTF-16 or UTF-32 conversion fails. The test would need to be totally rewritten for ANSI build of wx and it wouldn't test wxFile but rather conversion functions already tested elsewhere so just disable it instead. This fixes a crash (due to passing NULL pointer to memcmp()) which prevented the test suite from running to completion in ANSI build.

2010-10-17 01:05 VZ, revision 65833

Compilation fix for STL build after r65830. Explicit conversion from wxString to "const char *" is needed in STL build. And even in non-STL build it's wrong to rely on implicit conversion as it wouldn't work correctly in non-UTF-8 locales.

2010-10-16 20:11 VZ, revision 65831

Avoid crashes in wxGenericListCtrl client<->screen conversion code. At least in wxUniv build, DoScreenToClient() can be called before the main control window is created which results in a crash when attempting to forward to its DoScreenToClient() version. Check for m_mainWin being non-NULL before using it to at least avoid the crash, even if it's not really clear whether this is a 100% correct fix. Closes #12390.

2010-10-16 20:11 VZ, revision 65830

Improve wxGTK print and page setup dialogs. Handle more fields (notably collation, number of copies and "print to file" flag) and fix the bug with return value of print dialog ShowModal(). Closes #12499.

2010-10-16 20:11 VZ, revision 65829

Transfer printer name to/from GTK+ native print setup dialog. Printer name in the GTK+ dialog was neither initialized nor retrieved before. See #12499.

2010-10-16 20:11 VZ, revision 65828

Correctly initialize wxGtkPrintNativeData members. In particular, create a valid GtkPrintOperation object instead of using an uninitialized pointer to it in wxGtkPrintDialog::ShowModal(), resulting in crashes or, at best, GTK errors. Closes #12483.

2010-10-16 20:11 VZ, revision 65827

Restore text drag-and-drop in wxSTC broken by Scintilla 2 update. Drag and drop in wxStyledTextCtrl was broken, apparently since upgrade to Scintilla 2. Restore it by using the correct wxDrag_XXX constants instead of boolean values in the code for wxEVT_STC_START_DRAG events generation. Closes #11709.

2010-10-16 20:10 VZ, revision 65826

Don't return invalid buffer from wxConvertToGTK(""). The result of wxConvertToGTK() is often passed to GTK+ functions directly and not all of them handle NULLs gracefully, e.g. gtk_editable_insert_text() just crashes. Return an empty string from wxConvertToGTK() explicitly for empty string input to avoid such problems. Another potential solution might have been to change wxMBConv::cMB2WC() to return empty buffer instead of invalid one for empty input but it's not clear if this is not going to break something else. Closes #12432.

2010-10-16 20:10 VZ, revision 65825

Add wxHAS_3STATE_CHECKBOX symbol. This symbol is defined for the ports that support wxCHK_3STATE style. While most of the ports do support it, a couple still do not and having this symbol makes it more convenient to exclude 3-state-checkbox-specific code, like in CheckBoxTestCase.

2010-10-16 20:10 VZ, revision 65824

Improve validation of wxCheckBox styles. Detect when incompatible styles are used (this required changing the value of wxCHK_2STATE to be non-null) and sanitize the styles (after asserting) in this case. Put the validation code in wxCheckBoxBase instead of having slightly different versions of it in port-specific wxCheckBox implementations. Add a unit test checking that the expected asserts are indeed generated.

2010-10-16 20:10 VZ, revision 65823

Put libraries in %{_libdir} when building wxGTK RPMs. Using the default libdir value ${_prefix}/lib is not always appropriate, notably this takes care of systems using /usr/lib64 instead of /usr/lib.

2010-10-16 12:24 JS, revision 65822

Disabled wxRTC tests that don't work in wxGTK

2010-10-16 01:46 VZ, revision 65821

Clear selection when generic wxDataViewCtrl is cleared. Selection could retain its old value and become invalid after calling Reset() before. Closes #12559.

2010-10-16 01:46 VZ, revision 65820

Add wx{Pen,Brush}::Is[Non]Transparent() methods and use them. Using GetStyle() == wx{PEN,BRUSH}STYLE_TRANSPARENT doesn't work for uninitialized pen or brush objects so add convenient helpers which do work for them. Use the new helper functions everywhere instead of explicitly checking for style. This makes the code shorter and more clear and also fixes some bugs (at least those in GTK printing code). Notice that this patch removes the main reason for explicitly initializing m_pen and m_brush in wxGTKDCImpl ctor but this initialization still can't be removed, at least for the latter, as doing this somehow breaks GetPixel(). It would be nice to understand why and do remove this initialization so that a newly created DC doesn't have any non-default pen nor brush. Closes #12522.

2010-10-16 01:46 VZ, revision 65819

Use wxDCPenChanger instead of setting/resetting pen explicitly. No real changes, just use wxDCPenChanger instead of manual calls to SetPen() in wxDCImpl::DrawPolygon(). This makes the code shorter and more clear.

2010-10-16 01:46 VZ, revision 65818

Add "GTK" prefix to wxChoice::{Dis,En}ableEvents() methods in wxGTK. This is more than a cosmetic change: adding "GTK" prefix in wxComboBox and not doing it in wxChoice in r64436 broke the event generation for wxComboBox as it didn't override wxChoice methods any longer but defined its own (useless) ones. Using the same name for the methods in both classes notably fixes unexpected event generation from wxComboBox::SetSelection(). Closes #12568.