Version 3.1.2

Version 3.1.2 is a maintenance release that incorporates a couple of bug fixes. See the ChangeLog file in the package for a detailed list. User visible changes and improvements are listed below.


  • Fixed a race condition leading to occasional Squish IDE crashes when removing a test suite.
  • Fix a crash in screenshot comparison with masks if the image is smaller than the mask.
  • More robust breakpoints in Python scripts located via SQUISH_SCRIPT_DIR.
  • Improved function overload resolution of Perl and JavaScript bindings. Prefer a normal type conversion over a "tolerant" one.
  • Support NULL pointer passing from Perl scripts.
  • Don't crash when using an invalid report output format.
  • Fix compile problems with Python 2.5.
  • Added a "Copy Real Name" option to the Spy.
  • Improved algorithm that is used to detect whether a file is binary or text. French accents and Umlauts won't confuse it anymore.
  • Mac OS only: if you add an application path or add an attachable AUT via the test suite settings dialog, then show the last modal dialog in front.


  • Fix over-aggressive mouse move event compression so that recording multiple subsequent moves of a dialog window gets played back properly.
  • Fix setting breakpoints and using the spy with Qt 3.3.8 on Windows.
  • Fixed Q3ListBox interaction crash.
  • Wrap Q3ComboBox which appeared in Qt 4.1
  • Support Qt builds that have QWheelEvent disabled.


  • Support for Java testing on the Mac.
  • Keyboard mapping fixes for both SWT and AWT/Swing.
  • Replaying 'typeText()' fix in AWT/Swing, it simply called 'setText()'.
  • Fix replaying menu selection when menu bar is a derived JMenuBar class.
  • Filter out 'typeText()' on widgets not having the focus AWT/Swing.
  • Menu selections and combobox selections are now recorded on the mouse button release event for AWT/Swing.
  • Jvm crash workaround when calling 'toString()' on some SWT widgets.


  • Fix for hooking into pages which automatically redirect.
  • Fixed hang in unload handling.
  • Made isPageLoaded more robust.
  • Fixed occasions where picking objects hung.
  • Added dedicated support for Kiwi_TreeTable.
  • Fixed error handling.
  • Fixed recording selectOption() when the option text contains special characters.


  • Generate better names for randomly-named TkInter widgets.
  • Sanity check that allows recording on statically linked Tk apps.
  • Fixed hooking for TkInter Python applications.