Changelogs

Overview

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

Changes per page:

25 50 100 250 500 1000 2000

Changelog for wxWidgets (70435 changes):

2013-07-06 13:59 VZ, revision 74406

Make TOOLKIT variable constant in MSW makefiles. This fixes duplicate lines defining rules for generic files for more than one port in the makefiles. Closes #14979.

2013-07-06 02:28 VZ, revision 74405

Fix potential buffer overflow in wxSTC DefaultFont() function. Use safe(r) wxStrlcpy() instead of strcpy() to copy the font name. Closes #15296.

2013-07-06 02:27 VZ, revision 74404

Fix test for Windows in the new wxExecute() unit test. TestOverlappedSyncExecute() doesn't currently pass under Windows and was supposed to not be executed there but was, in console test, as __WXMSW__ is not defined in this case, only __WINDOWS__ is (as there is no GUI toolkit in the console applications). See #10258.

2013-07-05 19:12 JS, revision 74363

Caret blink time and blink on/off are now also reflected in GTK+ widgets

2013-07-05 19:11 JS, revision 74362

Caret blink time and blink on/off are now also reflected in GTK+ widgets

2013-07-05 18:26 JS, revision 74361

Use wxRTC text colour if possible for caret

2013-07-05 18:25 JS, revision 74360

Use wxRTC text colour if possible for caret

2013-07-05 15:33 JS, revision 74359

Don't flash wxRTC caret if blink time is zero, and also take colour from window text colour to avoid invisibility.

2013-07-05 15:32 JS, revision 74358

Don't flash wxRTC caret if blink time is zero, and also take colour from window text colour to avoid invisibility.

2013-07-04 00:18 VZ, revision 74357

Prevent duplicate menu event processing in MDI windows. Record the object propagating the given event upwards in the event object itself and use it in wxMDIParentFrame to determine whether the event being handled is already coming from wxMDIChildFrame and avoid sending it back for processing it there again in this case. This is ugly and makes wx event processing even more complex but this is the only way I could find to ensure that (a) Both the child and the parent frames get the events from the toolbar (even though the toolbar parent is the parent frame and hence normally the child wouldn't get notified about them at all and so the forwarding at wxMDIParentFrame level is required to make this work). (b) The child gets the event only once, whether it comes from a toolbar (and hence indirectly via the parent frame) or from the child menu (and hence directly to the child, at least in wxMSW). This commit fixes the event propagation unit test case, at least under MSW and GTK. See #14314.

2013-07-04 00:18 VZ, revision 74356

Test handling of events from the toolbar in an MDI parent frame. These events must be received by the currently active child.

2013-07-04 00:17 VZ, revision 74355

Ensure that the MDI child is active in event propagation test. Call wxMDIChildFrame::Activate() explicitly as the behaviour was different under MSW (where the activation happened too late for the test) and GTK where the child did become active because of the hacks in place to ensure it.

2013-07-03 13:03 VZ, revision 74354

Make AsyncExecLoopExitEnum enum in the wxExecute() test public. This fixes VC6 build as the nested class couldn't access a private enum inside the enclosing class.

2013-07-03 05:12 PC, revision 74353

fix wxCHECK_MSG() return value

2013-07-03 02:33 VZ, revision 74352

Don't ignore child process output if it exits with -1 exit code. While this code is used by us if the program couldn't be launched at all, it doesn't mean that it didn't run as -1 could also be returned by the child process to indicate an error after outputting something, so we should still read its output in this case. Closes #15205.

2013-07-03 02:32 VZ, revision 74351

Run wxExecute() unit test in the GUI test suite too. The same code works differently in console and GUI applications, so build this test case as part of both of them. See #10258.

2013-07-03 02:32 VZ, revision 74350

Rewrite wxExecute() implementation under Unix. This commit changes wxExecute() to handle SIGCHLD to be notified about the child process termination instead of detecting when the file descriptor corresponding to the other end of a pipe opened in the parent process was closed in the child as this was not reliable and could (and did) result in not detecting the termination of the child processes that closed all their file descriptors before exiting. This commit also removes a lot of platform-specific code duplicating the generic event loop sources support and reuses it for wxExecute() purposes too. Final big change is that wxEndProcessData was merged into wxExecuteData and we don't have two similar but quite different classes any more but just one, which is used both to pass the information from wxExecute() to wxAppTraits methods and to store this information until the child termination. Closes #10258.

2013-07-03 02:31 VZ, revision 74349

Add a helper wxApp::GetValidTraits() method. This method always returns some valid traits, even if we don't have wxTheApp (which is possible in the console applications) or if its GetTraits() was overridden to return NULL (which shouldn't be, but still guard against this).

