Changelogs

Overview

These changelogs reflect the history of all files in the Subversion repository. The changelog has been generated at 2014-04-18 15:30:03

Select Changelog:

FileZilla 3, FileZilla,
FileZilla Server, wxWidgets

Changes per page:

25 50 100 250 500 1000 2000

Changelog for wxWidgets (68404 changes):

2011-01-06 23:02 VZ, revision 66612

Add possibility to hide panels in wxRibbon. Add wxRibbonBar::{Show,Hide}Panels() and ArePanelsShown() accessor. Also add a toggle button to the sample to test the new functionality (unfortunately it couldn't be done by a control in the ribbon itself as there would be no way to show the panels back then). Closes #12707.

2011-01-06 20:52 SJL, revision 66611

Add missing code tag before lots of wxEventTypes in the documentation. Although most of the documentation did this quite a few were missing.

2011-01-06 15:33 VS, revision 66610

Fix typo and a leftover.

2011-01-06 13:05 SC, revision 66609

reverting AssignAny fix, not needed if wxAny is not instantiated during static globals init

2011-01-06 12:06 SC, revision 66608

fixing a few typos, wxAny copy constructor implementation, making wxAnyList available everywhere

2011-01-06 10:30 JJ, revision 66607

Update compile support for OpenVMS

2011-01-06 00:54 VZ, revision 66604

Remove wxFileSystemWatcher::OnXXX() virtual methods documentation. These functions don't exist any more (they had been present initially but were removed in r61484 and r61476 for Unix and MSW respectively) so don't document them. See #12847.

2011-01-06 00:54 VZ, revision 66603

Correct wxFileSystemWatcher::GetWatchedPathsCount() documentation. The method name was misspelt. Also improve the description slightly. See #12847.

2011-01-06 00:52 VZ, revision 66602

Correct measurement for owner drawn menu items with only unchecked bitmap. Check for either checked or unchecked bitmap being specified for the item instead of checking the checked/normal bitmap twice which was an obvious typo and also resulted in items with unchecked bitmap only not being measured correctly (although I'm not sure if this is actually a supported use case). Closes #12846.

2011-01-06 00:49 VZ, revision 66601

No changes, just fix a typo in a variable name. s/widtht/width/ See #12846.

2011-01-05 19:38 PC, revision 66593

make wxMarkupEntities fully const

2011-01-05 19:27 PC, revision 66592

move variable definitions to more appropriate places, remove now-empty src/common/datacmn.cpp

2011-01-05 12:41 DS, revision 66591

Allow loading 8-bit TGA images when wxUSE_PALETTE is set to 0. Previously the image would only be loaded when wxPalette is available. This is unneccessary and probably not wanted. Instead decode as usual but use a plain memory buffer for the palette instead of wxPalette functions and don't set the image's palette.

2011-01-05 12:39 DS, revision 66590

Always save PNG as a true colour image instead of possibly a palettised image when wxUSE_PALETTE is set to 0. With wxUSE_PALETTE set to 0 and the user forcing to want a wxPNG_TYPE_PALETTE format the image would (partially) be marked as PNG_COLOR_TYPE_GRAY or PNG_COLOR_TYPE_GRAY_ALPHA instead and also saving would fail later on. Instead detect this specific case and save in the wxPNG_TYPE_COLOUR format.

2011-01-05 12:37 DS, revision 66589

fixed compilation of image test units when wxUSE_PALETTE is set to 0

2011-01-05 11:44 SC, revision 66588

was missing in xti merge

2011-01-05 11:29 SC, revision 66587

was missing in xti merge

2011-01-05 10:56 SC, revision 66586

was missing in xti merge

2011-01-05 08:30 JJ, revision 66585

Update compile support for OpenVMS

2011-01-05 07:56 PC, revision 66584

set eol-style and keywords properties on new files

2011-01-05 00:48 VZ, revision 66583

Fix wxImage test compilation for MSVC6. Don't reuse variables declared inside for loops as VC6 doesn't implement proper scoping for them.

2011-01-04 22:33 VZ, revision 66582

Disable wxCompositeWindow<> code for VC6. Revert the attempt to work around VC6 bug from the last commit and simply disable this code completely for VC6, it's not worth the trouble to try to fix it for this compiler.

2011-01-04 20:00 DS, revision 66581

compilation fixes for wxMSW compilation with wxUSE_PALETTE set to 0

2011-01-04 18:08 VZ, revision 66580

Attempt to make wxCompositeWindow<> compile with MSVC6. Blind attempt to work around VC6 error about ambiguity between "const T&" and "T" in DoSetForAllParts() template function.

2011-01-04 17:21 VZ, revision 66579

Remove duplicate IMPLEMENT_XXX_CLASS macros from wxUniv code. The RTTI macros are now used in common code only and having them in wxUniv too results in linker errors because of duplicate symbols. Just remove them to fix this.

2011-01-04 17:21 VZ, revision 66578

Declare wxStaticText in wxUniv as being dynamic, not abstract, class. This fixes a wxUniv build error due to the use of IMPLEMENT_DYNAMIC_CLASS() for wxStaticText in common code now. Closes #12842.

2011-01-04 16:10 VZ, revision 66577

Compilation fix for PNG saving code when wxUSE_PALETTE==0. Don't handle wxPNG_TYPE_PALETTE and don't compile PaletteFind() in at all when wxUSE_PALETTE is off. Closes #12505.

2011-01-04 16:08 SC, revision 66576

correct macro name

2011-01-04 15:37 SC, revision 66575

is a #deffed var

2011-01-04 15:13 VZ, revision 66574

Use wxControl instead of wxControlWithItems with wxRTTI macros. wxControlWithItems is just a convenient combination of wxControl and wxItemContainer mix-in and it is not useful to include it in wxRTTI classes hierarchy. Also, using wxControlWithItems as the base class for wxChoice and wxListBox but not for wxComboBox is inconsistent but wxControlWithItems can't be used for the latter so resolve this by not using it at all. Ideally we'd have a way of retrieving the list of supported interfaces (such as wxItemContainer or wxTextEntry) via wxRTTI too.

2011-01-04 15:13 VZ, revision 66573

Use wxControl as wxComboBox base class for wxRTTI in all ports. wxComboBox only derives from wxChoice in wxMSW but not in the other ports so use wxControl as its base class in wxIMPLEMENT_DYNAMIC_CLASS_XTI() macro in all ports. See #12841.

2011-01-04 15:09 SC, revision 66572

fixing rti

2011-01-04 14:33 DS, revision 66571

Minor wxPNGHandler cleanup. Use int instead of png_uint_16 everywhere regarding number of palette entries, similar to how libpng exposes it (internally it uses png_uint_16).

2011-01-04 14:06 DS, revision 66570

Fixed deprecated usage warnings in wxPNGHandler. Since upgrading to a newer libpng its structure members are marked as deprecated (probably as a way to discourage their direct usage). Replaced accessing them by using function calls instead.

2011-01-04 13:52 SC, revision 66569

add rtti for generic class

2011-01-04 12:48 VZ, revision 66568

Remove duplicate IMPLEMENT_DYNAMIC_CLASS() for wxGtkCalendarCtrl. wxIMPLEMENT_DYNAMIC_CLASS_XTI(wxCalendarCtrl) in the common code makes the use of IMPLEMENT_DYNAMIC_CLASS() in wxGTK implementation unnecessary. This fixes wxGTK linking.

2011-01-04 12:48 VZ, revision 66567

Don't use "/*" inside a C comment. gcc warns about it so replace the outer comment with "#if 0" to avoid it.

2011-01-04 12:47 DS, revision 66566

Cleaned up wxGIFDecoder. Applied patch by troelsk which mostly makes the GIF decoder more readable by using named constants instead of magic numbers. Left out the edits that changed unsigned char to wxUint8. In addition removed unnecessary casts around wxInputStream.GetC() calls. Closes #12506.

2011-01-04 12:41 SC, revision 66565

removing msw dependency in non-precomp build

2011-01-04 12:33 VZ, revision 66564

wxMSW compilation fix for wxCompositeWindow. Not all ports override SetXXX() methods in their wxWindow class so use the versions from wxWindowBase which are definitely known to exist. Notice that the call itself is still virtual so it doesn't matter which base class do we use. Closes #12840.

2011-01-04 12:30 VZ, revision 66563

Mention that wxDV_ROW_LINES is not implemented in the generic version. wxDV_ROW_LINES is currently only supported by the native implementations of wxDataViewCtrl. See #12834.

2011-01-04 12:17 SC, revision 66562

removing msw dependency in non-precomp build

2011-01-04 11:47 SC, revision 66561

porting back exact semicolon version

2011-01-04 11:46 SC, revision 66560

fixing placing of common files for grid and calctrl

2011-01-04 10:20 SC, revision 66559

fixing duplicate rti info for gtk

2011-01-04 10:14 SC, revision 66558

fixing duplicate rti info

2011-01-04 10:13 SC, revision 66557

fixing duplicate rti info

2011-01-04 09:34 SC, revision 66556

updating xti makefile

2011-01-04 09:31 SC, revision 66555

merging back XTI branch part 2

2011-01-04 09:28 SC, revision 66554

fixing selectors

2011-01-04 09:25 SC, revision 66553

add methods needed for XTI

2011-01-03 23:22 DS, revision 66552

Added support for saving PNG files with palette. Based on (heavily modified) patch by troelsk. Closes #12505.

2011-01-03 19:44 VZ, revision 66549

Set up pages range in the wxMSW print dialog correctly. Propagate the information about the number of pages from the printout to the print dialog in wxWindowsPrinter::Print(). Closes #12819.

2011-01-03 19:44 VZ, revision 66548

Add "virtual" keywords to the overridden functions in the printing sample. There are no real changes, just make it easier to understand that the sample code overrides the base class virtual methods by reusing the virtual keyword in the derived class. See #12819.

2011-01-03 19:43 VZ, revision 66547

Don't create slider with invalid range in mediaplayer sample. Use dummy but valid [0, 1] range instead of invalid [0, 0] one. Closes #12828.

2011-01-03 19:43 VZ, revision 66546

Don't name variables "id" in public headers. This name clashes with Objective-C reserved keyword and so prevents the headers using it from being included from Objective-C++ code. Closes #12832.

2011-01-03 19:08 SC, revision 66545

fixing warning and compile error against 10.4

2011-01-03 18:43 SC, revision 66544

adding new files for xti merge

2011-01-03 18:15 PC, revision 66543

build fix for wxUSE_CONSOLE_EVENTLOOP==0

2011-01-03 18:06 PC, revision 66542

non-pch build fix

2011-01-03 16:57 VZ, revision 66541

Decrease the margins around the page in the print preview. Don't hard code 40 pixel margins, this may be too big on small screens. Use twice the default border size between the dialog elements instead, this is still pretty arbitrary but at least smaller.

2011-01-03 16:57 VZ, revision 66540

Don't hardcode wxPreviewControlBar size in print preview code. For some reason the control bar height was hard coded to 40 pixels which could be not enough to use the buttons of the appropriate size. Don't hardcode its size any more and let the sizer determine it instead.

2011-01-03 16:57 VZ, revision 66539

Improve print preview appearance and functionality. Allow to directly enter the page number in the print preview itself instead of opening a separate dialog in order to do it. Rearrange the buttons in more visually appealing groups and replace the text arrows in them with the images.

2011-01-03 16:34 VS, revision 66538

Debug messages aren't meant to be translated. Fixed several incorrect uses of _() in dataview_osx.cpp.

2011-01-03 15:58 VZ, revision 66537

Don't use deprecated NSTableView selectRow:byExtendingSelection: method. Use selectRowIndexes:byExtendingSelection: instead even if this means that we need to create a trivial NSIndexSet containing a single index only.

2011-01-03 15:58 VZ, revision 66536

Allow selecting any kind of file in the sound sample. This is especially useful under Mac where wxSound can play files other than .wav too (e.g. .aiff files which can be found under /System/Library/Sounds).

2011-01-03 14:46 JJ, revision 66535

update configuration for OpenVMS

2011-01-03 12:24 VZ, revision 66534

Add wxCompositeWindow<> and use it in wxDatePickerCtrlGeneric. wxCompositeWindow<> is a convenient base class for composite windows, i.e. windows consisting of several other wxWindows. Currently it just automatically forwards various attributes setters calls to all of the composite window parts but it could become more useful in the future. Similarly, for now it is only used in wxDatePickerCtrlGeneric but it could (and should) be used for other composite controls later and we probably should even make this class public to allow its use in the client code.

2011-01-03 12:23 VZ, revision 66533

No real changes, just remove an unneeded header dependency. There was some commented out code in (core) valgen.cpp file using wxDatePickerCtrl (from adv library). Also comment out the inclusion of wx/datectrl.h header as it's not needed as long as this code remains commented out and creates an unexpected dependency of a core library file on an adv library header.

2011-01-03 12:01 DS, revision 66532

Fixed compilation of datectlg.cpp. Only including wx/datectrl.h does not always include wx/generic/datectrl.h, for example it does not for MSW non-Universal. As a result when compiling datectlg.cpp wxDatePickerCtrlGeneric is unknown and compilation fails. Fixed by including wx/generic/datectrl.h again (regression since r66524).

2011-01-02 23:05 VZ, revision 66528

Remove calls to wxApp::SetTopWindow() from the samples and documentation. It is definitely not necessary to call SetTopWindow() when there is only a single top level window and it is arguable whether it's useful to do it even when there are many of them so don't encourage its use in the documentation and also remove all its occurrences from the samples. Closes #12816.

2011-01-02 23:04 VZ, revision 66527

Simplify wxFileNameFromPath() implementation to avoid redundancy. No real changes, just use wxFileName::GetFullName() in wxFileNameFromPath() instead of reimplementing it there. Closes #12818.

2011-01-02 23:04 VZ, revision 66526

Fix memory leak if wxDC::DrawBitmap() fails in wxOS2. Don't forget to free the buffer if we return abnormally. Closes #12825.

2011-01-02 23:04 VZ, revision 66525

Use correct delete[] for a buffer allocated with new[]. Fix mismatch between scalar new and array delete in GetPathForIconFile() in wxOSX wxMimeTypeManager code. Closes #12826.

2011-01-02 23:03 VZ, revision 66524

Forward declare classes instead of including their declarations. No real changes, just reduce the compilation dependencies a bit by only forward declaring wxComboCtrl and wxCalendarCtrl in wx/generic/datectrl.h instead of including the headers with their full declarations.

2011-01-02 17:59 PC, revision 66523

fix preprocessor expression, closes #12822

2011-01-02 17:49 JMS, revision 66522

Allow any.cpp to compile without wxDateTime support (see #12821)

2011-01-02 13:08 JS, revision 66521

Added circle-outline standard bullet style

2011-01-02 11:14 JMS, revision 66520

Added 'HasAlpha' attribute for wxColourProperty. Setting it to true allows user to edit the alpha component.

2011-01-01 17:25 SC, revision 66515

pusing a dummy event, to make sure the stop: succeeds in immediate runloop termination, instead of waiting for the next user event

2011-01-01 12:10 SC, revision 66514

bracketing msw enhanced metafile usage

2011-01-01 12:06 SC, revision 66513

fixing iterator comparison

2010-12-31 20:38 VZ, revision 66510

PCH-less compilation fix in recently added wxTangoArtProvider. The use of wxLogDebug() requires inclusion of wx/log.h.

2010-12-31 18:39 VZ, revision 66506

Add wxUSE_ARTPROVIDER_STD build option. Make it possible to exclude wxDefaultArtProvider from build. Now that a Tango-based provider exists, it may make sense to disable the standard bitmaps if the program doesn't need the few of them not provided by Tango anyhow.

2010-12-31 18:39 VZ, revision 66505

Add wxArtProvider using Tango icons. The icons are embedded as PNG images directly in the source code to avoid the need for installing them. This does make the library larger though so provide a wxUSE_ARTPROVIDER_TANGO option to turn the new code and associated bloat off. Also turn it off by default under wxGTK as the native art provider is used there anyhow.

2010-12-31 18:39 VZ, revision 66504

Add go to first/last and plus/minus art provider icons. These icons will be used in the upcoming new implementation of the print preview frame and as they are also natively supported by GTK+ it makes sense to have support for them in wx itself. Notice that the existing bookmark add/remove icons are already mapped to the icons which look like plus and minus signs respectively in wxGTK but we need plus/minus in print preview in the other ports too so add these icons under explicit names.

2010-12-31 18:38 VZ, revision 66503

Make art provider id of type "char *" instead of "wxChar *". These strings don't need to be wide and, as elsewhere, prefer the compatibility with 2.8 ANSI build to compatibility with Unicode build.

2010-12-31 18:38 VZ, revision 66502

Add an option to embed image size in its name to PNG-to-C script. When a PNG image exists in several sizes it makes sense to use its size as a suffix to distinguish the different versions, so update the png2c script to optionally allow to do this. Current implementation simply checks the PNG header directly to avoid any extra dependencies.

2010-12-31 18:38 VZ, revision 66501

Show wxART_BUTTON icons in art provider sample resource browser. The button icons have a different size from all the other clients in wxGTK so it may be interesting to see them in the sample, add wxART_BUTTON to the list of art clients that can be chosen in it.

2010-12-31 18:38 VZ, revision 66500

Accept file names with dashes in PNG-to-C converter. Tango icon files often have dashes in their names so accept them in png2c conversion script and simply replace them with underscores to form a C identifier for the array containing the image data.

2010-12-31 18:29 VZ, revision 66499

Use open command to run the GUI unit test on Mac build slave. Running the application binary directly still doesn't work quite the same as when it's opened from Finder (or executed using open) and some tests involving event loops fail because of this. Run it using open even if it means that we lose the detailed log output.

2010-12-31 16:23 JMS, revision 66498

Revert unintended commit

2010-12-31 16:20 JMS, revision 66497

Try to better revert to the original string value in wxBitmapComboBox::RecreateControl()

2010-12-31 14:12 VZ, revision 66496

Document how to get the previous selection in wxEVT_GRID_SELECT_CELL handler. Make explicit the fact that the cell coordinates in the event are the coordinates of the newly selected cell and that the previously selected one is available from wxGrid itself.

2010-12-30 23:37 VZ, revision 66495

Move wxMSW wxCommandLinkButton files to native-only part. wxMSW wxCommandLinkButton implementation shouldn't be used in wxUniv so move src/msw/commandlinkbutton.cpp and include/wx/msw/commandlinkbutton.h to ADVANCED_MSW_NATIVE_{SRC,HDR} from ADVANCED_MSW_{SRC,HDR} in files.bkl and rebake the makefiles. This fixes wxUniv/MSW compilation.

2010-12-30 23:37 VZ, revision 66494

Compilation fixes for wxUniversal/MSW. Don't use wxMSW-specific functions when building wxUniversal.

2010-12-30 23:37 VZ, revision 66493

Move wxGetLibraryVersionInfo() to core from base. This function uses the GUI toolkit information and so can't be defined in wxBase. The code only compiled before because the function was erroneously defined in wxCore even though it was declared as WXDLLIMPEXP_BASE. Fix this by declaring it with WXDLLIMPEXP_CORE too. This corrects problems in MSW DLL build. If we need to get a string containing user-readable wxBase version too, we should add another function (as it's not possible to virtualize this one) but such function doesn't seem incredibly useful to have anyhow.

2010-12-30 23:36 VZ, revision 66492

Don't crash on malformed HTML in wxHTML font tag handler. Don't try to access the first character of the size parameter value before we are sure that it is not empty. Closes #12812.

2010-12-29 13:31 DS, revision 66491

Tightened icon and cursor file detection heuristics. When loading a TGA file that has an image type of uncompressed true colour it would be falsely detected as a cursor file and as an icon file if type is of uncompressed colour mapped. Lower the chance of this happening by also checking the remaining member of an ICO and CUR header which represents the number of images in the file. This member has to be non-zero (checked against all found ICO and CUR files in an XP installation). See also #12702.

2010-12-29 01:01 VZ, revision 66486

Update the generated makefile after wxOSX OpenGL changes. Rebake the makefile after the changes in r66357.

2010-12-28 23:38 DS, revision 66485

Added saving support to TGA image handler. Supports saving 24-bit and 32-bit (RGB with alpha). Updated image unit test to verify the alpha channel of saved TGA images. Also removed a condition skipping a test which only was in place for TGA (formerly its saving handler would do nothing yet say saving was succesful). See also #7661.

2010-12-28 23:05 DS, revision 66483

Expanded existing image saving test to also verify alpha content of saved images. Compare the alpha data of saved images (where applicable, currently for PNG only) to a generated alpha channel. Refactored most of ImageTestCase.CompareSavedImage into (static) function CompareImage to easily compare with a 24-bit image and then a 32-bit one.

2010-12-28 20:50 DS, revision 66478

Added some simple unit tests for verifying pixel content of loaded and saved images. Compare the data of loaded images in different formats against a reference image (one for 8-bit images, another for 24-bit). Do the same for images saved using SaveFile. Excluded some formats because they are either lossy or don't pass the test right now.

2010-12-28 17:44 SC, revision 66477

removing obsolete NO_PRAGMA

2010-12-28 16:57 DS, revision 66476

Updated manual regarding image alpha support for BMP, PNG, and TIFF handlers. For PNG it was mentioned only loading supports alpha, but alpha saving support has been available since r32414. Similarly there was no mention of alpha loading support for TIFF (supported since r47204) as well as BMP (since r54942).

2010-12-27 21:47 RD, revision 66474

Fix various missing or broken stuff needed for Project Phoenix

2010-12-27 14:16 SC, revision 66459

adding backtab to exception list

2010-12-27 12:50 JMS, revision 66458

Removed AdvImageFileProperty from the wxPropertyGrid sample. It was somewhat impractical and bug-prone.

2010-12-27 12:25 JMS, revision 66457

Test wxPropertyGrid::DoubleToString()

2010-12-27 12:17 JMS, revision 66456

No longer use semi-static IDs for wxPropertyGrid embedded controls and tool bar tools.

2010-12-27 07:31 SC, revision 66455

adding backtab to exception list

2010-12-27 07:30 SC, revision 66454

make sure we always have a return value

2010-12-26 17:29 VZ, revision 66452

Increase wxStaticText height in wxMSW to align its text with wxTextCtrl. The base lines of the text in wxTextCtrl and wxStaticText which were themselves vertically aligned didn't align, the text in the latter was one pixel too low. This seems to be happening because we don't give enough vertical space to the native static control by default and so, while the text wasn't truncated, it was positioned differently than usual. Work around this problem by allocating two extra pixels to wxStaticText height. While the exact explanation of the problem remains mysterious, this hack does result in correct appearance which seems to be sufficiently important to apply it.

2010-12-25 15:19 VZ, revision 66447

Compilation fix for wxMSW build without PCH. We need wxApp declaration since the changes of r66425.

2010-12-25 15:18 VZ, revision 66446

Test for wcsftime() in configure as it's not available everywhere. Contrary to the comment in wx/wxcrtbase.h, wcsftime() doesn't seem to be available under quite all the systems, notably it doesn't seem to be present in OpenBSD at all, even in the very latest version. Add a configure test for this function and fall back to our own implementation if the system doesn't have it. Closes #12766.

2010-12-25 15:18 VZ, revision 66445

Give an error from configure if wchar_t is not available. wxWidgets 2.9 doesn't support building without wchar_t any more so always define wxUSE_WCHAR_T and give an error from configure if wchar_t is really not available.

2010-12-25 14:46 VZ, revision 66444

Make the margin between wxSpinCtrlGeneric sub-windows compatible with MSW. Native MSW wxSpinCtrl uses a single pixel margin between the text part and the spin button while the generic version used 2 pixels which resulted in a slightly different appearance (see #12767). Use the same margin as MSW now in the generic version too, it should be fine for the other platforms as well and if it isn't we can always tweak them later.

2010-12-25 14:46 VZ, revision 66443

Correct bug in the wxSpinCtrlGeneric sub-controls resizing. The code in DoMoveWindow() didn't account for the margin and made the text control part of the window too large resulting in the truncation of the spin button. Simply remember to take margin into account when computing the text width. See #12767.

2010-12-25 14:19 VZ, revision 66442

Document wxItemContainer::SetStringSelection() as case-insensitive. Add unit tests checking that the behaviour really corresponds to the documentation too. And also mention that it's not a good idea to have strings differing by case only in wxComboBox anyhow.

2010-12-25 14:18 VZ, revision 66441

Minor improvements to wxComboBox documentation. Mention that wxCB_DROPDOWN is MSW (and Motif...) specific and don't document the much more often used wxCB_READONLY in its terms, just describe it directly instead.

2010-12-23 13:48 VZ, revision 66440

Run tests with "-t" option on OS X too. OS X build slave used its own commands to run unit tests, add -t to them too to be (hopefully) able to see better where does the test crash exactly.

2010-12-23 13:47 VZ, revision 66439

Correct Mac OX/iPhone check in libpng. Correct the syntax of preprocessor check for wxOSX_USE_IPHONE in libpng, it got somehow broken during upgrade to 1.4.4.

2010-12-23 11:26 JMS, revision 66438

Added dummy GetTextWidget() implementation for wxMotif wxComboCtrl

2010-12-22 19:44 JMS, revision 66435

Added section 'Customizing Keyboard Handling' into wxPropertyGrid overview

2010-12-22 18:43 JMS, revision 66433

Bring AddActionTrigger() doc string up to date with the interface

2010-12-22 18:25 JMS, revision 66432

Added wxPG_ACTION_EDIT, which allows specifying custom key to move focus to the property editor. Also documented wxPG_ACTION_FOOs better.

2010-12-22 14:57 VZ, revision 66431

Switch to GtkTooltip from deprecated GtkTooltips in wxGTK wxToolTip. Don't use deprecated GtkTooltips in wxGTK code any more, use the new GtkTooltip instead. Closes #12034.

2010-12-22 14:57 VZ, revision 66430

Really fix recently broken accelerators handling in menu items. As wxAcceleratorEntry::Create() now expects the full menu item label, just pass GetItemLabel() to it in wxMenuItemBase::GetAccel() instead of half- parsing it ourselves there. Closes #12794.

2010-12-22 14:57 VZ, revision 66429

Implement proper wxCursor cloning in wxDFB. wxDFB compilation was broken by recent wxObjectRefData copy ctor-related changes. Fix it by not using wxCursorRefData copy ctor any more, call wxCursorRefData::Clone() which does the right thing explicitly instead. Closes #12791.

2010-12-22 14:57 VZ, revision 66428

Use stock ids for menu items in the config sample. This not only removes some unnecessary code from the sample but also fixes a problem due to the use of a 0 id under wxOSX (which is unsupported there). Closes #12788.

2010-12-22 14:57 VZ, revision 66427

Compute print preview scale using real DPI values in wxGTK. Replace hardcoded 72 DPI which was "compensated" for with a 0.8 fudge factor with the values using the real screen DPI in wxGTK and PostScript print preview classes. Closes #12777.

2010-12-22 14:56 VZ, revision 66426

Correct and extend wxConfig::Create() documentation. Replace mentions of the non-existent wxCONFIG_WIN32_NATIVE with wxUSE_CONFIG_NATIVE. Also explain what does the "best implementation" really mean and link to wxAppTraitsBase::CreateConfig(). Closes #12787.

2010-12-22 14:56 VZ, revision 66425

Use generic wxHyperlinkCtrl under Vista/7 without comtrl32.dll v6. Replace the test for the OS version with the test for comtrl32.dll version in HasNativeHyperlinkCtrl() wxMSW function as the native control could be not available even under Vista/7 if we're not using comtrl32.dll v6 and this can happen if the program was linked without the appropriate manifest or, possibly more likely, if a DLL using wxWidgets was loaded by such a program. Closes #12711.

2010-12-21 20:38 RR, revision 66424

Don't let anything, such as pressing F2, start editing an entry if the renderer is set to wxDATAVIEW_CELL_INERT

2010-12-21 20:27 RR, revision 66423

model column and index of column in the dataview can be different, correct this and also make wxGTK and wxMSW report the same thing in the event following wxDataViewModel::SetValue(), fixes #12755: wxDataViewCtrl bug when the column is mapped to different model column. Also commit some older change reseting the cursor under the mouse.

2010-12-21 12:12 JS, revision 66422

XML output corrections

2010-12-21 12:12 JS, revision 66421

Fixed bad rendering with tabs by correcting the position tabs are calculated from

2010-12-21 12:11 JS, revision 66420

Fixed bad rendering with tabs by correcting the position tabs are calculated from

2010-12-20 20:15 RR, revision 66417

Better wording in docs

2010-12-20 20:13 RR, revision 66416

Correction to: Support diabling items in GTK+, see #12686: Allow disabling of wxDVC items

2010-12-20 18:40 JS, revision 66413

Added apos entity

2010-12-20 15:54 JMS, revision 66412

Removed non-implemented function prototype OnMouseWheel() from wxVListBoxComboPopup

2010-12-20 15:21 JMS, revision 66411

Use locale-specific decimal point in wxNumericPropertyValidator (fixes #12790)

2010-12-20 14:55 JMS, revision 66410

Added OwnerDrawnComboBoxTestCase (currently only has copies of wxComboBox tests)

2010-12-20 14:51 JMS, revision 66409

Added wxComboPopup::FindItem() to help in deciding how SetValue() should change the value of a read-only wxComboCtrl. This allows wxOwnerDrawnComboBox to have the same behavior as wxComboBox in that respect.

2010-12-20 14:33 JJ, revision 66408

correction to make wxGTK1 compile

2010-12-20 12:27 JMS, revision 66407

Have wxUniv wxComboBox inherit from wxItemContainer instead of wxComboBoxBase, since the latter is derived from wxTextEntry which conflicts with the recent change in wxComboCtrl (fixes #12789)

2010-12-20 12:23 JMS, revision 66406

Added dummy-wxTextEntry implementation section for wxUniversal

2010-12-20 10:23 JJ, revision 66405

include compile support for tests on OpenVMS (part3)

2010-12-19 20:43 RR, revision 66404

Support diabling items in GTK+, see #12686: Allow disabling of wxDVC items

2010-12-19 16:02 VZ, revision 66403

Add the possibility to disable invisible wxDataViewCtrl items. Add new wxDataViewModel::IsEnabled() and wxDataViewListStore::IsEnabledByRow() methods and implement support for actually disabling the items in wxOSX/Cocoa native implementation of wxDataViewCtrl and limited support for it in the generic version. We need to implement this in wxGTK using GtkCellRenderer "sensitive" propriety later. Closes #12686.

2010-12-19 16:02 VZ, revision 66402

Store menus titles in menus themselves in wxOSX. Get rid of wxMenuBar::m_titles array which doesn't seem to be needed and just store the titles in the menus themselves instead. This makes wxMenu::GetTitle() work as in the other ports and fixes unit test failures in menu test. It also makes it unnecessary to duplicate the base class Find[Menu]Item() methods in wxOSX wxMenuBar so simply remove them entirely.

2010-12-19 16:02 VZ, revision 66401

No real changes, just get rid of _wxMenuAt() in wxOSX menu code. The _wxMenuAt() function was totally unnecessary and duplicated the existing wxMenuBar::GetMenu() so simply remove it and use GetMenu() instead.

2010-12-19 16:02 VZ, revision 66400

Fix initial gradient point calculation in wxOSX. This fixes the bug introduced in r63879 which used the wrong indices into the stops array resulting in visual artefacts in wxAUI, for example (and also possible crashes due to accessing out of bound array elements). Closes #12784.

2010-12-19 15:08 VZ, revision 66399

Preserve wxSlider value when changing its range in wxOSX too. This fix is similar to r66368 for wxMSW and preserves the slider value when its range changes. This is necessary because while the underlying native control value doesn't change when the range is, the logical value of wxSlider does change if it must be inversed as this depends on the range. See #12765.

2010-12-17 13:23 JMS, revision 66398

Make wxOwnerDrawnComboBox sorting identical to the MSW sorting (same as wxComboBox)

2010-12-17 13:08 JMS, revision 66397

Add wxComboBox-compatible Popup() and Dismiss() functions in wxComboCtrl

2010-12-17 12:50 JMS, revision 66396

Add enough default arguments to one wxOwnerDrawnComboBox ctor so it can be consructed using only two arguments, same as the wxComboBox

2010-12-17 12:39 JMS, revision 66395

Mostly change the wxOwnerDrawnComboBox text value using ChangeValue() instead of SetValue()

2010-12-17 12:20 JMS, revision 66394

Make the wxComboCtrl's wxTextEntry interface more complete and consistent. All text is no longer selected on SetValue(), but only when user selects an item from the drop-down list.

2010-12-17 01:56 RD, revision 66391

Use a " " (space) for the menu item if an empty string is used for an item in a wxChoice, in order to avoid an assert in wxMenuItem.

2010-12-16 20:25 JMS, revision 66389

Removed a return statement from void function

2010-12-16 19:13 JMS, revision 66388

Resolve ambiguity with wxOwnerDrawnComboBox::Clear(), virtual method which is derived from two base classes

2010-12-16 19:08 JMS, revision 66387

In wxBitmapComboBox dtor, call DoClear() instead of ambiguous Clear()

2010-12-16 19:07 JMS, revision 66386

Override wxTextEntry::GetSelection(long *from, long *to) in wxOwnerDrawnComboBox to resolve virtual method hiding issues

2010-12-16 18:21 JMS, revision 66385

Instead of having wxComboCtrl mimic wxTextEntry interface, make it actually inherit from the class and implement functions to redirect to the embedded wxTextCtrl. This allows us to simplify the code and get rid of the dirty trick of directing wxComboCtrl's validator to the embedded wxTextCtrl. Also see #12779, which issue 1 is fixed by this change.

2010-12-16 17:12 JMS, revision 66384

Document how the sign is omitted from wxFloatProperty's displayed value when it is effectively zero (closes #12738).

2010-12-15 14:36 VZ, revision 66383

Initialize wxLogWindow::m_pLogFrame in ctor to avoid (rare) crash. If the log frame creation itself generates log messages, the code using wxLogWindow could crash because its m_pLogFrame member variable wasn't initialized yet at this moment. Do set it to NULL initially now to avoid this.

2010-12-15 13:04 VZ, revision 66382

Compilation fixes for wx{X11,GTK1,Motif} after making ref data non copyable. Don't use wrong compiler-generated copy ctors in the other ports neither (see r66371..66373 for wxGTK fixes). This fixes compilation after r66374 without reducing functionality but just making it more clear where it is missing.

2010-12-15 13:04 VZ, revision 66381

Compilation fix for wxMotif PCH build. We need to include wx/unix/utilsx11.h even when using PCH to get wxCharCodeXToWX() declaration.

2010-12-15 13:03 VZ, revision 66380

Update accelerator unit test to pass after recent changes. Changes of r66379 broke the unit test as wxAcceleratorEntry::Create() now requires the TAB to be present in the string passed to it (again). Update the test to make it pass.

2010-12-15 12:18 VZ, revision 66379

Don't pass strings not containing accelerators to ParseAccel(). Check for the presence of accelerator part in the string passed to wxAcceleratorEntry::Create() and don't call ParseAccel() at all if it's not there. This avoids the spurious warnings about unrecognized accelerators when creating menu items that don't have any accelerators at all. Also update wxAcceleratorEntry::FromString() documentation to mention that the new code should pass just the accelerator to this function and that it only accepts full menu item labels for compatibility. Closes #12770.

2010-12-15 11:54 JJ, revision 66378

Include compilation of tests for OpenVMS (part2)

2010-12-15 10:51 JJ, revision 66377

Include compilation of tests for OpenVMS (part1)

2010-12-14 19:44 VZ, revision 66376

Return false, not NULL, from a function returning bool. Fix a warning (which might be an error with some compilers) about returning NULL from bool wxRichTextImageBlock::DoMakeImageBlock() function.

2010-12-14 19:43 VZ, revision 66375

No real changes, just add a cast to fix a warning. Fix warning about implicitly converting -1 to CGKeyCode when building wxOSX with 10.4 SDK.

2010-12-14 19:43 VZ, revision 66374

Make wxRefCounter non copyable. wxRefCounter copy ctor was wrong as the new object had the same reference count as the old one instead of starting its life with reference count set to 1 as any new object should. While we could fix its copy ctor, it seems to be better to forbid copying wxRefCounter objects at all because the semantics of doing this is not obvious and the compiler-generated copy ctor in the derived classes often doesn't do what the code using it expects it to do, as was discovered by making wxRefCounter non copyable: see the fixes in the previous commits. To uncover all such bugs, make wxRefCounter and classes deriving from it non copyable. If this uncovers more problems, they should be fixed by implementing copying properly (and explicitly) in the derived classes. Closes #12768.

2010-12-14 19:43 VZ, revision 66373

Fail in CloneGDIRefData() instead of implementing it incorrectly in wxOSX. wxIcon and wxMetaFile implemented CloneGDIRefData() using copy ctors of the corresponding ref data classes but the copy ctors were either wrong (for wxIconRefData as using it would result in messing up IconRef reference count) or had wrong semantics (wxMetafileRefData copy ctor performed shallow copy only while CloneGDIRefData() supposes a deep copy is done). Replace the wrong implementations of these functions with assert that will be triggered if they are ever used (which doesn't seem to be the case so far). See #12768.

2010-12-14 19:43 VZ, revision 66372

Don't use implicit wxBitmapRefData copy ctor in wxGTK code. wxBitmapRefData didn't have a proper copy ctor but the code in wxGTK wxBitmap implementation used it nevertheless and then manually patched the newly copied object to avoid double pointer deletion and other unpleasantness. Make the code more obviously correct by not using (nor providing) copy ctor at all. There are no real changes otherwise. See #12768.

2010-12-14 19:43 VZ, revision 66371

Fail instead of crashing in wxGTK wxCursor::CloneGDIRefData(). CloneGDIRefData() used wxCursorRefData copy ctor which wasn't implemented correctly and simply copied its internal m_cursor member without incrementing its reference count which resulted in a crash when it was then dereferenced twice. Unfortunately there doesn't seem to be any simple way to clone GDK cursors but as this should be something only rarely (if ever?) needed, simply don't implement CloneGDIRefData() at all for now and just leave an assert in it if it's ever really called. Also don't define wxCursorRefData copy ctor at all as it can't be done correctly.

2010-12-14 19:43 VZ, revision 66370

Improve wxImage handlers documentation, especially ownership aspect. Correct wxImage::RemoveHandler() documentation which was plain wrong. Also mention that the handler will be deleted by wxImage in AddHandler() documentation. And add an example of using AddHandler() as well as fix the broken text in wxInitAllImageHandlers() description. Closes #12772.

2010-12-13 19:10 VZ, revision 66368

Preserve value when changing range of inverted wxSlider in wxMSW. The logical value of wxSlider was changed when its range was changed in wxMSW if the slider had wxSL_INVERSE style because the logical value was actually computed using the range and the actual physical control value and we forgot to update the latter when changing the range. Do update it now in SetRange() to fix this. Also add unit tests checking for this and, more generally, for other operations with inversed sliders. Closes #12765.

2010-12-13 17:07 JMS, revision 66367

Have wxPropertyGrid::DoubleToString() to also take comma into account as a decimal separator. In addition, the function now returns target wxString (makes writing tests easier).

2010-12-11 12:57 JMS, revision 66363

Added code to remove sign from zero in wxPropertyGrid::DoubleToString(). Fixes #12738.

2010-12-11 12:48 SC, revision 66362

changing compositing mode for Clear, see #12756

2010-12-07 16:46 SC, revision 66360

adding support for layout coordinates via insets from framecoordinates

2010-12-07 16:41 SC, revision 66359

fixing redraw debugging

2010-12-07 14:28 SC, revision 66358

attempt at making the line continuation characters stay correct

2010-12-07 11:11 SC, revision 66357

updating files list for iphone opengl

2010-12-07 10:45 SC, revision 66356

updated comment was not saved in former commit

2010-12-07 10:10 SC, revision 66355

updated comment was not saved in former commit

2010-12-07 09:53 SC, revision 66354

reverting content area calculation for iphone as translucent status bars get ignored otherwise

2010-12-06 19:40 TIK, revision 66344

In some cases menu bar height is reported as 0 when the menu hasn't fully realized yet. Nee to update the height during idle time if it is 0, otherwise no menu is shown.

2010-12-04 14:34 SC, revision 66332

fixing osx iphone build

2010-12-04 14:33 SC, revision 66331

guarding compile

2010-12-04 14:33 SC, revision 66330

adapting inheritance to other osx ports

2010-12-04 14:32 SC, revision 66329

guarding against non-implemented parts

2010-12-03 15:12 VZ, revision 66315

Rename wxGenericDirCtrl::ExpandDir() to PopulateNode(). This function doesn't really expand anything (unlike CollapseDir()) so give it a better name while keeping the old one too for compatibility. See #12735.

2010-12-03 15:00 VZ, revision 66314

Set the window in focus event sent by wxComboCtrl correctly. The window parameter wasn't copied correctly in the forwarded event. Fix this and avoid future problems of the same kind by using the copy ctor for creating the new event and then override the fields that we need to change from the original event instead of recreating the new event from bits and pieces of the original one. Closes #12741.

2010-12-03 13:40 VZ, revision 66313

Update AUI bitmaps when its colours change. Extract the bitmaps initialization in wxAuiDefaultDockArt::InitBitmaps() and call it from SetColour() to ensure that the bitmaps are updated when the colour scheme changes. Closes #12532.

2010-12-03 13:40 VZ, revision 66312

No changes, just clean up duplicate colour functions in wxAUI. Reuse wxcolour::AlphaBlend() and ChangeLightness() methods instead of duplicating them in wxAUI-specific wxAui{Blend,Step}Colour(). See #12532.

2010-12-03 13:40 VZ, revision 66311

Update the directory icon in wxGenericDirCtrl::ExpandDir(). Calling ExpandDir() to notify the control that a new item was added in a previously empty directory didn't work as wxTreeCtrl::SetItemHasChildren() wasn't called. Fix this by moving SetItemHasChildren() to ExpandDir() from OnExpandItem(), it must be always done and not just in response to an interactive action. Closes #12735.

2010-12-03 13:40 VZ, revision 66310

No changes, just clean up duplicate colour functions in wxSearchCtrl. Use wxColor::ChangeLightness() instead of private wxStepColour() that duplicates it. Close #12744.

2010-12-03 13:40 VZ, revision 66309

Optimize pixels rotation in wxImage::Rotate90(). Rotate the image by entire strips instead of doing it pixel by pixel. This seems to result in about 50% performance gain. Closes #12739.

2010-12-03 13:39 VZ, revision 66308

Don't require leading TAB in wxAcceleratorEntry::FromString(). FromString() should parse string returned by ToString() successfully but this wasn't the case because the accelerator parsing functions always insisted on having a TAB in the string. Fix this, document the string format and add a unit test checking for the correct behaviour. Closes #12745.

2010-12-03 13:39 VZ, revision 66307

Don't try to extract accelerators from menu items which don't have any. We don't need to call wxAcceleratorEntry::Create() in wxMenuItem::GetAccel() if the menu item doesn't have any accelerator at all, i.e. if there is no TAB in its label. Calling wxAcceleratorEntry::Create() is useless and won't work correctly any more when Create() is updated to allow passing it strings without TAB in them in the next commit. See #12745.

2010-12-03 13:39 VZ, revision 66306

Fix wxRect::SetRightTop() which set the wrong corner. SetRightTop() erroneously forwarded to SetTopLeft() instead of SetTopRight(). Closes #12746.

2010-12-03 13:39 VZ, revision 66305

Mention in wxHashSet documentation that its contents is not sorted. The documentation gave a wrong impression that this class was a std::set replacement which it isn't. See #12727.

2010-12-01 08:42 SC, revision 66304

fixing missing return value

2010-11-30 19:41 PC, revision 66303

merge libpng 1.4.4 to trunk

2010-11-30 19:01 PC, revision 66302

add src/gtk1/mnemonics.cpp to files.bkl and rebake

2010-11-30 11:19 JJ, revision 66301

Add mnemonics to wxGTK1

2010-11-30 10:59 SC, revision 66300

adding standard menu items for cocoa, adding translation macro to menulabels, fixes #12732

2010-11-30 07:09 PC, revision 66299

tag libpng 1.4.4

2010-11-30 07:07 PC, revision 66298

upgrade to libpng 1.4.4

2010-11-29 21:20 JS, revision 66297

Fix for caret positioning inaccuracy when there are tabs and a non-zero control margin

2010-11-29 09:57 SC, revision 66293

adding defines to support building against 10.4u.SDK

2010-11-28 16:14 VZ, revision 66287

Don't compare invalid iterators in wxCommandProcessor code. Comparing invalid iterators results in an assert failure in STL build. We might also change wxList::compatibility_iterator::operator==() to allow comparing invalid iterators (which should be different from all the other ones but what about comparing two invalid iterators?) but it would probably be better to get rid of all uses of compatibility_iterator in the code instead in the long term. Closes #12730.

2010-11-27 22:57 PMO, revision 66285

Added support for submenus

2010-11-27 21:25 PMO, revision 66284

Added more implementations in wxDisplay

2010-11-27 21:23 PMO, revision 66283

Fixed wrong signature of GetItemText()

2010-11-27 18:30 PMO, revision 66282

Use the generic text entry dialog for now

2010-11-27 18:30 PMO, revision 66281

Skeleton implementation for wxTextCtrl

2010-11-27 16:42 PMO, revision 66280

Skeleton implementation for wxStaticBox. Use wxQtGroupBox for wxStaticBox and wxRadioBox.

2010-11-27 14:35 PMO, revision 66279

Skeleton implementation for wxSpinCtrl/wxSpinCtrlDouble

2010-11-27 12:34 VZ, revision 66278

Verify the return value of wxItemContainer::Insert() in the tests. Check that Insert() returns the index of the last inserted item. Also document this behaviour for mulit-item renames explicitly.

2010-11-27 12:34 VZ, revision 66277

Fix the return value of wxSimpleHtmlListBox::Insert(). The returned index was off by 1. Closes #12717.

2010-11-27 12:34 VZ, revision 66276

Add wx(Simple)HtmlListBox unit test. For now just test the wxItemContainer methods.

2010-11-27 12:34 VZ, revision 66275

Document wxSimpleHtmlListBox inheritance from wxItemContainer. Without wxItemContainer in the docs all the item maintenance methods were absent from wxSimpleHtmlListBox. See #12717.

2010-11-27 09:42 RD, revision 66270

Move the Mac methods from wxAppConsole to wxApp

2010-11-27 09:40 RD, revision 66269

wxDefaultVideoMode is const

2010-11-27 09:38 RD, revision 66268

wxPlatformInfo does not derive from wxObject

2010-11-26 18:39 JMS, revision 66267

Fix 100% CPU usage on wxGTK caused by a recent change in wxPropertyGridEditorEventForwarder::ProcessEvent()

2010-11-26 17:31 JS, revision 66266

Allow bullet style to be switched off via the UI

2010-11-26 14:31 VZ, revision 66265

Update configure helper scripts to latest versions from GNU project. The new version (the one we used was 6 years out of date) notably detects 64 bit MinGW platforms correctly which closes #12356. Also update config.{guess,sub} scripts in 3rd party libraries directories to bring them all in sync with the main one and ensure that MinGW 64 is supported by them too.

2010-11-26 14:31 VZ, revision 66264

Small bug fixes for GetLibraryVersionInfo() changes. Fix the minor version determination for libtiff which was done wrongly by r66259 and provide a properly formatted description for Scintilla version. See #12690.

2010-11-26 14:30 VZ, revision 66263

No real changes, just remove unnecessary const workaround. The comment about "wxString doesn't having enough const members" was totally incomprehensible and clearly wrong. Just remove the hack it was explaining.

2010-11-26 14:30 VZ, revision 66262

Allow wxAutomationObject::GetInstance() create new instance if needed. When getting an instance of an OLE automation object, it is often useful to connect to the existing instance if any or start a new one otherwise. Make GetInstance() behave like this by default while still allowing to use the wxAutomationInstance_UseExistingOnly flag to reestablish the old behaviour. Also improve the error reporting in wxAutomationObject. See #12489.

2010-11-26 14:30 VZ, revision 66261

No real changes, just use ProgID term instead of incorrect CLSID. CLSID was used instead of ProgID in several places in the code and the documentation but they are different things so clear up the confusion. See #12489.

2010-11-25 19:04 SC, revision 66260

led to build issues with xcode and graphics context

2010-11-25 01:53 VZ, revision 66259

Add wxVersionInfo and functions returning it for 3rd party libraries. Add simple wxVersionInfo class holding the version information. Also add GetLibraryVersionInfo() static method to wx{JPEG,PNG,TIFF}Handler, wxStyledTextCtrl and wxXmlDocument classes and wxGetZlibVersionInfo() and wxGetLibraryVersionInfo() global functions using it. Closes #12690.

2010-11-25 01:53 VZ, revision 66258

Document some previously undocumented wxAboutDialogInfo getters. See #12690.

2010-11-25 01:53 VZ, revision 66257

Mention status bar fields limits under pre-XP MSW systems. Mention that before comctl32.dll status bar fields were limited to 127 characters only. See #12709.

2010-11-24 13:43 VZ, revision 66255

Warn that normalizing a valid path may make it invalid sometimes. Mention the special case of a path without file name and with directory that normalizes to empty string. See #10960.

2010-11-24 13:43 VZ, revision 66254

Optimize wxImage::Rotate90() by rotating alpha separately. Bringing the alpha rotation out in a separate loop results in an approximatively 10% performance improvement. Closes #12712.

2010-11-24 01:42 VZ, revision 66253

Add support for negatable command line switches. Add wxCMD_LINE_SWITCH_NEGATABLE which allows to use a dash after a command line switch to inverse its meaning (i.e. use "/X-" form). Also add new wxCmdLineParser::FoundSwitch() allowing to check for whether the switch was specified in normal or negated form. Closes #11643.

2010-11-24 01:42 VZ, revision 66252

Rewind the input stream after failing to load image from it. For seekable streams, don't change the current position when loading image fails. This allows the subsequent image handlers to succeed during image format auto-detection even if a previous, erroneously chosen, handler failed. Closes #12702.

2010-11-24 01:42 VZ, revision 66251

Improve error messages from wxImage::LoadFile(). The error given when loading an image file failed was not very useful because they didn't specify which file exactly we failed to load and also because the numeric handler type which means nothing at all to the end user (and not much to the developer) was used. Use the description of the file format instead and also always give the name of the file that we failed to load. Finally, remove the test for file existence: this is one of many reasons why opening the file could fail and it doesn't make sense to handle it specially, just let the underlying stream generate the appropriate error message in all cases.

2010-11-24 01:42 VZ, revision 66250

Skip mouse events outside of item area in wxDataViewCtrl. Don't consume mouse events outside of the area occupied by the items in the generic implementation of wxDataViewCtrl as this prevented wxEVT_CONTEXT_MENU events from being generated. Closes #12706.

2010-11-23 23:14 RD, revision 66249

Use an enum for the colour/string conversion flags

2010-11-23 23:14 RD, revision 66248

Fixed parameter names. They can't be named "short"

2010-11-23 14:12 VZ, revision 66246

VC6 compilation fix: don't return void values. Fix VC6 compilation broken by r66237: don't return the result from a void function, this compiler doesn't support this C++ feature.

2010-11-23 14:11 VZ, revision 66245

Simplify timezone-related code and fix some minor bugs in it. Try to make the chain of preprocessor checks for different ways of getting time zone from the CRT more clear. Also call _tzset() for all MSVC versions, not just MSVC8+ (closes #12700). We should probably call tzset() for the other compilers too, in fact. And multiply the timezone returned from ftime() by 60 as it's supposed to be in minutes and not seconds as needed.

2010-11-23 14:11 VZ, revision 66244

Center task dialog-based wxProgressDialog on the parent window. wxProgressDialog was created without the parent when using task dialogs so it was centred on screen and not on its parent as usual. Fix this by explicitly positioning it so that it's centered over the parent. Closes #12699.

2010-11-23 14:10 VZ, revision 66243

Deselect all items in wxMSW wxListBox when selection is set to -1. Even though this behaviour is somewhat counterintuitive, the documentation mentions that this is what should happen and wxGTK and wxOSX already behave like this so bring wxMSW in line. wxListBox::DeselectAll() should probably just call SetSelection(wxNOT_FOUND) when the item to leave selected is not specified too now. Closes #12705.

2010-11-22 17:38 SC, revision 66242

fixing 64 bit ranger error

2010-11-22 17:18 VZ, revision 66241

Initialize time zone information before using it in wxGetTimeZone(). We must call _tzset() before calling _get_timezone() as while this is normally done implicitly by the other time functions, it might not have been done yet if create a wxDateTime::TimeZone before calling any of them. Closes #12700.

2010-11-22 15:28 JMS, revision 66240

Have wxPropertyGridEditorEventForwarder::ProcessEvent() return true more often - that is when the event was recognized as being 'handled', and specifically for the case of property editor's button being pressed (fixes #12487).

2010-11-22 13:51 VZ, revision 66239

Fix wxUniv build after deriving wxStatusBar from wxControl. wxUniv build was broken since the base class of wxStatusBar was changed from wxWindow to wxControl in r66226 because it derived twice from wxInputConsumer now. Fix this by simply not inheriting wxStatusBarUniv from wxInputConsumer any more, it already derives from it via wxControl now.

2010-11-22 13:49 VZ, revision 66238

Revert "Always define WXUSINGDLL when compiling Scintilla in shared wx build." Finally it's unnecessary to define WXUSINGDLL when building wxScintilla library as it doesn't use the main DLL, it is simply used as part of it. This reverts r66222 and finally closes #12626.

2010-11-22 13:49 VZ, revision 66237

Don't try to center task dialogs under Windows. This is either unnecessary or doesn't work anyhow (they are always centered on the parent window) and just results in debug error messages. Simply don't do anything in wxMessageDialog::Centre() when using task dialog implementation under MSW. Closes #12699.

2010-11-22 13:48 VZ, revision 66236

Set the width of the last status bar pane correctly in wxMSW. The total width of status bar panes must add up to the size of the status bar as otherwise an extra unwanted border is drawn after the last pane and we did have this border for status bar with a size grip. So while we still use the width without the size grip for calculating the fields widths, pass the width with the size grip to Windows to prevent this from happening. Also, don't pretend that the last field stretches up to the status bar edge when it should end before the size grip and Windows even already helpfully does it for us. Closes #12655.

2010-11-22 13:48 VZ, revision 66235

Add status bar styles mapping to MSW styles broken by recent changes. SBARS_SIZEGRIP and CCS_TOP should be added to the normal style, not the extended one. This restores the behaviour broken by r66227.

2010-11-22 13:48 VZ, revision 66234

Put WINDRES_CPU_DEFINE in RESFLAGS and not RESCOMP in configure. WINDRES_CPU_DEFINE is just another resource compiler flag which should be part of RESFLAGS instead of being added to RESCOMP definition itself. This is not only more logical but also fixes the problem with matching RESCOMP against "windres" or "wrc" in wx-config. See #12356.

2010-11-22 02:23 VZ, revision 66233

Make wxChoicebook background transparent. This fixes the appearance of an empty wxChoicebook used as a child of a wxNotebook under MSW. Closes #12503.

2010-11-22 02:23 VZ, revision 66232

Deprecate not working wxSplitterWindow::SetSashSize(). Setting sash size to non default value didn't work correctly and didn't make much sense anyhow as the sash appearance is platform-dependent and current code for drawing it doesn't work for arbitrary sizes. Simply remove the possibility to set the sash size. Closes #12412.

2010-11-22 02:23 VZ, revision 66231

Don't set explicit background colour for wxStatusBar in wxMSW. Setting the background colour for the status bar explicitly is unnecessary and probably prevents it from rendering correctly with some themes. Simply remove the call to SetBackgroundColour() from wxStatusBar::Create(). We should also define Get[Class]DefaultAttributes() in wxStatusBar in the future.

2010-11-22 02:23 VZ, revision 66230

Don't forbid creating wxSplitterWindow with border style. Any border specified for wxSplitterWindow was explicitly discarded when creating it but there doesn't seem to be any reason to forbid it, the original code probably predated the addition of wxWindow::GetDefaultBorder() which allowed to have different borders by default for different classes. In any case, simply remove this code now to allow creating splitters with borders if so desired. Closes #12413.

2010-11-22 02:22 VZ, revision 66229

Delete pending objects in wxApp::ProcessPendingEvents() and not ProcessIdle(). Move DeletePendingObjects() call from ProcessPendingEvents() to ProcessIdle() to ensure that we delete the objects marked for destruction even if the application is sitting in a tight OnIdle() loop, i.e. if the idle event handler keeps requesting more events. Also make sure that the event loop terminates if its OnExit() was called even if the idle event handler continues to request more events. Closes #12424.

2010-11-22 02:22 VZ, revision 66228

Silently ignore timer events from timers which were just stopped. An assert in wxTimerWndProc() could be provoked by valid user code which simply started and stopped the timers quickly enough because a WM_TIMER could have been already generated just before we stopped the timer. Simply ignore events from unknown timer under assumption that they must come from the recently stopped ones instead of asserting. Ideally we'd somehow distinguish between the situation described above and the really bogus events which could indicate bugs in wx code or a change in behaviour in a future version of Windows but there is no easy way to do it so for now just settle for not asserting in normal case. Closes #10052.

2010-11-22 02:22 VZ, revision 66227

Refactor wxStatusBar creation in wxMSW to do it in standard way. Use wxControl-provided CreateControl() and MSWCreateControl() methods to create the status bar instead of duplicating their code in its Create(). Also translate wx styles to MSW ones in overridden MSWGetStyle() now. In addition to making the code smaller and more clear, this fixes the non-respect of the styles specified at status bar creation (e.g. border), see #12655.

2010-11-22 02:22 VZ, revision 66226

Derive wxStatusBar from wxControl and not wxWindow. wxStatusBar is no less a control than wxToolBar and deriving it from wxControl gives access to convenient native control creation functions under MSW (which will be used by the next commit).

2010-11-22 02:22 VZ, revision 66225

Use status full, not client, size to determine frame client size in wxMSW. We need to account for the full size of status bar, including potential borders, when calculating the client size of the frame containing it. Closes #12697.

2010-11-22 02:22 VZ, revision 66224

Send page changed event after changing the page in wxMSW wxNotebook. Update the currently selected page before generating wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED event in wxMSW wxNotebook. This is more consistent with other ports and more logical as "-ED" events are supposed to be sent after the action they notify about is completed. And it also allows to set the focus in this event handler whereas any attempts to do it would have been disregarded before as changing the active page resets focus. Notice that this does introduce an incompatibility: calling wxNotebook::GetSelection() from PAGE_CHANGED event handler now returns the new page and not the old one as before. Again, this is more logical and more consistent. Closes #12688.

2010-11-22 02:22 VZ, revision 66223

Use correct wxDEBUG_LEVEL value when building wxscintilla library. wxScintilla code uses wxVector<> which brings in wxDEBUG_LEVEL-dependent code so we must use the wxDEBUG_LEVEL value consistent with the rest of the library when building it. Simply pass wxDEBUG_LEVEL definition on the compiler command line if it's different from the default. Closes #12626.

2010-11-22 02:22 VZ, revision 66222

Always define WXUSINGDLL when compiling Scintilla in shared wx build. We need WXUSINGDLL even in monolithic build because Scintilla references wx debugging functions (wxOnAssert(), wxTheAssertHandler &c) which still must be seen as being exported from the (monolithic) DLL in this case. See #12626.

2010-11-21 14:00 VZ, revision 66221

Correct wxFont::GetFamily() unit test to test for wxFONTFAMILY_DEFAULT. GetFamily() returns wxFONTFAMILY_DEFAULT and not wxFONTFAMILY_UNKNOWN since r65670. Correct the test to handle wxFONTFAMILY_DEFAULT as allowed value.

2010-11-21 14:00 VZ, revision 66220

Revert r66070: "Unload bogus XRC resources in "garbage" unit test." This change is not needed any longer after r66219 which fixed the real underlying problem, i.e. that attempting to load an invalid XRC file resulted in failures when loading all subsequent XRC files.

2010-11-21 00:53 VZ, revision 66219

Don't keep entries for XRC resources that failed to load in wxXmlResource. Attempting to load a resource that couldn't be loaded resulted in wxXmlResource::Load() returning false for this and _all_the_subsequent_ calls to it because each call to Load() reattempted to reload all resources, including the one(s) that failed to load initially. Instead, try to load just the resource(s) that we should load right now and ignore all the other ones. Also, don't add entries for the one(s) that we fail to load. This fixes the unit test failures in the XRC test case which was affected by the test checking that XRC couldn't be loaded from garbage that ran before it. It also makes the code simpler by ensuring that wxXmlResourceDataRecords elements always have a valid wxXmlDocument associated with them. Also clean up the code: use wxScopedPtr instead of manually deleting pointers and reorganize #if checks to be easier to follow.

2010-11-21 00:53 VZ, revision 66218

Don't consider extra ".." an error in wxFileName::Normalize(). The path being normalized could have come from user and there doesn't seem to be any point in complaining about too many ".."s in it when we can handle them correctly instead. So simply ignore the extra ".."s for the absolute paths and keep them unchanged for the relative ones instead of returning an error. See #10960.

2010-11-20 12:58 JMS, revision 66217

Reworked wxSystemColourProperty::StringToValue() to use wxColour::Set() instead of doing string-to-colour conversion by itself. This adds support for HTML-colours, among other things (closes #12696).

2010-11-19 08:57 RD, revision 66210

Fix some bad parameter names, add missing methods, add missing classes, etc.

2010-11-19 08:51 RD, revision 66209

Add a SetSize to wxSizeEvent

2010-11-18 15:10 VZ, revision 66205

Improve documentation about handling C++ exceptions in wx programs. Try to explain the different exception handling strategies more clearly in the overview and also update OnUnhandledException() documentation.

2010-11-18 13:41 VZ, revision 66203

Check wxDateTime components validity more rigorously. Check that the provided day is strictly positive and also that the month is in valid range: while it should always be, considering that it's an enum element, in practice people often cast ints to wxDateTime::Month with potentially fatal results. Catch this with an assert in wxDateTime::Tm::IsValid().

2010-11-18 13:41 VZ, revision 66202

Explicitly include "wx/dynlib.h" from src/msw/combobox.cpp. This header was only included implicitly via wx/msw/uxtheme.h and thus the code failed to compile with wxUSE_UXTHEME==0 but wxUSE_DYNLIB_CLASS==1. See #12664.

2010-11-17 06:57 PC, revision 66180

remove const from by-value return type, it's useless

2010-11-17 02:22 VZ, revision 66179

Remove obsolete warning from wxMenuBar::GetTitle() documentation. This method can be used for menu bar entries also since the previous commit. Do mention that SetTitle() can't be used to change a menu bar menu title however.

2010-11-17 02:20 VZ, revision 66178

Simplify wxMSW wxMenuBar title management. Store the titles of the menu bar menus in the menu objects themselves. This makes wxMenu::GetTitle() return the expected result for them (which also fixes the current unit test failures for wxMSW) and makes wxMenuBar code simpler. This removes the wxMenuInfo class which existed for XTI purposes only but as it was apparently unfinished and MSW-specific it shouldn't be a big loss.

2010-11-17 02:20 VZ, revision 66177

No real changes, just minor cleanup of wxImage code. Make more local variables const. Use consistent spacing. Don't use needless comparison with NULL. Don't avoid not using double negation. See #12682.

2010-11-17 02:20 VZ, revision 66176

Don't pass a bool to wxImage::MakeEmptyClone() which takes an enum. Correct the changes of r66167 which accidentally left a call to MakeEmptyClone() using its previous signature. See #12682.

2010-11-16 23:38 VZ, revision 66175

Correct form of mnemonics returned by wxGTK wxMenu::GetTitle(). wxMenu::GetTitle() returned a string in GTK+ format (i.e. using underscores instead of ampersands) instead of the expected wx one. This is, of course, the right thing to do and it also fixes wxMenuBar::FindMenuItem() as a side effect. Closes #12672.

2010-11-16 23:38 VZ, revision 66174

Emphasize that wxUSE_DYNLIB_CLASS shouldn't be disabled in wxMSW. Mention in the setup.h comment that wxDynamicLibrary is used in a lot of places internally and disabling it can result in a loss of a lot of important functionality. See #12664.

2010-11-16 23:38 VZ, revision 66173

Add more checks for wxUSE_DYNLIB_CLASS to wxMSW. Compilation fixes for wxApp and wxComboBox for wxUSE_DYNLIB_CLASS==0. See #12664.

2010-11-16 23:38 VZ, revision 66172

Correct checks for wxUSE_PRINTING_ARCHITECTURE and wxUSE_ENH_METAFILE. Compilation fixes for building without one or both of these symbols. See #12664.

2010-11-16 23:38 VZ, revision 66171

Avoid asserts due to not overriding OnGetItemText() in VirtListCtrlTestCase. A virtual list control must override wxListCtrl::OnGetItemText() method and wxMSW native implementation asserts if this is not the case (the generic one should arguably do it as well). Avoid the asserts by providing a dummy implementation of OnGetItemText() in the unit test.

2010-11-16 23:38 VZ, revision 66170

Add an explicit SetFocus() call to fix wxTreeCtrl unit test. Fixing the implicit focus grabbing by wxTreeCtrl::SelectItem() in r65905 broke its unit test case as the simulated key event was not delivered to wxTreeCtrl itself any more. Fix this by simply setting the focus to the tree explicitly before sending it any key strokes.

2010-11-16 23:38 VZ, revision 66169

Correct wxMSW wxToolTip behaviour for wxRadioBox items tooltips. The assert added in r66053 checking that we couldn't have tooltips for child windows if we didn't have the tooltip for the main one turned out to be wrong, at least in wxRadioBox case it's perfectly possible to have the tooltips for the individual radio buttons without having one for the box itself. Replace the assert with a simple if check. This fixes a unit test failure in RadioBoxTestCase.

2010-11-16 23:38 VZ, revision 66168

Don't use some "recent" C++98 features not supported by VC6. Don't return void values nor redeclare the same variable in for loops to fix VC6 compilation.

2010-11-16 23:37 VZ, revision 66167

No changes, just refactor common code in wxImage cloning functions. Extract code common to several wxImage methods creating new images based on an existing one in a new MakeEmptyClone() method. Closes #12682.

2010-11-16 23:37 VZ, revision 66166

Fix crashes in wxDateTime::ParseDate() for some invalid dates. Parsing an incomplete date with nothing but whitespace and/or date delimiter characters at the end crashed as we happily went beyond the end of string. Fix this by not using a loop which didn't check for the iterator validity. Closes #12685.

2010-11-15 09:52 JJ, revision 66161

Update OpenVMS makefile

2010-11-15 01:22 VZ, revision 66157

VC6 compilation fix in wxDIB::Create(). Deal with the lack of scope around variables declared inside the for loop in this compiler, previously it gave "error C2360: initialization of 'x' is skipped by 'case' label" message and also complained about redefinition of 'x'.

2010-11-15 01:11 VZ, revision 66156

Fix incorrect use of word "alternative" in the documentation. There can't be only one alternative. Closes #12681.

2010-11-14 15:04 VZ, revision 66153

Restore code for closing inherited file descriptors in the child. The code closing all file descriptors inherited from the parent in the child process created by wxExecute() was removed in r57324 by mistake (probably due the fact that its meaning was poorly explained) but we still do need to do this, of course, to avoid descriptor "leaks" (e.g. the parent couldn't really close any of them). Restore the code for closing all unneeded file descriptors in the child in slightly modified form and add a comment pointing to an URL explaining how to do it better in the future. Closes #12636.

2010-11-14 15:04 VZ, revision 66152

Fix spurious errors when writing to the child process stdin under Unix. Since the child pipe was made non-blocking in r65993, it became possible to write to child process without deadlocking when the pipe became full. However this still resulted in an error from wxFileOutputStream as it didn't handle EAGAIN returned from write() any differently than any other error, even though it is an expected situation in this particular case. Change Unix wxExecute() to use wxPipeOutputStream which ignores EAGAIN unlike wxFileOutputStream to fix this. See #12636.

2010-11-14 15:04 VZ, revision 66151

No real changes, just reamed HAS_PIPE_INPUT_STREAM. Renamed the symbol indicating whether pipe-based streams are available from HAS_PIPE_INPUT_STREAM to HAS_PIPE_STREAMS as it's not really input-specific. See #12636.

2010-11-14 13:09 VZ, revision 66150

Add wxFile::{Get,Clear}LastError() functions. Remember the errno of the last file operation instead of just remembering whether there was an error or not. See #12636.

2010-11-14 13:09 VZ, revision 66149

Handle image hot spot in wxImage::Rotate180(). Set the hot spot coordinates correctly for the image returned from Rotate180(), just as it's already done by Rotate90(). Closes #12680.

2010-11-14 02:02 VZ, revision 66146

Add wxImage::Rotate180() function. Closes #12679.

2010-11-14 02:02 VZ, revision 66145

Handle hot spots in wxImage::Rotate90(). Set hot spot coordinates for the rotated image if the original one had them. Also handle the case when the source image has both alpha and mask correctly. Closes #3680.

2010-11-13 18:13 VZ, revision 66144

Don't use standard menu ids in the unit test to avoid Mac problems. wxOSX rearranges the standard menu items such as wxID_EXIT and wxID_ABOUT and, for the former, changes its text to "Quit", so don't use them in the menu unit test which expects to find the items in the menus to which they were added and exactly with the labels used when adding them.

2010-11-13 16:03 VZ, revision 66143

Don't put cursor at the end of wxGridCellEnumEditor control. Putting the cursor to the end of the control when the editing starts doesn't make much sense as this should be the default behaviour anyhow and, worse, this results in an assert under wxMSW where a read-only wxComboBox doesn't have any cursor to move. Closes #12446.

2010-11-13 16:03 VZ, revision 66142

Initialize scrollbar positions in wxGTK correctly. The scrollbar positions stored in wxWindow::m_scrollPos were not initially correct in wxGTK because wxScrollHelper::SetScrollbars() didn't update them and only set the values of the underlying GtkAdjustments themselves. This resulted in filtering out of the first scroll event as the code (wrongly) believed that the scrollbar position hadn't changed. Fix this by setting m_scrollPos to the real scrollbar positions. Closes #12468.

2010-11-13 16:03 VZ, revision 66141

Add a unit test checking selection updating in virtual wxListCtrl. Verify that the selection is updated correctly after the number of items in the control is decreased. See #12378.

2010-11-13 16:03 VZ, revision 66140

Don't assert if config file contains an invalid boolean value. Asserts should be only triggered by programming errors, not by user actions, and the assert checking that the value is either 0 or 1 in wxConfigBase::DoReadBool() could happen if the user edited the file and put a wrong value into it. Replace the assert with a warning message. See #11437.

2010-11-13 16:03 VZ, revision 66139

Add a beginning of wxMenu unit test. Test wxMenu and wxMenuBar item search and counting functions. See #12672.

2010-11-13 16:02 VZ, revision 66138

Make menu operations always work with "Test" menu in the sample. Some tests in the "Menu" menu of the menu sample worked with the "Test" menu while others used the last one ("Help" initially but possibly something else if the test commands from "Menubar" menu were used). Harmonize all menu commands to use the "Test" menu now. See #12668.

2010-11-13 16:02 VZ, revision 66137

Fix resizing of wxGrid columns when they were reordered. The column resizing code in wxGrid didn't take account of the fact that the column positions and indices could be different. Correct it by inserting calls to wxGrid::GetColAt() and GetColPos() in a new wxGridOperations::GetLineBefore() method. Closes #11984.

2010-11-12 08:15 JJ, revision 66124

Update SETUP for OpenVMS

2010-11-11 16:51 MW, revision 66121

Use wxFS_SEEKABLE flag loading images.

2010-11-11 13:09 VZ, revision 66120

Improve check for ASCII locale in wxGTK initialization code. Use wxFontMapper::GetEncodingFromName() to check if the current locale encoding is ASCII instead of just comparing the name with "US-ASCII" which is not the name used by most platforms (e.g. current Linux systems call this encoding "ANSI_X3.4-1968"). This avoid creating a wxCSConv object for ASCII encoding unnecessarily on startup.

2010-11-11 13:09 VZ, revision 66119

Initialize wxCSConv immediately instead of deferring it. Deferred initialization code was not MT-safe and just wasn't that useful anyhow because it is rare to create a wxCSConv object and not use it afterwards. Remove the deferred initialization logic and create the real conversion used by wxCSConv immediately in its ctor. Also improve the comments by clearly explaining the possible values of wxCSConv::m_name and m_encoding. Closes #12630.

2010-11-11 13:09 VZ, revision 66118

Fix typo in error message given if wxUSE_CAIRO is undefined. Replaced the wrongly copy-and-pasted wxUSE_BUTTON with wxUSE_CAIRO.

2010-11-11 05:09 RD, revision 66117

No docs yet, just the bare interace so we can get XML for Phoenix.

2010-11-11 02:29 RD, revision 66116

Fix a parameter type and add some missing const keywords

2010-11-10 14:53 VZ, revision 66103

Disable unit tests which can't work in ANSI build. Disable unit tests involving operations (such as conversions between UTF and anything but plain ASCII) not available in ANSI build. This fixes the test suite for non-Unicode build under Unix.

2010-11-10 14:53 VZ, revision 66102

Use wxString::To8BitData() instead of mb_str() to handle NULs correctly. In ANSI build wxString::mb_str() returns a pointer to the internal wxString data directly instead of a buffer with a proper length, so it provides access to the part of the string before the first embedded NUL only. Use To8BitData() which always returns the buffer of the correct size in all builds. The open question remains whether mb_str() should be changed to return a (non owned) buffer and not just a pointer in ANSI build. This would make manipulating strings with embedded NULs safer but mb_str() would be less efficient and less compatible.

2010-11-10 14:53 VZ, revision 66101

Fix wxString::{Before,After}{First,Last} unit test for ANSI build. The test used a wide character constant and so didn't work in ANSI build. Use an ASCII string there now while still keeping the original version in Unicode build.

2010-11-10 14:53 VZ, revision 66100

Don't check for wxDF_UNICODETEXT support in ANSI builds. wxDF_UNICODETEXT clipboard format can't be even constructed without provoking an assert in ANSI build of wxGTK, so avoid using it, we don't support it anyhow.

2010-11-10 14:53 VZ, revision 66099

Initialize paragraph descent in wxRichTextParagraph::Layout(). This variable was used as the initial value for the descent but was never initialized, so the descent computation could be completely wrong.

2010-11-10 14:53 VZ, revision 66098

Don't crash in wxGUIEventLoop::Exit() if not running in wxX11. The implementation of wxEventLoop::IsRunning() has changed since this code was written and it doesn't check for m_impl != NULL any more. Because of this, calling Exit() for an active but not running event loop resulted in a crash in wxX11. Fix this by doing nothing in this case. This seems better than asserting as the event handling code exits the loop if an event handler throws an exception and the loop might not be running in this case yet (events could be processed because of a wxYield() call).

2010-11-10 14:53 VZ, revision 66097

Implement bitmap mask copying in wxX11. Copy the mask pixmap properly in wxX11, otherwise copying masks resulted in freeing the same pixmap twice and an X error. This fixes the bitmap unit test for wxX11.

2010-11-10 14:52 VZ, revision 66096

Don't test for DC validity in wxX11 wxDC text extent functions. The code in GetTextExtent() and GetChar{Width,Height}() works fine even for non-initialized wxMemoryDC and the ellipsization unit test relies on this working so simply remove the asserts which resulted in the test failures.

2010-11-10 14:52 VZ, revision 66095

Disable measuring context unit test for wxX11. wxCairoRenderer::CreateMeasuringContext() is only implemented for wxGTK so the test fails under other ports when using Cairo. Disable it for wxX11 for now.

2010-11-10 14:52 VZ, revision 66094

Use Cairo for wxGraphicsContext in wxX11. Check for Cairo in configure for wxX11 too. Fix compilation of wxCairoContext for non-{GTK,MSW} platforms. Also make wxUSE_CAIRO a "normal" option, i.e. add it to all wx/setup.h files instead of defining it as 1 unconditionally for wxGTK and 0 for everything else.

2010-11-10 14:52 VZ, revision 66093

Disable unit test for wxColour alpha under wxX11. wxX11 doesn't support alpha component of wxColour currently.

2010-11-10 14:52 VZ, revision 66092

Fix signed/unsigned comparison warnings in wxUniv wxNotebook. Recent replacement of size_t wxNotebook::m_selection with int wxBookCtrlBase::m_selection resulted in appearance of many warnings in wxUniv wxNotebook. Fix them by removing some now unnecessary casts between int and size_t and adjusting the remaining ones.

2010-11-10 14:52 VZ, revision 66091

Add #if checks fixing minimal wxGTK build. Check for functions availability before using them. This fixes compilation of wxGTK with all features disabled.

2010-11-10 14:52 VZ, revision 66090

Fix harmless unused parameter warnings in minimal build. No real changes, just add some wxUnusedVar() to avoid warnings about parameters unused in some non-default build configurations.

2010-11-10 14:52 VZ, revision 66089

Don't exclude a bunch of wxDir methods when wxUSE_LONGLONG==0. The #endif part of a #if wxUSE_LONGLONG check was incorrectly positioned and excluded the definition of several wxDir methods not related to wxLongLong when wxUSE_LONGLONG was 0.

2010-11-10 14:52 VZ, revision 66088

Fix wxGLCanvas compilation with wxUSE_PALETTE==0. This fixes compilation problems with the minimal build of wxGTK and will make removing palette support in the future simpler.

2010-11-10 14:51 VZ, revision 66087

Fix wxStandardDialogLayoutAdapter compilation with wxUSE_BUTTON==0. This class probably should not be compiled in at all in the minimal build but in the meanwhile just add #if checks around its button-related parts.

2010-11-10 14:51 VZ, revision 66086

Make wxBitmap::ConvertToDisabled() available in all ports. This method was defined in wxBitmapBase which is not used by wxMSW (and wxOS2) so it wasn't available there. Move the definition of the method inline and reuse it for all ports, making it part of either wxBitmapBase or wxBitmap as appropriate. This is clearly ugly but we still have no good solution for deriving wxBitmap from wxBitmapBase in wxMSW as it already inherits from MSW-specific wxGDIImage there. Also document that ConvertToDisabled() is only available when wxUSE_IMAGE==1.

2010-11-10 01:36 VZ, revision 66082

Disconnect "hide" menu signal to fix menu destruction in wxGTK. The "hide" signal handler was triggered when destroying a sub-menu (even if it was not shown at this time). Disconnect it to avoid asserts due to attempts to generate an event for an already detached menu and to avoid the (bogus) wxEVT_MENU_CLOSE event as well. Closes #12668.

2010-11-10 01:36 VZ, revision 66081

Add a test for deleting a sub-menu to the menu sample. Also fix some typos in the help message. See #12668.

2010-11-10 01:36 VZ, revision 66080

Fix wxUSE_DC_CACHEING spelling in the documentation. It was consistently misspelt as wxUSE_DC_CACHE. Closes #12377.

2010-11-10 01:36 VZ, revision 66079

No changes, just simplify docview sample a bit. Remove some unnecessary function arguments and m_frame member variable. Closes #12374.

2010-11-10 01:36 VZ, revision 66078

Correct wxID_SEPARATOR description in menu documentation. Also correct a typo in Delete() function links. Closes #12666.

2010-11-10 00:53 VZ, revision 66077

Fix preprocessor definitions for wxBase build under OS X. Define __WXOSX__ for non-GUI build under Darwin. Ensure that the rest of the code compiles correctly when just __WXOSX__ is defined but neither of __WXOSX_{CARBON,COCOA,IPHONE}__ is. This ensures that wxBase can actually be built under Mac. Move OS X symbols definitions in wx/platform.h after wx/setup.h inclusion as they rely on __DARWIN__ and wxUSE_GUI values which are both define in that file now. Still keep them before wx/chkconf.h inclusion which relies on __WXOSX_XXX__ being defined. Yes, it's a mess and should be cleaned up more permanently some day. Also remove some redundancy from wx/osx/{carbon,cocoa}/private.h by factoring out common parts into wx/osx/core/private.h. Also include this header itself from wx/osx/private.h directly instead of including it thrice from different sub-ports headers. Closes #12660.

2010-11-10 00:53 VZ, revision 66076

Fix timeval struct initialization in wxSelectDispatcher. The tv_usec field could overflow its maximal value while tv_sec was always left 0. It would be even better to reuse SetTimeValFromMS() from socket.cpp here in the future. See #11542.

2010-11-10 00:53 VZ, revision 66075

Fix crash in wxCFEventLoop::AddSourceForFD(). Don't reset CFFileDescriptorRef before passing it to CFFileDescriptorCreateRunLoopSource(), this resulted in a crash inside this function. Closes #11542.

2010-11-10 00:53 VZ, revision 66074

Remove non-existent functions declarations from wxOSX/Carbon. wxMacSetupConverters() and wxMacCleanupConverters() don't seem to exist any more so don't declare them.

2010-11-08 17:28 VZ, revision 66071

Document wxRenameFile() behaviour when destination is a directory. Document that the source file is moved to the destination if it's a directory, apparently this is not obvious.

2010-11-08 17:28 VZ, revision 66070

Unload bogus XRC resources in "garbage" unit test. Leaving invalid XRC entries in wxXmlResource internal list of loaded resources resulted in failures in the XRC unit test which executed after this one. It seems that loading an invalid resource shouldn't prevent the other ones from loading correctly later and this probably should be corrected at wxXmlResource level but for now work around this problem in the test itself.

2010-11-08 14:50 VZ, revision 66069

Fix crash in XRC ID range support code. Really fix removing the record from the linked list. This code was modified by r66064 but was still wrong because the wrong pointer was updated.

2010-11-07 23:13 VZ, revision 66066

Compilation fix for STL build after ID range changes in XRC. Fix compilation of the new code which relied on implicit conversion of wxString to "const char *" which is unavailable when wxUSE_STL==1.

2010-11-07 20:34 VZ, revision 66065

Factor our hash function used for XRC ids hash map. Define the hash function in a separate function instead of duplicating it in XRCID_Lookup() and RemoveXRCIDEntry(). The hash function is extremely simplistic and inefficient right now, it should be replaced with wxStringHash::stringHash().

2010-11-07 20:33 VZ, revision 66064

Fix memory leak of XRC ids introduced by the ID range support patch. Fix bug in linked list processing in RemoveXRCIDEntry() added in r66059: it incorrectly overwrote the XRC id table entry with the next element in the list instead of just updating the pointer used during iteration.

2010-11-07 20:33 VZ, revision 66063

Reformat long lines in the new part of the xrc sample. No changes, just break the too long lines.

2010-11-07 20:33 VZ, revision 66062

Use Connect() of Bind() in the new part of xrc sample. Use Connect() for compatibility (notably with VC6 which doesn't support Bind()). Also connect the event handlers on loading the dialog instead of waiting until the relevant page is selected, this makes the code slightly simpler as we don't need to remember whether we connected them or not any longer.

2010-11-07 20:33 VZ, revision 66061

Test both ChangeSelection() and SetSelection() in notebook sample. Test wxBookCtrl::SetSelection() too to be able to check that it does generate events as expected.

2010-11-07 20:33 VZ, revision 66060

Don't require skipping "page changed" event in wxMSW wxNotebook. wxMSW wxNotebook implementation used to handle EVT_NOTEBOOK_PAGE_CHANGED event to update the currently shown page which meant that page changing was broken if the user code handled and didn't skip this event. As the other ports don't require the user code to skip this event, don't do this in wxMSW neither and always update the selected page unconditionally.

2010-11-07 15:00 VZ, revision 66059

Add support for id ranges to XRC. Allow to declare ranges of consecutive IDs in XRC by using the "id[n]" syntax. Show this functionality in the xrc sample and test it in the new unit test. Also show and test the "object reference" XRC functionality. Closes #11431.

2010-11-07 15:00 VZ, revision 66058

Make wxXmlResource::ReportError() wxXmlNode parameter const. This function (and the related DoReportError()) doesn't need to modify its "context" argument so take a const-pointer in it. See #11431.

2010-11-07 15:00 VZ, revision 66057

Mention the GUI test in the unit test tech note. Update the tech note to mention the (relatively) new GUI test program too. See #11431.

2010-11-07 15:00 VZ, revision 66056

Update and reorganize XRC overview to make it more useful. Emphasize the parts most useful for the new users instead of more advanced concepts and generally make the text more readable. Closes #12661.

2010-11-07 14:44 PJC, revision 66055

Add support for toggle buttons to wxRibbonButtonBar.

2010-11-07 14:16 VZ, revision 66054

Fix build with Borland C++ compiler. Disable some parts of the code that this compiler had problems with. Add parentheses to work around its bugs elsewhere. Closes #12558.

2010-11-07 14:12 VZ, revision 66053

Update all windows associated with the tooltip when it changes in wxMSW. Although the tooltip was initially correctly set for all windows associated with it, it was only updated for the main one if its text changed later. This resulted in leaving the old tooltip for the composite controls such as wxComboBox or controls with sub-windows such as wxRadioBox. Fix this by storing all windows associated with the tooltip (for space efficiency, only allocate the array if necessary however as it will be empty in the majority of cases) and apply SetTip() to all of them, not just the main one. Closes #12659.

2010-11-07 12:54 SC, revision 66052

disable code because of OS bug, fixes #12478, fixes #12554

2010-11-07 00:46 PJC, revision 66051

Improve behaviour of scrolling through a ribbon gallery.

2010-11-06 16:48 SC, revision 66048

routing the tab, return events for single line fields back to standard wx handler (doesn't work for secure fields unfortunately), fixes #12386 and partly #12392

2010-11-06 16:37 SC, revision 66047

implementing turning off of default button as well

2010-11-05 22:43 VZ, revision 66043

Minor cosmetic fix to generic check tools appearance in wxOSX. Use rounded rectangle to indicate the selected tool instead of a plain one. Closes #12409.

2010-11-05 22:43 VZ, revision 66042

Fix check toolbar items behaviour in non-native toolbars in wxOSX. Update the button state when the tool is toggled. Also use NSToggleButton for this tool and not NSOnOffButton as the latter doesn't use the alternative (toggled) image. Closes #12408.

2010-11-05 22:43 VZ, revision 66041

Avoid using wx GDI classes from non-main thread in wxOSX/Cocoa. OS X uses a background thread for pulsing the default button and we intercept the draw requests from it. As our drawing code is not MT-safe, executing it from the non-main thread can result in crashes. Avoid this by simply not doing anything fancy when called from a background thread and simply deferring to the superclass instead. Closes #12407.

2010-11-05 22:43 VZ, revision 66040

Really update tooltip when wxToolBar::SetShortHelp() is called. Changing a toolbar tool tooltip didn't work in wxOSX/Cocoa because the new value was never propagated to the native control. See #12362.

2010-11-05 22:43 VZ, revision 66039

Remove trailing comma from an enum. Comma after last enum element is not allowed in C++98 and some compilers will warn about it. Closes #12591.

2010-11-05 22:42 VZ, revision 66038

Show the first, not the last, inserted item in wxListBox in wxOSX. The listbox showed its last, not first, item after creation in wxOSX which was inconsistent with the other ports and generally inconvenient. Fix this by ensuring that the first item being inserted is shown, and not the last one as was (implicitly) the case before. A better fix would be to avoid scrolling entirely but I don't know how to do this with NSClipView. Closes #12365.

2010-11-05 22:42 VZ, revision 66037

Use CGFloat instead of float for mouse wheel event parameters. This fixes mouse wheel handling in 64 bits where CGFloat has size different from float. Closes #12168.

2010-11-05 22:41 VZ, revision 66036

Fix showing the frames full screen under OS X. Don't leave space for the title bar when showing the frame full screen. Closes #11701.

2010-11-05 22:40 VZ, revision 66034

Improve default position for new TLWs in wxOSX. Put the new windows in the upper left corner of the screen but not at (0, 0) as before, this was rather inconvenient and too different from the normal application behaviour under OS X. Closes #11926.

2010-11-05 22:40 VZ, revision 66033

Ensure that strings returned by wxMBConv_cf are in NFC form. Normalize all Unicode strings used internally even though the Darwin kernel gives them to us in decomposed (NFD) form. Closes #11730.

2010-11-05 22:39 VZ, revision 66032

Remove duplicate wxEVT_COMMAND_TEXT_ENTER generation from wxOSX/Cocoa. The code in -[wxNSTextField control:textView:doCommandBySelector:] generated a second copy of this event as it was also generated from wxNSTextFieldControl::controlAction() for single line text controls. Closes #11691.

2010-11-05 22:39 VZ, revision 66031

Don't update scrollbars when the window is being destroyed in wxOSX. Updating scrollbars for a window that is being destroyed anyhow is useless and resulted in crashes in the htlbox sample because it used client-to-screen coordinates conversion which asserted because the TLW was invalid any more and this unexpected assert during window destruction led to a crash. Simply don't do it at all to avoid the problem. Closes #11776.

2010-11-05 22:39 VZ, revision 66030

Fix crash in wxColour ctor from NSColor in wxOSX/Cocoa. wxColour ctor from NSColor added by Kevin Ollivier in r62525 never worked as it passed NULL pointer to NSColor:getComponents and so always crashed. This resulted in a crash in the rich text editor of the text sample, for example. Fix this by passing a valid array containing colour components instead.

2010-11-05 22:38 VZ, revision 66029

Remove unnecessary wxOSX_USE_COCOA guards in Cocoa-only file. The #if wxOSX_USE_COCOA seems unnecessary in a file that is used in wxOSX/Cocoa only so simply remove it.

2010-11-05 22:38 VZ, revision 66028

Assume sizeof(wchar_t) is always 4 under OS X. wchar_t used to be 2 bytes in Mach-O builds but they're not supported any longer so remove the code checking for sizeof(wchar_t) and just assume it's always 4. Closes #10442.

2010-11-05 22:37 VZ, revision 66027

Add another test for the insertion point position after SetValue(). Verify that setting the value of a previously not empty control resets the insertion point to its beginning. See #10051.

2010-11-05 22:37 VZ, revision 66026

Disable keyboard unit test with wxUIActionSimulator under OS X. The test doesn't work because the test window never get any events. This might be a bug in the test or in wxUIActionSimulator itself but for now I just have no idea about how to fix it, so disable the test to let the rest of the test suite run.

2010-11-05 17:05 CE, revision 66022

add execmon to CE exclude (no console)

2010-11-05 16:45 CE, revision 66021

missing namespace

2010-11-05 16:24 CE, revision 66019

missing namespace

2010-11-05 13:53 VZ, revision 66018

Remove test code accidentally committed as part of r66015. Don't call wxMenuItem::Set{Background,Text}Colour() in the menu sample, this was for testing only.

2010-11-05 07:55 JJ, revision 66017

Update OpenVMS makefiles

2010-11-04 17:13 VZ, revision 66016

Correct a trivial typo in wxLog documentation. Just remove an extra word.

2010-11-04 11:57 VZ, revision 66015

Use explicit menu item background if it's given under MSW. An explicit item background colour specified in user code should override the default theme background. Closes #12652.

2010-11-04 11:57 VZ, revision 66014

No changes, just use RAII-based classes in MSW owner drawn menu code. Add helper HDC{TextCol,BgCol,BgMode}Changer classes which ensure that the corresponding HDC attribute is reset on scope exit instead of manually calling the corresponding MSW functions to set and reset it.

2010-11-04 11:49 VZ, revision 66013

Pas long to _get_timezone() even for VC8. Apparently the MSDN documentation for VC8 is wrong and _get_timezone() function expects a long and not int when using it (as is already the case with VC9 and VC10). Closes #12653.

2010-11-04 08:38 JJ, revision 66012

Updating makefiles for OpenVMS

2010-11-04 00:48 VZ, revision 66009

Remove unused mouse event handler from dataview sample. The mouse event handler for the frame was never executed because the frame is entirely covered by other windows in this sample. Not sure what was meant here but this handler is useless so just remove it.

2010-11-04 00:48 VZ, revision 66008

Remove unnecessary tests for m_log from dataview sample. The sample contained a lot of unnecessary checks for m_log, remove them to make the code shorter and simpler to understand.

2010-11-03 17:36 VZ, revision 66007

Add wxAuiPaneInfo::IsDockable(). This function checks if the pane can be docked at any side. It is useful in its own right but most importantly is needed to fix compilation broken in r66005 which used it before it was added. See #12648.

2010-11-03 17:29 VZ, revision 66006

Set column field of wxDVC ITEM_{ACTIVATED,CONTEXT_MENU} events. Add missing calls to wxDataViewEvent::SetColumn() and SetDataViewColumn(). In the future it would be nice to refactor the code to have a common event object initialization function that would make it impossible to forget to do this. Closes #12649.

2010-11-03 17:29 VZ, revision 66005

Don't dock undockable panes in wxAuiManager::LoadPerspective(). All panes were docked when loading a perspective, including those that were created to be non-dockable. Don't dock the latter ones now. Closes #12648.

2010-11-03 17:29 VZ, revision 66004

Optimize wxDataViewMainWindow::FindNode() in generic wxDataViewCtrl. Avoid unnecessary heap allocations and extra indirections and just use the items pointers directly. Also avoid copying the (potentially huge) nodes arrays. Closes #12647.

2010-11-03 17:29 VZ, revision 66003

Don't copy potentially big arrays in generic wxDataViewCtrl. Use reference to hold the array of nodes instead of copying it. (Really) closes #12587.

2010-11-03 17:29 VZ, revision 66002

Handle wxLOCALE_DECIMAL_POINT in wxLOCALE_CAT_MONEY correctly in wxMSW. Use LOCALE_SMONDECIMALSEP and not LOCALE_SDECIMAL when querying for the decimal separator in money category, it can be different from the usual numeric one.

2010-11-03 17:29 VZ, revision 66001

Support wxLOCALE_THOUSANDS_SEP in wxMSW wxLocale::GetInfo(). Simply use ::GetLocaleInfo(LOCALE_STHOUSAND) for it. Closes #12643.

2010-11-03 15:44 JJ, revision 66000

replace m_nSelection by m_selection

2010-11-03 09:54 JJ, revision 65999

Update OpenVMS compile support

2010-11-02 23:55 VS, revision 65997

Fix compilation error in wxImplicitConversionType<> in gcc strict mode.

2010-11-02 12:57 VZ, revision 65994

Use _get_timezone() function instead of _timezone with MSVC8+. While some (but not all) versions of VC8 CRT still define _timezone variable, it is deprecated and shouldn't be used and referencing it can result in linking problems if it pulls in static CRT. Just use _get_timezone() function instead for the VC versions that support it (as was already done in r54417 for VC8 in 2.8 branch). Closes #4691.

2010-11-02 12:57 VZ, revision 65993

Make write end of the child process pipe non-blocking under Unix. We need to make at least one end of the pipe used to communicate with wxExecute() child process non-blocking to avoid deadlocks, so unblock the write end of the pipe. It seems to be unnecessary to unblock the reading ends of std{out,err} pipes as we can already check for the presence of input there. This is also consistent with wxMSW behaviour. Closes #12636.

2010-11-02 12:57 VZ, revision 65992

Refactor: extract code to make an fd non-clocking into a function. Simply extract part of the code from evtloopunix.cpp into a reusable wxPipe::MakeNonBlocking() function to be able to reuse it elsewhere. See #12636.

2010-11-02 12:57 VZ, revision 65991

Don't scroll the grid too much to bring selection in view. wxGrid scrolled completely to the right in row selection mode as it was always trying to make the bottom right selection corner visible. This was due to adjusting the selection block corner to cover the entire row in this mode (of course, the same was true for the column selection mode too). Don't do this any more as it's unnecessary, making the real selection block corner visible is enough for the block selection mode and nothing else is needed in row/column modes. See #12638.

2010-11-02 12:57 VZ, revision 65990

Changed wxImage::ConvertAlphaToMask() return type to bool. Make this function more useful by returning true from it if alpha channel was really converted to the mask by it. Closes #12637.

2010-11-02 12:57 VZ, revision 65989

Avoid crash when releasing the mouse in wxRibbonToolBar. The active tool pointer can be changed/set to NULL by the event handler in wxRibbonToolBar::OnMouseUp() so test for it before using it after processing the event. Closes #12640.

2010-11-02 04:09 RD, revision 65987

Add some asserts to ensure cols and rows are >= 0 to avoid crashes

2010-11-02 04:07 RD, revision 65986

Fix return types on wxRect::Inflate and Deflate

2010-11-01 18:01 PMO, revision 65974

More wxRadioBox implementation

2010-11-01 18:00 PMO, revision 65973

Improved naming for internal functions

2010-11-01 13:30 PMO, revision 65971

Update to trunk r65969

2010-11-01 12:58 JJ, revision 65970

Create work-around for wxGetEnvMap on OpenVMS (correction)

2010-11-01 10:48 JJ, revision 65969

Create work-around for wxGetEnvMap on OpenVMS

2010-10-31 14:41 VZ, revision 65968

Make wxMBConv_iconv MT-safe by not using wxString in it. Use just "char *" for wxMBConv_iconv::m_name to avoid MT-safety problems related to using a wxString (which is not always MT-safe) from multiple threads. See #12630.

2010-10-31 14:33 VZ, revision 65967

Avoid events when implicitly selecting first wxBookCtrl page. The first page added to a wxBookCtrlBase-derived control is always selected, even if "bSelect" argument of AddPage() was false. This is necessary because a non-empty book control must always have a selection but the "selection changed" event generated when doing it is unexpected. Fix this by not generating any events when the first page is implicitly selected. Closes #12075.

2010-10-31 12:37 VZ, revision 65966

Reposition wxSpinCtrl correctly after reparenting it in wxMSW. The position of wxSpinCtrl after reparenting was wrong because we didn't remember the old position early enough. There also was a more minor bug which resulted in the position not being set correctly if (any of its components) was -1 before reparenting. Closes #12633.

2010-10-31 12:37 VZ, revision 65965

Destroy correct HWND in wxMSW wxSpinCtrl::Reparent(). NULL HWND was passed to ::DestroyWindow() as wxWindow::UnsubclassWin() NULLed it after unsubclassing. See #12633.

2010-10-31 01:51 VZ, revision 65964

Document wxMessageQueueError. Document the enum defining the error codes of wxMessageQueue<> class. Closes #12634.

2010-10-31 01:51 VZ, revision 65963

wxUniv/MSW compilation fix in wxWindowBase::GetDlgUnitBase(). This wxWindowBase method can't access protected m_font member of another wxWindow object -- but can access it in wxWindowBase object. Closes #12358.

2010-10-31 01:51 VZ, revision 65962

No changes, just use AutoHBITMAP instead of manual DeleteObject() in wxMSW. Use RAII AutoHBITMAP class instead of manually calling DeleteObject() on temporary bitmaps in wxMSW wxImageList and wxBitmap code.

2010-10-31 01:51 VZ, revision 65961

Fix conversion of bitmaps with alpha to icons/cursors in wxMSW. CreateIconIndirect() applies pre-multiplication to the bitmap itself (as can be seen by experimenting with this or reading WINE sources for it) and so we must pass it a bitmap with data in non-pre-multiplied format to avoid doing it twice. This is similar to the change to wxImageList in the previous commit, see #9050.

2010-10-31 01:50 VZ, revision 65960

Add bitmaps in non-premultiplied format to wxImageList in wxMSW. ImageList_Draw() applies pre-multiplication to the bitmap itself (as can be seen by experimenting with this or reading WINE sources for it) and so the image list must store bitmaps with data in non-pre-multiplied format to avoid doing it twice. Do it by converting wxBitmaps passed to wxImageList::Add() and Replace() to wxImage and then to non-pre-multiplied DIBs. This is obviously very inefficient but at least results in correct appearance of images drawn by wxImageList so it's a step forward. Closes #9050.

2010-10-31 01:50 VZ, revision 65959

Allow creating DIBs storing pixels in non-premultiplied format in wxMSW. wxDIB assumed that MSW always uses bitmaps in pre-multiplied pixel format but this turns out to be wrong: some Windows functions such as ImageList_Draw() or CreateIconIndirect() apply pre-multiplication internally and so must be given data in non-pre-multiplied format on input. This commit adds a possibility to create wxDIB in such format but doesn't use it anywhere yet, this will be done in subsequent commits. See #9050.

2010-10-31 01:50 VZ, revision 65958

Make it impossible to initialize AutoHBITMAP after construction. Add default ctor and Init() method to wxMSW private AutoHBITMAP class. This doesn't change anything for now but will be used by an upcoming commit.

2010-10-31 01:50 VZ, revision 65957

Fix fatal bug in wxGetWindowFromHWND() for radio buttons. wxGetWindowFromHWND() could crash if it was called for a HWND of a radio button which was not created by wxWidgets because it blindly dereferenced the user data associated with the button expecting it to be a pointer to wxRadioBox and crashed if it was something different. And this actually happened when using the standard Windows printing dialog which can contain radio buttons which obviously used their user data field for their own purposes. Fix this by maintaining a global hash map with radio buttons HWNDs as keys and radio boxes as values. This ensures that we can always safely check whether the given HWND is a radio button in one of our radio boxes or not. Also change wxSpinCtrl which already did something similar in a different way (using an array instead or a more efficient hash map) for consistency. Closes #12083.

2010-10-31 01:50 VZ, revision 65956

Restore the old logger in wxLogChain dtor instead of deleting it. wxLogChain was leaving the global log target pointing to a deleted object, resulting in crashes when using wxLogWindow without any explicit SetActiveTarget() calls. Restore the original logger as the active target in wxLogChain dtor to ensure that the active log target remains valid.

2010-10-31 01:50 VZ, revision 65955

Fix confusion with LOGFONT{A,W} parameters to MSW GetTheme[Sys]Font(). Change the signature of GetThemeFont() and GetThemeSysFont() methods of wxUxThemeEngine to take an artificial wxUxThemeFont::Ptr type instead of LOGFONT which allows the broken code to compile correctly and even work in Unicode builds but crashed in ANSI ones under Windows Vista/7 as these functions expect a LOGFONTW and not LOGFONTA even in non-Unicode build under these systems. This generalizes the previous fix/workaround for the same problem in wxStaticBox so remove it now and use wxUxThemeFont both there and in wxMenuItem to avoid crashes when using owner-drawn menus in ANSI build. Closes #12364.

2010-10-31 01:50 VZ, revision 65954

No real changes, just cleanup of wxMSW MenuDrawData. Derive MenuDrawData::Margins from Windows MARGINS struct to avoid ugly (and potentially dangerous) reinterpret_cast<>s when using it. Also add some helper functions to Margins to make using it less painful.

2010-10-30 21:01 VZ, revision 65953

Use TAbs in debian/rules, not spaces, as it's a makefile. Fix make syntax error in debian/rules. Closes #12631.

2010-10-30 21:01 VZ, revision 65952

Fix order of arguments in wxOSX/Carbon wxListCtrl::ScrollList(). wxMacDataBrowserTableViewControl::SetScrollPosition() takes "top" and "left" arguments so swap "dx" and "dy" parameters being passed to it. It might be better to fix SetScrollPosition() to follow the more natural (at least from wx point of view) convention and as it's used in only a few places this wouldn't be difficult to do. But let's keep the changes to this code to the minimum for now. Closes #12339.

2010-10-30 17:57 VS, revision 65951

For large dataview controls, don't use all items to calculate best column width. Instead, use just top and bottom N/2 items for some large enough value of N. N is determined dynamically so that column best width calculation doesn't take more than 50ms.

2010-10-30 17:57 VS, revision 65950

Add wxDataViewRendererBase::PrepareForItem() helper. For calling SetValue() and SetAttr() consistently, instead of having the same code duplicated all over the place.

2010-10-30 17:57 VS, revision 65949

Account for text attrs in generic wxDataViewCtrl's renderers. When determining cell content's size, GetSize() measured the text using wxDataViewCtrl's font, even though it could be renderer in bold or italics. Corrected by setting the attributes - and not only the value - prior to GetSize() calls, and by using the right font in GetTextExtent() calls.

2010-10-30 17:57 VS, revision 65948

Add optional columns autosizing to wxDataViewCtrl. Only implemented in the generic and GTK+ versions at the moment, OS X support will be added later.

2010-10-30 17:57 VS, revision 65947

Add wxRenderer::GetHeaderButtonMargin(). Used for best size calculations of column width.

2010-10-28 18:41 PC, revision 65945

fix iconize event detection, logical operators don't work for testing bits

2010-10-28 16:23 VZ, revision 65944

Use floating point arithmetic in wxDC::GradientFillConcentric(). Use doubles to avoid accumulated rounding errors from using integers in the generic implementation of wxDC::GradientFillConcentric(). This results in smoother gradient. Also avoid using the expensive pow() function inside the inner loop when we just need to calculate a square. Closes #12337.

2010-10-28 16:23 VZ, revision 65943

Fix generic implementation of wxDC::GradientFillConcentric(). The selected colour was not used as the code simply changed the value of m_pen but didn't call SetPen() to actually use it. This resulted in always using the default (black) colour when drawing concentric gradients. Fix this by calling SetPen(). See #12337.

2010-10-28 16:23 VZ, revision 65942

Relax validation of wxCheckBox flags. Changes of r65824 resulted in asserts when creating wxCheckBox with just wxBORDER_NONE style. This is useless but used to be harmless so continue to allow this. Closes #12628.

2010-10-28 15:52 VZ, revision 65941

Improve positioning of wxSlider min/max labels in wxMSW. Put the min/max labels on the sides or a horizontal slider or above/below a vertical one to make them visually more distinct from the current value label. See #11427.

2010-10-28 12:27 VZ, revision 65940

wxOSX/Carbon compilation fix after wxListBoxBase changes. Making wxListBoxBase::CalcAndSendEvent() broke wxOSX/Carbon build, fix it by making the class which needs to call it friend of wxListBox in this port.

2010-10-28 12:27 VZ, revision 65939

Don't crash when waiting for thread termination in wxMSW. The changes of r65882 adding wxThread::On{Delete,Kill}() introduced a bug which made normal wxThread::Wait() crash. Fix it by calling OnDelete() only if we're really deleting a thread. Closed #12627, see #9046.

2010-10-28 01:22 VZ, revision 65938

Fix list box unit test under wxGTK. Select an item initially to prevent GTK from doing it automatically as soon as the listbox is clicked anywhere (even outside of the items area). This makes all GUI tests finally pass under wxGTK.

2010-10-28 01:22 VZ, revision 65937

No changes, just use wxGtkObject<> instead of g_object_unref(). Use smart pointer class instead of manually writing g_object_unref(). This makes code shorter and less error-prone.

2010-10-28 01:22 VZ, revision 65936

Don't duplicate event sending code in wxGTK wxListBox. Reuse wxListBoxBase::SetEvent() instead of duplicating its code in wxGTK. Also get rid of the code checking for selection of the item with index -1: this can't happen any more since r65865 which changed GTK_SELECTION_SINGLE to GTK_SELECTION_BROWSE.

2010-10-28 01:21 VZ, revision 65935

Don't send SELECTED events for an already selected item in wxGTK wxListBox. Bring wxGTK in line with wxMSW behaviour and avoid sending the wxEVT_COMMAND_LISTBOX_SELECTED events when the user clicks on an already selected item. Refactor wxMSW code to extract the logic to avoid such events into a reusable in other ports wxListBoxBase::DoChangeSingleSelection() function. Also add wxListBox::GTKOnSelectionChanged() to wxGTK to avoid having to make the new function public just so that it could be called by GTK callback and make the previously existing CalcAndSendEvent() protected as well. This fixes a unit test failure in ListBoxTestCase::ClickEvents() under wxGTK.

2010-10-27 23:41 VZ, revision 65934

wxOSX compilation fix: remove just added extra semicolon. r65931 forgot to remove a now extra semicolon from wx/osx/notebook.h, fix it.

2010-10-27 22:23 VZ, revision 65933

Fix warnings about signed/unsigned comparisons inside wxMax() and friends. wxMax, wxMin and wxClip work correctly when called with a mix of signed and unsigned arguments but give warnings about comparing them when compiled with g++. Cast both arguments to the result type, which is defined consistently with standard C rules for implicit promotion, before comparing them to avoid this. Also add more tests to check that using these functions in this case doesn't provoke warnings.

2010-10-27 21:42 RR, revision 65932

Use window-state-event to send ICONIZE events under GTK+, probably fixes #10973: Iconize event triggered when switching workspaces with Ctrl+Alt+[Arrow Key]

2010-10-27 18:54 VZ, revision 65931

Refactor: use wxBookCtrlBase::m_selection in all derived classes. All book control classes with the exception of wxGTK wxNotebook stored the currently selected page in m_selection or m_nSelection (or, in wxUniv wxNotebook case, m_sel) variable. Remove all of them and add m_selection directly to the base class itself so that it can be reused everywhere. Closes #12622.

2010-10-27 18:54 VZ, revision 65930

No real changes, just replace -1 with wxNOT_FOUND in wxBookCtrl code. Make the code consistently use wxNOT_FOUND instead of -1 everywhere. See #12622.

2010-10-26 17:11 VZ, revision 65929

Don't dispatch messages while waiting in worker thread in wxMSW. We only want to continue dispatching messages while waiting for another thread to terminate if we are waiting in the main thread. Closes #12618.

2010-10-26 17:11 VZ, revision 65928

Compilation fix for wxUSE_UNICODE_WCHAR && !wxUSE_STL_BASED_WXSTRING. Construct wxScopedWCharBuffer using CreateNonOwned() in wxString::ToStdWstring() in this case, creating it directly from wc_str() doesn't work (intentionally, as this doesn't tell if the buffer owns the string or not).

2010-10-26 17:10 VZ, revision 65927

Better document wxAutomationObject::GetDispatchPtr() return value. This function returns IDispatch pointer as a void one, mention that the user code needs to upcast it itself. Closes #12617.

2010-10-26 17:10 VZ, revision 65926

Rebake to add wx/meta/implicitconversion.h to the makefiles. Rebake after the addition of a new public header in r65920. Closes #12616.

2010-10-25 23:52 VZ, revision 65924

Mention that resource forks are deprecated under Mac in wxCursor docs. See #12614.

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.