summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Fixed a crash in QPixmap::fromImage() when passing in a null image.Trond Kjernåsen2009-11-161-0/+5
| | | | | Task-number: QTBUG-5840 Reviewed-by: Kim
* Made widgets not clear their contents after losing edit focus.axis2009-11-162-0/+8
| | | | | | | | | | | | | | | | | | | | | This is a behavior change from Qt 4.5. The motivation for the change is the following use case: A user types into a line or text edit, and gets interrupted by for example phone call or an SMS. This causes the active application to lose focus, which again causes edit focus to be lost. When resuming the application the focus gets set back, but the edit focus does not (nor should it). However, when the user types the next character, the line edit will erase *all* contents of the widget because it did not have edit focus. This is extremely destructive for a mobile phone user, especially since undo is not easily available. Another reason for doing that fix is that it seems that this is the mode of operation that most existing phones use. The fix is enabled for Symbian only at the moment, but will be followed by a patch for all platforms which will go into 4.7. Task: QTBUG-5698 RevBy: Jason Barron
* Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/qt-s60-public into ↵axis2009-11-163-21/+10
|\ | | | | | | 4.6-staging2
| * Define own palette for web-based widgets in QS60StyleSami Merilä2009-11-161-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | It makes no sense to use the S60-theme based palette in web based widgets. Web pages do not generally show theme background, but their own (or by default white) which clashes badly with WindowText and Text that are set to work with theme background. Therefore, QWebView and QGraphicsWebView need to be set their own palette for texts in theme palette hash. This improves visibility of text in webkit when QS60Style is active. Task-number: QTBUG-4885 Reviewed-by: Janne Koskinen
| * Remove fake right mouse button events from long tapShane Kearns2009-11-132-20/+1
| | | | | | | | | | | | | | | | | | | | | | The context menu is launched by a separate event, not by the right mouse button. Generating the fake right mouse button caused side effects. We now treat the touch screen as a one button mouse, long taps still open the context menu using QContextMenuEvent. Task-number: QTBUG-5180 Reviewed-by: axis
* | Merge branch 'upstream/4.6' into oslo-staging-2/4.6Olivier Goffart2009-11-162-0/+6
|\ \
| * \ Merge commit oslo-staging-2/4.6 into upstream/4.6Olivier Goffart2009-11-1665-863/+974
| |\ \
| * | | Install Qt declarative (if available) and QmlPatterns on S60Martin Jones2009-11-162-0/+6
| | | | | | | | | | | | | | | | Reviewed-by: Warwick Allison
| * | | Fix corelib def files for the new atomics implementationShane Kearns2009-11-132-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.6.0 has the wrong atomics implementation for symbian, as the team branch was not merged before the freeze. This updates the def files to match the implementation on the team branch so that it can be cherry-picked. Task-number: QTBUG-5752 Reviewed-by: Iain
| * | | Fix functions that return whether atomics are natives following review commentsShane Kearns2009-11-132-18/+76
| | | | | | | | | | | | | | | | Reviewed-By: Brad
| * | | Binary compatibility of Symbian ARMv5 and ARMv6 buildsShane Kearns2009-11-138-39/+586
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use ARMv6 atomics where available Use OS atomics otherwise Integrate ARMV6 atomics to Symbian builds Use compiler defined macros to detect if ARMv6 instructions are available This defines the QT_HAVE_ARMV6 macro, replacing the way it was defined by the Symbian build system previously in qpainting.pri. qatomic_symbian now uses qatomic_arm or qatomic_armv6 automatically Port armv6 atomics to implement generic atomics interface The inline atomics are not inlined when we build for thumb using RVCT. So there is no performance improvement of using the "inline" versions vs a shared version called through a function call. The generic atomics interface is good for binary compatibility, as the same symbols are exported in all versions now. Changed the fallback generic atomics implementation from the unix one to a symbian specific one using RFastLock (identical code to the windows generic atomics, except for RFastLock replaces Win32 CRITICAL_SECTION) Note: GCCE atomics still need porting Tell git to ignore .lst listing files (produced by sbs/abld listing) ARMv6 support for GCCE compiler and fallback implementation using OS When building corelib with GCCE and -march=armv6, QT_HAVE_ARMV6 will be defined. This patch adds copies of the asm functions in GCC syntax. When building for the Symbian emulator, or ARMv5, then Symbian OS atomic functions are used as a fallback - these are more efficient than the unix atomics, and don't require data import (which the ARMv5 atomics use, but the OS loader doesn't support fully) Symbian OS functions are always used for QBasicAtomicInt::ref / deref, because these are faster than the generic function in all cases. They are machine coded for ARMv6, and are used internally by RFastLock. Reviewed-By: axis Reviewed-By: Brad
| * | | Add the ARMv6 inline assembly code for compiling with RVCT.Thiago Macieira2009-11-131-0/+132
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is basically a copy & paste of the GCC inline assembly above, switched to the RVCT inline assembly model (which is actually easier to write and understand). I verified that this code compiles and assembles as expected. The output generated by RVCT is pretty much on the mark. However, I have not executed this code yet to see if it performs as expected. To be noted: - when expanding the inline template code, RVCT may be tempted to switch your entire function to ARM mode. Should we add __attribute__((noinline)) to prevent that? - There's no equivalent to GCC inline assembler's clobber, especially of "memory". Also, there's no "volatile" qualifier to the assembly. Does the compiler know it can't reorder the code? Does it know it shouldn't trust the value of the memory after this? My test indicates the code is fine... Reviewed-By: Shane Kearns
| * | | Reorganize the qatomic_armv6.h file to receive the RVCT inlineThiago Macieira2009-11-131-81/+90
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | assembly. Move the *Relaxed, *Acquire and *Release functions (which are simply forwarding calls to the *Ordered version) to the bottom of the file. Reviewed-By: Shane Kearns
* | | | Fix context sharing in QGLPixelBuffer for EGLRhys Weatherley2009-11-151-26/+39
| |/ / |/| | | | | | | | Reviewed-by: Sarah Smith
* | | Make isSharing() reset to false when context no longer sharingRhys Weatherley2009-11-152-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The documentation for QGLContext::isSharing() indicates that the function returns true only when the context is sharing. However, previously the sharing flag would stay on if the context was created as sharing but is no longer sharing. Task-number: QTBUG-5578 Reviewed-by: Sarah Smith
* | | Merge branch '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into 4.6Jan-Arve Sæther2009-11-132-9/+5
|\ \ \
| * | | Fixed a regression in mainwindow that would not restore correctlyThierry Bastian2009-11-131-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | The size of the dockwidgets would be ignored. Reviewed-by: ogoffart
| * | | Fixed stroking of cosmetic dashed pens with the GL2 paint engine.Kim Motoyoshi Kalland2009-11-131-6/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also fixed square caps which in some cases were extruded in the wrong direction. Task-number: QTBUG-5736 Reviewed-by: Trond
* | | | Remove warning. (Forgot to commit this together with my previous commits)Jan-Arve Sæther2009-11-131-1/+1
|/ / /
* | | Merge branch '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into 4.6Jan-Arve Sæther2009-11-133-6/+6
|\ \ \
| * | | QItemSelectionModel: fixed selection not kept when layout change and ↵Olivier Goffart2009-11-131-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | everything is selected The arbitrary number in commit 8a7700ffb5e4959e78 was not big enough. People still complains Task-number: QTBUG-5671 Reviewed-by: Thierry
| * | | Fixed stroking of discontinuous paths with the GL2 engine.Kim Motoyoshi Kalland2009-11-132-4/+3
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | Since the stroke is rendered as a triangle strip, zero area triangles must be inserted in order to have gaps in the stroke. This is achieved by duplicating vertices before and after each gap. It was already done for open subpaths. This commit fixes gaps between closed subpaths. Task-number: QTBUG-5736 Reviewed-by: Gunnar
* | | Merge branch 'fixes' of ↵Jan-Arve Sæther2009-11-134-368/+182
|\ \ \ | |/ / |/| | | | | git://gitorious.org/~fleury/qt/fleury-openbossa-clone into fleury-fixes
| * | QGAL: clean up size hint refresh codeCaio Marcelo de Oliveira Filho2009-11-122-65/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The code for refreshing size hints of items / user-created anchors now happens with a graph in full (not simplified). So we don't need to now how to refresh size hints for complex anchors. The code for refreshing complex anchors was used also to initialize the complex anchors (the '_helper' functions). Those were changed to calculateSizeHints() and refreshSizeHints() doesn't need to be virtual anymore. Signed-off-by: Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> Reviewed-by: Eduardo M. Fleury <eduardo.fleury@openbossa.org>
| * | QGAL: clean up interpolation codeCaio Marcelo de Oliveira Filho2009-11-122-95/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | Now the interpolation doesn't need to know how to traverse complex anchors, since when it runs, the graph is not simplified anymore. This commit removes unnecessary code for dealing with that. Signed-off-by: Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> Reviewed-by: Eduardo M. Fleury <eduardo.fleury@openbossa.org>
| * | QGAL: remove the caching of simplified graphCaio Marcelo de Oliveira Filho2009-11-123-72/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After discussion with Jan-Arve, we decided to remove for good the caching of simplified graph. This avoided recalculating the simplification (but not the simplex) in some situations. Since vertex simplification, this was temporarily disabled already. To know whether if we could the cached version or not, we needed to track individual anchors to see whether they reached size 0 or they were 0 and changed the size. This is because the vertex simplification depend on that fact. Now the simplified version of the graph exists only during the execution of calculateGraphs() function. This and next commits clear up the code to take advantage of that fact. Signed-off-by: Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> Reviewed-by: Eduardo M. Fleury <eduardo.fleury@openbossa.org>
| * | QGAL: fix update size hints logic in parallel anchorsCaio Marcelo de Oliveira Filho2009-11-121-6/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When filling sizeAt* values for parallel anchors, we have to identify the case when the second anchor in the parallel doesn't have the same direction as the parallel itself. However, relying on the parallel group vertices to identify this case is not safe, because after a parallel group a new vertex simplification can happen. So, the comparing the 'from' with the first edge is the correct way to verify whether the second is backwards. Code was fixed to follow that. Note that, without negative spacing the case "out-of-order" for parallels is only the trivial case (size == 0). Signed-off-by: Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> Reviewed-by: Eduardo M. Fleury <eduardo.fleury@openbossa.org>
| * | QGAL: Update code documentationEduardo M. Fleury2009-11-121-13/+26
| | | | | | | | | | | | | | | Signed-off-by: Eduardo M. Fleury <eduardo.fleury@openbossa.org> Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
| * | QGAL: Move size information from AnchorData to QGraphicsAnchorPrivateEduardo M. Fleury2009-11-123-108/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To solve the spacing persistency bug, this commit saves the preferredSize (spacing) information inside QGraphicsAnchorPrivate. The problem started when we could not rely on "AnchorData->prefSize" to keep the spacing information for user-defined anchors. This happens because that member can be overriden if the spacing is negative (anchor is inverted) or its sizePolicy is of type "Ignored" (it is overriden by minSize). Then, to decide where to store it, we aimed to make something similar to what happens with item-internal anchors. Those can rely on their items to get fresh information regarding their size, so we decided that user-anchors (that don't have items, but do have QGraphicsAnchors) could read such information from there. This refactory also reduced the deep indirection that existed in the "QGraphicsAnchor->setSpacing" call. Previously it would call internal layout methods to do some black magic, that's now gone. As the spacing information is now stored in the anchor itself, it can do pretty much all the work and, after that, just invalidate the layout. Also, moved information like "AnchorData->hasSize" to QGAnchor as its pretty much related to the preferredSize information itself. Signed-off-by: Eduardo M. Fleury <eduardo.fleury@openbossa.org> Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
| * | QGAL: Update header documentation in QGALPrivateEduardo M. Fleury2009-11-121-9/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As part of the refactoring of the setSpacing logic, we are encoraging the analogy between the references to QGraphicsLayoutItem and to QGraphicsAnchor, from the AnchorData point of view. It happens that leaf anchors (ie, those that were not created by the simplification) either represent an item or an user-created anchor. This means that they should fetch their size information either from a QGraphicsLayoutItem (member AnchorData->item) or from a QGraphicsAnchor (member AnchorData->graphicsAnchor). Thus, I'm organizing the header to make it more consistent to the new concept. Signed-off-by: Eduardo M. Fleury <eduardo.fleury@openbossa.org> Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
* | | Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/qt-s60-public into ↵axis2009-11-135-13/+25
|\ \ \ | | | | | | | | | | | | 4.6-staging2
| * | | Fixed maximized dialogs losing maximized status on orientation switchMiikka Heikkinen2009-11-131-7/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If maximized dialog had minimum size that didn't fully fit to the screen, it lost its maximized status when orientation was switched, because of the logic that assumed that if a window is resized, it must no longer be maximized. Skipped this assumption for cases where resize occurs because enforcement of the minimum size of the window. Task-number: QTBUG-4671 Reviewed-by: Janne Anttila Reviewed-by: Sami Merila
| * | | Highlighted text colour correction for s60styleJanne Koskinen2009-11-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changed s60style HighlightedText to pickup the correct colour from S60 themes. Task-number: QTBUG-5709 Reviewed-by: Sami Merila
| * | | Fix corelib def files for the new atomics implementationShane Kearns2009-11-122-4/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.6.0 has the wrong atomics implementation for symbian, as the team branch was not merged before the freeze. This updates the def files to match the implementation on the team branch so that it can be cherry-picked. Task-number: QTBUG-5752 Reviewed-by: Iain
| * | | Fix MWC warningShane Kearns2009-11-121-1/+1
| | | | | | | | | | | | | | | | Reviewed-by: Trust Me
* | | | Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/oslo-staging-2 into 4.6Gunnar Sletta2009-11-1366-364/+1335
|\ \ \ \
| * | | | Speed up QTextFormatCollection::indexForFormatJos van den Oever2009-11-132-21/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QTextFormatCollection currently has two problems: - looking for the index of a QTextFormat is linear, this can take 25% cpu when loading large documents in kword - the hash function for QTextFormat is inadequate. Not all values are treated specially. E.g. each QBrush instance has the same hash value at the moment. These patches speed up loading of a large text document in KWord from 9 to 7 seconds. This fixes this by using QMultiHash to group the QTextFormat instances by hash and only loop through that list when looking up values. It also improves the hash function for QTextFormat. Merge-request: 1623 Reviewed-by: Olivier Goffart <ogoffart@trolltech.com>
| * | | | Early return for allowMove within a parent QModelIndexStephen Kelly2009-11-131-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If this is not done, the climbing ancestors later in the method uses srcParent.row() as pos causing failure depending on which rows are being moved, and what the row of the parent is. Merge-request: 2072 Reviewed-by: Olivier Goffart <ogoffart@trolltech.com>
| * | | | Merge commit upstream/4.6 into oslo-staging-2/4.6Olivier Goffart2009-11-13135-178/+333
| |\ \ \ \ | | | |_|/ | | |/| |
| | * | | Merge oslo-staging-2/4.6 into upstream/4.6Olivier Goffart2009-11-1329-110/+143
| | |\ \ \
| | * \ \ \ Merge commit 'c785d92153d23b836451b0643424b9871bcc4be9' into 4.6-upstreamBradley T. Hughes2009-11-131-0/+5
| | |\ \ \ \
| | | * \ \ \ Merge commit 'upstream/4.6' into 4.6Bradley T. Hughes2009-11-12159-21232/+21971
| | | |\ \ \ \ | | | | | |_|/ | | | | |/| |
| | | * | | | Make sure posted events are always sent when calling processEvents() on Win32Bradley T. Hughes2009-11-111-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After 31f1ff910, posted events could be delayed by a previous call to processEvents(). This causes some tests to randomly fail, so bring back the invariant that processEvents() will always call sendPostedEvents() when called "manually" (i.e. not from exec()). Reviewed-by: Prasanth Ullattil
| * | | | | | Fixed: QCalendarWidget::showNextMonth() followed by a click on the ↵Olivier Goffart2009-11-131-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | navigation button causes it to go to the first possible month QCalendarWidget::setCurrentPage did not set the current index on the model. This is required in order to get QCalendarWidgetPrivate::getCurrentDate working. (and this is used by the calendar widget to navigate) This intentionaly do not check if the date is inside the minimumDate or maximumDate range. This was possible before, and the autotests tests that behaviour. Task-number: QTBUG-4058 Reviewed-by: Prasanth Ullattil
| * | | | | | Fixes QGraphicsWidget: paint() being called before polish().Bjørn Erik Nilsen2009-11-131-0/+8
| | |_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The problem is that we request an update() before we schedules a polish event in QGraphicsScene::addItems, which means paint() is being called before polishEvent(). We could try to swap the order in addItems, but that doesn't give us any guarantee that polish is delivered before update (since we have no control over what's happening from outside graphics view). A better solution is to always make sure we don't have unpolished items before we draw. Auto-test included. Task-number: QTBUG-4979 Reviewed-by: Andreas
| * | | | | Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/qt-s60-public into ↵axis2009-11-122-17/+21
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | 4.6-staging2
| | * | | | | Made the select button commit the T9 word rather than exit widget.axis2009-11-121-8/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Task: QTBUG-5661 RevBy: Janne Koskinen
| | * | | | | Removed unused variable.axis2009-11-122-9/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | RevBy: Trust me
| * | | | | | QTreeWidget visualRect now returns the rect for all columnsThierry Bastian2009-11-121-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The autotest will follow Task-number: QTBUG-2844 Reviewed-by: ogoffart
| * | | | | | Make the render() test pass when pixmaps aren't 32 bit.Paul Olav Tvete2009-11-121-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Reviewed-by: Simon Hausmann