2013-07-03 02:31 VZ, revision 74348

Treat G_IO_HUP as read, not error, event because EOF is not exceptional. When EOF is reached on a file descriptor, call the handler OnReadWaiting() because this is not really different from getting to the EOF while reading data in the same function. Only call OnExceptionWaiting() for the real errors. See #10258.

2013-07-03 02:31 VZ, revision 74347

Make Unix wxAppConsole signal handling more flexible. Instead of hardcoding the call to WakeUpIdle() in the signal handler itself, just wake up the event loop when we catch a signal. This will still result in WakeUpIdle() being called, before the next event loop iteration, but it will also allow us to do other things on wakeup from signal as it will be done in the upcoming wxExecute() changes to support wxEXEC_NOEVENTS in console applications. See #10258.

2013-07-03 02:30 VZ, revision 74346

Change wxWakeUpPipe to be a wxEventLoopSourceHandler. No real changes but use wxEventLoopSource::AddSourceForFD() instead of wxFDIODispatcher::RegisterFD() for this pipe because this is the preferred way and because it will allow reusing this class for wxExecute() purposes later. See #10258.

2013-07-03 02:30 VZ, revision 74345

Include wx/evtloop.h from wx/evtloopsrc.h. This is necessary to ensure that wxUSE_EVENTLOOP_SOURCE which wraps the entire contents of this header is defined if it's included directly and not after already including wx/evtloop.h. See #10258.

2013-07-03 02:29 VZ, revision 74344

Include <fcntl.h> from a header using fcntl(). No real changes, just make the header self-containing instead of relying on the file including it to include <fcntl.h> itself.

2013-07-03 02:29 VZ, revision 74343

