summaryrefslogtreecommitdiffstats
path: root/src/gui
Commit message (Collapse)AuthorAgeFilesLines
* Corrected incorrect case.axis2010-01-121-1/+1
|
* Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/qt-s60-publicaxis2009-12-18288-4370/+6629
|\ | | | | | | | | | | Conflicts: configure src/gui/text/qfontdatabase_s60.cpp
| * Merge branch '4.6' of scm.dev.nokia.troll.no:qt/qt-s60-public into ↵Qt Continuous Integration System2009-12-171-2/+1
| |\ | | | | | | | | | | | | | | | | | | | | | 4.6-integration * '4.6' of scm.dev.nokia.troll.no:qt/qt-s60-public: WeatherInfo now shows Oslo info upon launch instead of blank screen Fixed QCoeFepInputContext::widgetDestroyed
| | * Fixed QCoeFepInputContext::widgetDestroyedMiikka Heikkinen2009-12-171-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | Calling SetFocus twice here was obsolete and caused intermittent panics. Replaced them with proper queueInputCapabilitiesChanged call. Task-number: QTBUG-6519 Reviewed-by: axis
| * | Merge branch '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into ↵Qt Continuous Integration System2009-12-171-12/+23
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.6-integration * '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-1: doc: Added discussion on connecting signals that have default arg values. Stack overflow when closing a Color panel in Cocoa.
| | * | Stack overflow when closing a Color panel in Cocoa.Prasanth Ullattil2009-12-171-12/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The QCocoaColorPanelDelegate was going into an infinite recrusion in this particular case. The patch guards the delegate from calling accept() or reject() more than once. Task-number: QTBUG-6636 Reviewed-by: Richard Moe Gustavsen
| * | | Merge remote branch 'staging/4.6' into 4.6Simon Hausmann2009-12-1713-44/+122
| |\ \ \ | | |/ /
| | * | Avoid timer starvation when handling many X11 eventsBradley T. Hughes2009-12-171-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After commit d0d0fdb8e46351b4ab8492de31e5363ef6662b57, timers are normally run at idle priority. This makes it possible for the X11 handler to starve timers indefinitely. Fix this by enforcing one normal priority pass of the timer source after we have processed all X11 events. This has the added benefit of keeping animation timers smooth and consistent, which is the intention of this change. Reviewed-by: Jens Bache-Wiig
| | * | Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/oslo-staging-1 into 4.6David Boddie2009-12-165-4/+22
| | |\ \
| | | * | Fixed wheel event delivery in graphicsview.Denis Dzyubenko2009-12-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We don't need to flip the y-coordinate of window- and view-local coordinates because they are flipped already. Reviewed-by: Prasanth
| | | * | Doc fix: mark QFileOpenEvent::url to be available since 4.6Denis Dzyubenko2009-12-161-1/+3
| | | | | | | | | | | | | | | | | | | | Reviewed-by: trustme
| | | * | Text cursor is not shown properly in line edits on Mac OS X.Prasanth Ullattil2009-12-163-2/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The mac stlye disables the blinking cursor when there is a selection in the line edit. The cursor is not shown back when this selection is removed (either by mouse or key press events). This patch watches the selection changed signal from the line control and updates the cursor status accordingly. Task-number: QTBUG-6378 Reviewed-by: Olivier Goffart
| | * | | Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/oslo-staging-1 into 4.6David Boddie2009-12-156-31/+89
| | |\ \ \ | | | |/ /
| | | * | Merge branch '4.5' into 4.6-stagingThiago Macieira2009-12-151-0/+4
| | | |\ \ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: mkspecs/macx-g++40/qplatformdefs.h
| | | | * | Fix crash in QFontDialog::getFont() on Mac 10.4Morten Johan Sørvig2009-12-101-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [NSFontManager setTarget] is not available on 10.4. Rev-by: Richard Moe Gustavsen
| | | | * | Fixed uninitialized background artifacts in QWidget::render.Donald Carr2009-12-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | backport of 64d38ba23b4acc46fdb9145f1953315573e3f8dc Reviewed-by: Anders Bakken<anders.bakken@nokia.com>
| | | | * | Fixed searching and copy/paste from PDF documents.axis2009-12-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously copy and paste from PDFs made by Qt would paste garbage into the target document, and searching was not possible. The bug happened because the internal buffer would open its data stream in truncate mode rather than append mode, thereby losing content, and producing a slightly corrupted PDF. Task: QTBUG-4912 Task: QTBUG-3661 RevBy: Trond Kjernåsen (cherry picked from commit f7ee0c9efcb6cb36a95f49bc998524e25480f8ba)
| | | | * | Fixed a potential crash in QDockWidgetThierry Bastian2009-12-011-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This happened when inserting the gap over a place holder item. Task-number: QTBUG-6107 Reviewed-by: Gabi
| | | | * | Fixed a crash in the GL engine when trying to draw invalid pixmaps.Trond Kjernåsen2009-11-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-6226 Reviewed-by: Eskil
| | | * | | Calling removeToolBar() on native Mac toolbars (Cocoa) causes crash.Prasanth Ullattil2009-12-151-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The hash and the list which stores the references are already cleared by the delegate function toolbarDidRemoveItem: There is no need to remove them manually after a call to [NSToolbar removeItemAtIndex]. Task-number: QTBUG-6200 Reviewed-by: Richard Moe Gustavsen
| | | * | | Allow the WM_TASKBARCREATED message through the UIPI filter on Windows Vista ↵miniak2009-12-151-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | and higher This is necessary to allow Windows Explorer send the WM_TASKBARCREATED message to a Qt application (to recreate its QSystemTrayIcon-s) even when it is running in a higher UIPI privilege level. Merge-request: 1626 Reviewed-by: Denis Dzyubenko <denis.dzyubenko@nokia.com> Reviewed-by: Prasanth Ullattil <prasanth.ullattil@nokia.com>
| | | * | | Optimisations to gesture event filtering.Denis Dzyubenko2009-12-153-28/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now we don't filter some events through the gesture manager and use QMap instead of QHash, which seem to be a bit faster in our cases. Reviewed-by: Olivier Goffart
| | * | | | Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/oslo-staging-1 into 4.6David Boddie2009-12-1432-331/+687
| | |\ \ \ \ | | | |/ / /
| | * | | | Doc: Fixed an image reference.David Boddie2009-12-141-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | Reviewed-by: Trust Me
| | * | | | Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/oslo-staging-1 into 4.6David Boddie2009-12-0820-89/+172
| | |\ \ \ \
| | * | | | | Doc: Fixed references to "old" 2.x and "new" 3.x font name conventions.David Boddie2009-12-071-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reviewed-by: Trust Me As-reported-by: Eskil
| * | | | | | Merge branch '4.6' of scm.dev.nokia.troll.no:qt/qt-s60-public into ↵Qt Continuous Integration System2009-12-1625-286/+423
| |\ \ \ \ \ \ | | | |_|_|_|/ | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.6-integration * '4.6' of scm.dev.nokia.troll.no:qt/qt-s60-public: (31 commits) Fixed qstylesheetstyle benchmark for Symbian Fixed qdiriterator benchmark for Symbian Fixed events benchmark postEvent function Fix for QTBUG-4908 SVG transparency rendering problem. Long informative texts causes messagebox to grow outside of screen area qreal-ization qreal-ization qreal-ization QS60Style: Remove layouts with mirrored information Fixed qgraphicsview autotest build for winscw. Enabled input method update code for all platforms. (ODBC) Fixes segfault when error string is larger than 256 chars. Fixed QGraphicsView benchmark for Symbian. FEP indicator shown in status pane when it should not Skipped the most memory intensive tests in QByteArray benchmark. qreal-ization qreal-ization QS60Style: Theme graphics for QSlider in 3.1 QS60Style: Groove changes caused build break of S60 3.1 Slow spinbox on N95 when using keys Up/Down ...
| | * | | | | Fix for QTBUG-4908 SVG transparency rendering problem.Jani Hautakangas2009-12-163-66/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QPixmap::copy discarded alpha channel. This fix also removes usage of member variables CFbsBitGc and CFbsBitmapDevice. Now those are used only in function scope. Reviewed-by: Sami Merila
| | * | | | | Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/qt-s60-public into 4.6Sami Merila2009-12-16403-8942/+14286
| | |\ \ \ \ \
| | | * \ \ \ \ Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/qt into 4.6-s60axis2009-12-1637-184/+393
| | | |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/s60installs/bwins/QtGuiu.def
| | | * | | | | | qreal-izationAleksandar Sasha Babic2009-12-158-23/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Using math wrapper functions instead direct call. This gives us top-level control to what (single/double) precision we are effectively using. Task-number: QTBUG-4894 Reviewed-by: janarve Reviewed-by: Kim Motoyoshi Kalland
| | | * | | | | | Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/qt-s60-public into 4.6Sami Merila2009-12-153-0/+6
| | | |\ \ \ \ \ \
| | | | * \ \ \ \ \ Merge branch 'mergeRequest-2149' into 4.6-s60axis2009-12-153-0/+6
| | | | |\ \ \ \ \ \
| | | | | * | | | | | Enabled input method update code for all platforms.axis2009-12-153-7/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These don't have to be platform specific. RevBy: Trust me
| | | | | * | | | | | Can't delete selected characters from FEP using backspace touch button.Tero Saarni2009-12-103-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When selection was deleted, the changes where not updated on virtual keyboard. Added new connection to notify when text has changed. Task-number: QTBUG-4847 Reviewed-by: Markku Luukkainen Merge-request: 2149 Signed-off-by: axis <qt-info@nokia.com>
| | | * | | | | | | | QS60Style: Remove layouts with mirrored informationSami Merila2009-12-152-32/+15
| | | |/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently QS60Style stores pixel metrics values (96 of them for each layout) in a static lookup table. There is one "line" for each screensize, orientation and layout direction (ten in total). This fix removes the layout direction specific "lines" as there are only two pixel metrics values that differ depending on direction. We can handle those two inside QS60Style::pixelMetrics() and thus remove half of the rows, and thus gain 16*96*5 ~ 8kB of RAM. Task-number: QTBUG-6803 Reviewed-by: Alessandro Portale
| | | * | | | | | | FEP indicator shown in status pane when it should notSami Merila2009-12-142-3/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | FEP indicator is shown in few cases in statusbar when it should not be. Case a) Application contains item view. QAbstractItemView is initialized as having WA_InputMethodEnabled on, irregardless of functionality of each separate cell. So we need to check the model for the itemview cell about to receive focus, is it editable. If it isn't then, we'll set the WA_InputMethodEnabled as false. This will fix the FEP indicators in a lot of cases: lists with cells, empty lists, combobox lists, ... Case b) Combobox also initializes itself with WA_InputMethodEnabled active. Even if the fix a) fixed the list inside combobox, the widget itself when receiving focus needs also fixing. If we check the editable flag of combobox when initializing the comment, we can set the flag off. Task-number: QTBUG-5705 Reviewed-by: axis
| | | * | | | | | | QS60Style: Theme graphics for QSlider in 3.1Sami Merila2009-12-111-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These were missed from previous fix. Reviewed-by: Alessandro Portale
| | | * | | | | | | Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/qt-s60-public into 4.6Sami Merila2009-12-112-12/+58
| | | |\ \ \ \ \ \ \
| | | | * | | | | | | Slow spinbox on N95 when using keys Up/DownAleksandar Sasha Babic2009-12-112-12/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the style demo, spinbox widget, we noticed that to go from 0 to 99 , with key Up, takes 35 seconds. This was too slow. It turned out that no acceleration has been implementd when using keyboard, although acceleration works when mouse used. We fixed this by using timer events, as it is the case for mouse events. We also needed to get what is the keyboard repat rate interval from system. This value is used to set timer intervals in more natural way. Task-number: QT-927 Reviewed-by: janarve
| | | * | | | | | | | QS60Style: Groove changes caused build break of S60 3.1Sami Merila2009-12-114-11/+36
| | | |/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3.1 does not have theme graphics IDs that we use in style, so it cannot be compiled in 3.1. As a fallback, 3.1 will use the previous method of drawing a slider. Reviewed-by: Alessandro Portale
| | | * | | | | | | QS60Style: Style does not support pressed state for slidersSami Merila2009-12-113-30/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently there is no visual clue that slider is "sunken" (pressed state). There is S60 theme graphic for it, so lets use it. Task-number: QTBUG-6722 Reviewed-by: Janne Koskinen
| | | * | | | | | | QS60Style: Slider groove is incorrectSami Merila2009-12-113-28/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Style uses just a line as slider groove, when S60 provides themed graphics for it as well. Task-number: QTBUG-6723 Reviewed-by: Janne Koskinen
| | | * | | | | | | Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/qt into 4.6-s60axis2009-12-1122-382/+410
| | | |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/s60installs/bwins/QtGuiu.def
| | | * | | | | | | | List item is not highlighted before navigating the listSami Merilä2009-12-101-1/+2
| | | | |/ / / / / / | | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QS60Style does not draw highlight for a list that user has not navigated in yet. Once user makes navigation attempt, highlight is drawn to correct index. This was due to that QS60Style only used State_Selected for deducing where highlight should be drawn to. Task-number: QTBUG-6357 Reviewed-by: Janne Anttila
| | | * | | | | | | Rewrote most of the regular pointer handling.axis2009-12-092-90/+94
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The old implementation had been hacked on for a while and needed cleanup. The new code is heavily based on looking at the behavior of other platforms. It also reuses more of the cross platform code, which improves the handling of Enter and Leave events. We also switched to letting Symbian grab the pointer automatically when pressing down the mouse button, which improves things considerably compared to doing it ourselves. Popups should also work a lot better after this fix, since they were not really handled at all in the old code. The old code had calls to set the Symbian cursor sprite. This code has been removed since that code is now being called from within dispatchEnterLeaveEvents(). In addition, there was code to check whether the up key event had been left out by the platform. This was solved a bit differently now, instead putting the code in the section that handles virtual mouse, since that is where the problem occurs. Task: QTBUG-4990 RevBy: Shane Kearns AutoTest: N/A, Platform specific code that an autotest cannot catch. Lots of manual testing was done on normal examples as well drag'n'drop examples and it seemed to work fine.
| | | * | | | | | | QS60Style: Do not let QCommonStyle draw PE_PanelScrollAreaCornerSami Merilä2009-12-091-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If QS60Style lets QCommonStyle to draw PE_PanelScrollAreaCorner, common style draws transparent small rect to the end of scrollbar. This is due to our style's palette's Base is Qt::Transparent. Error is only visible when two dialogs/windows are on top of each other and their background is such that a hole in the upper dialog's background will make the hole "visible" (i.e. background is not similar). As a fix, QS60Style should not let QCommonStyle draw the primitive, but instead handle itself (and do nothing with it). Task-number: QTBUG-6657 Reviewed-by: Alessandro Portale
| | | * | | | | | | Access to image needs to be protected in QS60PixmapDataMiikka Heikkinen2009-12-091-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The image can get corrupted if access to it is not properly surrounded with beginDataAccess and endDataAccess calls. Task-number: QTBUG-6050 Reviewed-by: Jani Hautakangas
| | * | | | | | | | Long informative texts causes messagebox to grow outside of screen areaSami Merila2009-12-161-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently if we launch QMessageBox::aboutQt(), the dialog grows too large to fit into any kind of device display. To fix this, we have added a QTextEdit instead of QLabel into QMessageBox. QTextEdit automatically adds scrollbars to its content, if the text won't fit into the designated area. This change causes error QTBUG-6853. This is due to that QTextEdit does not support activating external links. Task-number: QTBUG-3232 Reviewed-by: Alessandro Portale
| * | | | | | | | | Merge branch '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into ↵Qt Continuous Integration System2009-12-164-93/+96
| |\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.6-integration * '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-2: Fix moc generated code with dummy Q_PROPERTY Fix autotest which checks for sample buffers Fix EGL surface leaks when re-parenting QGLWidget on X11/EGL Add autotest for creating a QGLWidget with alpha channel Fix QGLWidgets created with an alpha channel on X11/EGL Add QT_DEBUG_X11_VISUAL_SELECTION to aid debugging X11/EGL Attempt at fixing compilation on Symbian. Got rid of unused variable compiler warning. Fix vertical text centering on Mac OS X Clicking on a selected item wouldn't reset the selection anymore.