summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'custom_shaders' of ../qt-graphics-team into custom-shadersRhys Weatherley2009-07-23124-1315/+2756
|\ | | | | | | | | Conflicts: src/gui/graphicsview/qgraphicsitem_p.h
| * Actually add the files... :-)Tom Cooksey2009-07-232-0/+196
| |
| * Initial stab at a custom shader stage APITom Cooksey2009-07-236-56/+134
| |
| * Fix build on HarmattanTom Cooksey2009-07-231-1/+1
| | | | | | | | Reviewed-By: Trustme
| * Merge branch 'master' of git@scm.dev.nokia.troll.no:qt/qtMartin Jones2009-07-236-50/+162
| |\
| | * Fix merge error, restore size of bit field.Andreas Aardal Hanssen2009-07-231-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Change 34fde4a4 removes one bit from the flags bitfield, which was added in change 7bc98d7b. This happened during resolving of a merge conflict and caused some input method related autotests in tst_QGraphicsView to fail. Reviewed-by: mbm
| | * Add QGraphicsItem::focusProxy(), focus proxy support.Andreas Aardal Hanssen2009-07-235-48/+141
| | | | | | | | | | | | | | | | | | | | | | | | | | | Following QWidget's behavior, you can not assign any item in the same scene as a focus proxy for another item. Also supports nested focus proxies. You can only assign items in the same scene as focus proxies. Autotests are included. Reviewed-By: mbm
| | * Add texture_from_pixmap defines for systems without themTom Cooksey2009-07-231-0/+19
| | | | | | | | | | | | | | | | | | | | | This fixes the build on older Solaris machines which don't have the GLX_EXT_texture_from_pixmap defines in glxext.h. Reviewed-By: Trustme
| * | Build with rvct compiler.Martin Jones2009-07-232-2/+3
| |/ | | | | | | Reviewed-by: akennedy
| * Add the math3d types to QVariantRhys Weatherley2009-07-2315-28/+452
| | | | | | | | Reviewed-by: Sarah Smith
| * Compile in release mode for DFB version > 0.9Anders Bakken2009-07-221-1/+6
| | | | | | | | | | | | Something went wrong with the integrate from 4.5 to master. Reviewed-by: TrustMe
| * CompileAnders Bakken2009-07-221-1/+2
| | | | | | | | | | | | | | | | | | The dummy implementaion of QReadWriteLock wasn't source compatible with the real implementation and this lead to compilation errors in qabstractfileengine.cpp which now has a global static QReadWriteLock that takes a Recursive argument. Reviewed-by: Noam Rosenthal <noam.rosenthal@nokia.com>
| * Fix potential deadlock in QAbstractFileEngineJoão Abecasis2009-07-221-10/+12
| | | | | | | | | | | | | | | | | | | | There's a possibility for deadlocking with user code in QAbstractFileEngine. Changing the QMutex there to a QReadWriteLock should reduce the possibilities for this happening. Also reduced the scope of the lock in QAbstractFileEngine. Reviewed-by: Thiago Macieira
| * Fix build on MacTom Cooksey2009-07-222-8/+28
| | | | | | | | | | | | | | | | | | The texture_from_pixmap patch removed a bindTexture overload from QGLContextPrivate which is actually needed by all architectures. It was just it's use in the mac compat methods which broke the build and highlighted the issue. Reviewed-By: Trustme
| * Plug a texture leak when deleting QPixmaps without a current contextTom Cooksey2009-07-222-16/+9
| | | | | | | | | | | | | | | | | | ~QGLTexture wouldn't make the texture's context current if the current context was zero, meaning the texture would leak. This also means deleteBoundPixmap doesn't need to make the context currnet anymore (as it's only called from ~QGLTexture). Reviewed-By: Kim
| * QNetworkReply: add possibility to ignore specific SSL errorsPeter Hartmann2009-07-2217-15/+157
| | | | | | | | | | | | | | | | | | | | | | | | the same method was also added to QSslSocket. previously, it was only possible to ignore all SSL errors; now, it is also possible to only ignore specific SSL errors, given by a QList of QSslErrors. Moreover, it is possible to call this newly added method right after connecting, not just when we get the SSL error. Reviewed-by: Thiago Task-number: 257322
| * Merge branch '4.5'Thiago Macieira2009-07-223-33/+24
| |\
| | * Fix handling of invalid object paths and signatures in release mode.Thiago Macieira2009-07-221-11/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I had this #ifdef __OPTIMIZE__ there so that the compiler would know not to generate unnecessary calls and a long jump table for the switch of the marshalling code. Turns out that in release mode, the checks I added to make sure we detect invalid object paths and signatures were never hit (we always treated them as pure strings). So use the signature- and object path-checking code in both release and debug mode. Task-number: reported via email (tst_qdbusmarshall failing) Reviewed-by: Peter Hartmann
| | * Revert "Added a check that X11 timestamp goes forward only."Denis Dzyubenko2009-07-221-20/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In some cases we might get an invalid timestamp that is far away in the future, so remembering it will break all consequent X calls that require a timestamp because it just contains junk (for example clipboard will stop working). This happens with XIM+SCIM pair - whenever we start input method and type something to the widget, we get a XKeyPress event with a commited string, however the 'serial' and 'time' members of the XEvent structure are not initialized (according to valgrind) and contain junk. This reverts commit 2ed015b8a0ffad63f0f59b0e2255057f416895fb. Reviewed-By: Brad
| | * Fix table borders in multiline tables when printing to PostScript.Gunnar Sletta2009-07-221-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I'm not all to happy with this fix, but its the best that one can acheive given the current design. The problem is that QPdfBaseEngine sets a number of states as part of updateState(), but only when we are playing back through the alpha engine. These states are used in some draw functions, also when we are recording in the alpha engine. This leads to the states and their checks being out of sync. So to follow the existing pattern in the code we need to not touch d-> vars prior to a check to usesAlphaEngine. Reviewed-By: Eskil
| * | Use texture_from_pixmap on X11 & avoid copiesTom Cooksey2009-07-228-174/+422
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The patch tries to use texture_from_pixmap extentions on glX to properly bind an X Pixmap to a texture in QGLContextPrivate::bindTexture(QPixmap,). Because GL & X have different coordinate systems, the pixmap will be inverted about the y-axis. The extension does however allow a GLX_Y_INVERTED_EXT attribute to be set which will bind the pixmap the correct way up. If the underlying driver doesn't support this, texture_from_pixmap can't be used for QGLContext::bindTexture, because that function expects the resulting texture to be the right way up. However, it can still be used internally by the paint engine for drawPixmap operations. For these cases, if the pixmap is inverted, the paint engine can simply invert the texture coords to compensate. This is why this patch also moves QGLTexture into qgl_p.h. QGLContextPrivate::bindTexture(QPixmap,) now returns a QGLTexture which the paint engine can inspect to see if it needs to invert the texture coords. Finally, it seems on some (probably all) drivers, deleting an X pixmap which has been bound to a texture before calling glFinish/swapBuffers renders garbage. Presumably this is because X deletes the pixmap behind the driver's back before it's had a chance to use it. To fix this, we reference all QPixmaps which have been bound to stop them being deleted and only deref them after we swap the buffer, when they can be safely deleted. Reviewed-By: Kim
| * | Compile on embeddedOlivier Goffart2009-07-222-2/+2
| | |
| * | Make QStateMachine inherit QStateKent Hansen2009-07-225-222/+111
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This removes the need for a "root state" in the machine; or rather, the machine _is_ the root state. User code can now pass in a QStateMachine directly to the QState constructor, instead of machine->rootState(). This also means we could get rid of the "proxying" from the machine to the root state for things like properties (initialState et al), finished() signal and auto-reparenting of states (the ChildAdded event hack). A fun little side-effect of this change is that it's now possible to embed state machines within state machines. We can't think of a good use case yet where you would rather embed a stand-alone state machine (with its own event processing etc.) rather than having just a regular nested state, but it's neat and it works. Reviewed-by: Eskil Abrahamsen Blomfeldt
| * | Merge commit 'origin/4.5'Olivier Goffart2009-07-221-2/+4
| |\ \ | | |/
| | * Fix memory leak.Olivier Goffart2009-07-221-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | The signal could be connected a huge number of times This is already fixed in master with Qt:UniqueConnection Task-number: 258381
| | * Update documentation for QMessageBox::open().Norwegian Rock Cat2009-07-221-2/+4
| | | | | | | | | | | | | | | | | | I had missed this one in my rounds of updates. Bad me. Reviewed-by: Thorbjorn
| * | Prefer mutable over const_cast.João Abecasis2009-07-222-5/+4
| | | | | | | | | | | | | | | Reviewed-by: Simon Hausmann Reviewed-by: Frans Englich
| * | Bugfix/optimization in QResourceFileEngineIteratorJoão Abecasis2009-07-221-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | If the resource is valid, children should not be empty. If it happens to be, hasNext() should then return false. Setting the index to 0 ensures this and also that we don't keep trying the same thing over and over. Reviewed-by: Olivier Goffart
| * | Off-by-one error in QResourceFileEngineIteratorJoão Abecasis2009-07-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | This was making the resource iterator return empty entries after listing resources. This showed up after QDirIterator stopped filtering empty entries. Reviewed-by: Olivier Goffart
| * | Don't hide errors in QDirIteratorJoão Abecasis2009-07-221-4/+1
| | | | | | | | | | | | | | | | | | | | | Empty filenames should only show up from bugs in file engine iterators's hasNext() function. We shouldn't try to hide those here. Reviewed-by: Olivier Goffart
| * | QDirIterator refactoringJoão Abecasis2009-07-221-5/+18
| | | | | | | | | | | | | | | | | | | | | Name filters and resulting regular expressions are stable, no need to regenerate the latter on each iteration. Reviewed-by: Olivier Goffart
| * | QDirIterator refactoringJoão Abecasis2009-07-221-6/+5
| | | | | | | | | | | | | | | | | | | | | | | | '*' is functionally the same as having no name filters. Equating the equivalence in the constructor avoids repeated checks in the advance "loop". Reviewed-by: Olivier Goffart
| * | QDirIterator refactoringJoão Abecasis2009-07-221-13/+16
| | | | | | | | | | | | | | | | | | Moving member data around and marking immutable data as such. Reviewed-by: Marius Storm-Olsen
| * | QDirIterator: fail early, fail oftenJoão Abecasis2009-07-221-2/+2
| | | | | | | | | | | | | | | | | | | | | If nothing else changes, there's no point to keep trying. Let a broken QDirIterator be broken. Reviewed-by: Marius Storm-Olsen
| * | QDirIterator: Cleaning up after one's selfJoão Abecasis2009-07-221-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Well, why not? Resetting nextFileInfo when we're done allows removing unnecessary check in QDirIterator::next(), while retaining behavior. Reviewed-by: Marius Storm-Olsen
| * | QDirIterator cleanup after refactoringJoão Abecasis2009-07-221-9/+8
| | | | | | | | | | | | | | | | | | | | | Return value for checkAndPushDirectory is no longer used, we can just throw it out. Reviewed-by: Marius Storm-Olsen
| * | QDirIterator refactoringJoão Abecasis2009-07-221-11/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now that the heavy lifting has been done, we can condense QDirIteratorPrivate::advance() further. It almost looks nice, even! Using fileEngineIterators.top() directly in the loop condition allows us to manipulate the stack without the foundDirectory check. Since QStack can be inlined, this shouldn't severely affect performance... Reviewed-by: Marius Storm-Olsen
| * | QDirIterator refactoringJoão Abecasis2009-07-221-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | Some pointless renaming and mashing up... Actually, some of it sets the stage for (yes, you guessed it!) more refactoring! Reviewed-by: Marius Storm-Olsen
| * | QDirIterator: no point in delaying the inevitableJoão Abecasis2009-07-221-7/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The only reason I see for not calling advance() directly in the constructor is to delay potentially unnecessary work. However, since copy constructors have been explicitly disabled, once QDirIterator is instantiated one has signed up for all the pain that comes with it. That's also a couple less conditionals in each iteration of normal use cases. Reviewed-by: Marius Storm-Olsen
| * | QDirIterator refactoringJoão Abecasis2009-07-221-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | done was set no sooner and no later than the file engine iterators stack was emptied (in a single threaded setting, anyway). There is no need to maintain additional state separately. Reviewed-by: Marius Storm-Olsen
| * | QDirIterator: another one bites the dustJoão Abecasis2009-07-221-12/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Removing another data member in QDirIteratorPrivate. The only reason I see for not doing this is to delay doing work as much as possible. Since copy constructors are disabled anyway, once QDirIterator is instantiated one has already signed up for the pain. The code also looks cleaner this way. Reviewed-by: Marius Storm-Olsen
| * | Still fixing QDirIterator...João Abecasis2009-07-221-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Setting nextFileInfo in the constructor would generate visible behavior changes on the first call to QDirIterator::hasNext(), and that's just wrong. Namely, fileName(), filePath() would return different results before and after calling hasNext(). Reviewed-by: Marius Storm-Olsen
| * | QDirIterator cleanupJoão Abecasis2009-07-221-7/+5
| | | | | | | | | | | | | | | | | | | | | The authoritative copy of filters and nameFilters is available, there is no need to get this from the file engine iterators. Reviewed-by: Marius Storm-Olsen
| * | QDirIterator: Don't recurse into hidden directories unless askedJoão Abecasis2009-07-221-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If we're skipping hidden files, we should skip hidden directories as well. The user can still request that hidden directories not be skipped by specifying QDir::AllDirs in the filter. Incidentally, all other filters are ignored when recursing into sub-directories. Perhaps that should be addressed as well. Reviewed-by: Marius Storm-Olsen
| * | QDirIterator moving around conditionsJoão Abecasis2009-07-221-6/+5
| | | | | | | | | | | | | | | | | | | | | Which is faster QFileInfo::isSymlink() or QFileInfo::fileName() followed by string comparisons? Reviewed-by: Marius Storm-Olsen
| * | Faster condition comes firstJoão Abecasis2009-07-221-1/+1
| | | | | | | | | | | | Reviewed-by: Marius Storm-Olsen
| * | QDirIterator: refactor initializations in private constructorJoão Abecasis2009-07-221-5/+5
| | | | | | | | | | | | | | | | | | There's no need for initializing variables twice. Reviewed-by: Marius Storm-Olsen
| * | Merge commit 'origin/4.5'Olivier Goffart2009-07-228-6/+35
| |\ \ | | |/ | | | | | | | | | | | | Conflicts: src/gui/graphicsview/qgraphicsscene.cpp src/gui/kernel/qt_cocoa_helpers_mac_p.h
| | * Fix a potential crash due to the fact that _q_UpdateIndex() is reenteredAndy Shaw2009-07-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | This is confirmed to resolve a number of problems from the original reportee. It's already fixed in Qt 4.6 in a more wider fix, but this one liner is a good to have in Qt 4.5.x anyway. Task-number: 258194 Reviewed-by: alexis
| | * Make sure DFB version macros are definedAnders Bakken2009-07-211-0/+1
| | | | | | | | | | | | Reviewed-by: Donald <qt-info@nokia.com>