Add wxStreamTempInputBuffer::ReadAll() helper. This just reads everything remaining in the stream in a blocking way and will be used to get the data remaining in the stream buffers after the child process had been already closed (and hence can't write any more to it and there is no risk of deadlock). See #10258.

2013-07-03 02:29 VZ, revision 74342

Use CFSocket instead of CFFileDescriptor in wxCFEventLoopSource. Use OS X socket APIs for monitoring file descriptors. They are more flexible than CFFileDescriptor functions and can be used with any descriptors, not necessarily the socket ones. See #10258.

2013-07-03 02:28 VZ, revision 74341

Make wxEventLoop::AddSourceForFD() static. Any event sources should be registered with all the event loops, including the ones that will be started in the future, and not only the current (and potentially not even existing yet) one. So make AddSourceForFD() method static. To still allow it to do different things in console and GUI applications, as it must, virtualize it via the new wxEventLoopSourcesManager class which has different implementations in the two cases, returned via wxAppTraits as usual. Notice that this required moving the implementation of this method from src/osx/core/evtloop_cf.cpp to src/osx/core/utilsexc_cf.cpp as the former file is base-only and didn't have access to wxGUIAppTraits. See #10258.

2013-07-03 02:28 VZ, revision 74340

Extract wxFDIOEventLoopSourceHandler in its own header. No real changes, this is just in preparation for the further refactoring. See #10258.

2013-07-03 02:27 VZ, revision 74339

Split wxWakeUpPipe class in MT-unsafe and MT-safe parts. This class can also be useful when it's used in the main thread only, so leave the lock-less part of the code in wxWakeUpPipe and derive a separate wxWakeUpPipeMT from it for the use in wxConsoleEventLoop where it can be used by multiple threads. See #10258.

2013-07-03 02:27 VZ, revision 74338

Extract PipeIOHandler class into a header and rename to wxWakeUpPipe. No real changes to the class, just make it possible to reuse it outside of Unix wxEventLoop code. See #10258.

2013-07-03 02:27 VZ, revision 74337

No changes, move wxStreamTempInputBuffer to a header file. Get rid of the surprising src/common/execcmn.cpp which had a .cpp extension but was supposed to be used as an included file only and move its contents to a new private header to make using wxStreamTempInputBuffer class simpler. See #10258.

2013-07-03 02:26 VZ, revision 74336

Extract wxPipeInputStream and wxPipeOutputStream in a header. No real changes, just put these classes in a private header. They're still not part of the public API but at least it will be easier to reuse them inside the library itself in the upcoming commits. See #10258.

2013-07-03 02:26 VZ, revision 74335

Add wxEventLoop::ScheduleExit(). This method allows to request exiting from the given event loop even if it's not the currently active one, unlike Exit() which would assert in this case. With it, it becomes possible to ask the loop to terminate as soon as possible even if a nested loop is currently running. See #10258.

2013-07-03 02:25 VZ, revision 74334

Use normal event loop in GUI test program. Don't create an event loop manually, let the port-specific code do it and run it as usual in the GUI unit tests. This has several advantages: - No need to manage the event loop manually in the test. - No need for Mac-specific code in the test itself. - Code being tested runs in the same context as in a normal GUI program, which is especially important for event-loop related tests under wxOSX as the main event loop is special there.

2013-07-03 02:25 VZ, revision 74333

Add wxEventLoopBase::DoRun(). Call it from public Run() after setting the loop as active and resetting m_shouldExit flag. No real changes, just cut down on the code duplication among the ports and make it easier to implement the upcoming changes. see #10258.

2013-07-03 02:24 VZ, revision 74332

Move wxEventLoopManual::m_shouldExit to wxEventLoopBase. No real changes, just make this flag available to the other event loop implementations as they will need it soon. See #10258.

2013-07-03 02:24 VZ, revision 74331

Add "OSX" prefix to wxCFEventLoop::DoRun() and DoStop() methods. Just rename these methods to avoid clashes with DoRun() that will be added to the base class soon, no real changes. This is done in preparation for improving nested event loops support, see #10258.

2013-07-03 02:24 VZ, revision 74330

Add wxTimer::StartOnce(). This is a simple wrapper for wxTimer::Start(timeout, wxTIMER_ONE_SHOT) but is often more readable and is definitely better than Start(timeout, true) which many people still use in spite of wxTIMER_ONE_SHOT existence.

2013-07-02 22:24 VZ, revision 74329

Better fix for duplicate wxContextMenuEvent generation under MSW. Fix the bug with multiple wxContextMenuEvent being generated for a single WM_CONTEXTMENU without breaking context menus for wxTextCtrl (and all the other native controls). Do this by ensuring that WM_CONTEXTMENU is still passed to DefWindowProc() if we don't process it instead of just being eaten completely in any case. Also add a unit test checking for this bug to ensure it stays fixed. See #13683.

2013-07-02 22:23 VZ, revision 74328

Avoid forcing wxYield() after wxUIActionSimulator::MouseMove() in wxGTK. Yield (for input events only) inside this function itself instead of forcing all the code using this function to call wxYield() after it as otherwise the mouse position change is not taken into account by the subsequent simulated events.

2013-07-02 19:15 PC, revision 74327

chain up to parent in dispose handler

2013-07-02 19:09 PC, revision 74326

use correct signature for class init function

2013-07-02 18:56 PC, revision 74325

use existing helper to remove inconvenient additional reference added by gtk_tree_model_get()

2013-07-02 18:35 PC, revision 74324

remove unused function GTKSetItem()

2013-07-02 18:29 PC, revision 74323

preserve checkbox status in SetString()

2013-07-01 16:58 VZ, revision 74322

Don't append extension if it contains wildcards in wxGTK wxFileDialog. Restore the test for wildcards erroneously removed in r74307. Closes #15285.

2013-07-01 16:48 VZ, revision 74321

Optimize wxImage::Scale() by pre-calculating the values used. Precompute the values used by various resampling algorithms once instead of doing it for each pixel. This dramatically speeds them up: more than 3 times faster in wxImage benchmark with the small images and up to 5 times faster with larger images. Closes #15281.

2013-07-01 16:48 VZ, revision 74320

Add wxImage::Scale() benchmarks. Measure the time taken to rescale the image to a bigger or smaller size using normal or high quality. See #15281.

2013-07-01 16:47 VZ, revision 74319

Add benchmarks for wxImage methods. Build a GUI version of the benchmark program too and use it to benchmark wxImage loading methods for now (more will be added later).

2013-07-01 16:47 VZ, revision 74318

Add a unit test for wxImage::Scale() method. Check that resizing the test horse image produces the same results in the future as it does now, by saving the current results in files and verifying that images resized directly and loaded from these files are the same. See #15281.

2013-07-01 07:10 PC, revision 74317

Use gtk_list_store_insert_with_values() to set entry at same time item is inserted. This should ensure that the entry is always valid, removing the need for r74315. Also simplify DoInsertItems() by using DoInsertItemsInLoop().