summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Make autorepeat work for DirectFBAnders Bakken2009-07-281-5/+24
| | | | | | | | | | | | | | When holding down a key DirectFB gives us only keypresses. Qt wants these kind of events: press not autorepeat release autorepeat press autorepeat release autorepeat press autorepeat release not autorepeat Reviewed-by: Donald <qt-info@nokia.com>
* Fix crash in when resizing directfb windowsAnders Bakken2009-07-282-5/+11
| | | | | | | | | Since QRasterPaintEngine::baseClip was initialized when the QDirectFBPaintEngine was created and the paintengine persists for the window surface we run the risk that the baseClip is of the wrong size. This could lead to crashes and erroneous clipping. Reviewed-by: Donald <qt-info@nokia.com>
* Compile with DirectFB < 1.0Anders Bakken2009-07-281-0/+2
| | | | | | These porter duff operations were added for 1.0. Reviewed-by: Donald <qt-info@nokia.com>
* Regression: QColorDialog crash on Mac when accepting with keyboardRichard Moe Gustavsen2009-07-283-119/+134
| | | | | | | | | | | | | | Basically, the crash happends because we release the dialog when the ok button is clicked. But when the button is clicked with the keyboard (actually cocoa emulates a click when pressing enter), it also tries to do some focus handling on the button afterwards. But at that point, the button is already freed up. With a crash as the result. This patch goes through a lot of the code, and rewrites it so we doesnt free up the cocoa objects before the destructor of the QColorDialog is called. Task-number: 258445 Reviewed-by: msorvig
* Fixed drawImage() so that it doesn't sample outside the source image.Kim Motoyoshi Kalland2009-07-281-4/+4
| | | | | | | | | | | | | | | | In qt_scale_image_16bit() and qt_scale_image_32bit(), when a sample point was located on the border between two pixels in the source image, the sample point was rounded up instead of down. If a sample point was exactly on the bottom or right edge of the source image, the function would therefore sample a pixel outside the image. Because of how the target rectangle is rounded, a sample point will never be exactly on the top or left edge of the source image, so we will not get a similar problem there. I extended the lance test pixmap_scaling.qps. Task-number: 258533 Reviewed-by: Samuel
* Don't use layered windows for non-translucent windowsGunnar Sletta2009-07-281-2/+2
| | | | Reviewed-by: Samuel
* Remove ignore system clip stuff in dfbpaintengineAnders Bakken2009-07-282-5/+1
| | | | Reviewed-by: Donald <qt-info@nokia.com>
* Fix off-by-one bug in QDirectFBScreen::flipSurfaceAnders Bakken2009-07-281-4/+4
| | | | | | | | | | DFBRegions are exactly like QRects it turns out. x2/y2 == QRect::right()/QRect::bottom() This means I actually can reinterpret_cast QRect to DFBRegions but it's not really worth it. Reviewed-by: Noam Rosenthal <noam.rosenthal@nokia.com>
* Major clipping patch in QDirectFBPaintEngineAnders Bakken2009-07-281-75/+91
| | | | | | | Handle region clips by iterating over the rectangles and updating clips accordingly. Reviewed-by: Noam Rosenthal <noam.rosenthal@nokia.com>
* Make porterduff operations work in DirectFBAnders Bakken2009-07-281-33/+97
| | | | | | | | This patch makes us not fall back to the raster engine for most of the composition mode operations when doing blits. Primitives are still handled by Qt when composition != SourceOver Reviewed-by: Noam Rosenthal <noam.rosenthal@nokia.com>
* Disable the pointer tracking feature in Qt 4.5.Thiago Macieira2009-07-272-29/+5
| | | | | | | | The functionality is broken, since pointers can be released by a QSharedPointer tracking a pointer of different type, which would leave behind pointers in the hash. The fix requires Qt 4.6 because of a new symbol being added.
* Roll back the fancy updating of translucent windows.Gunnar Sletta2009-07-271-4/+1
| | | | | | | | | | The problem with the fix, though it produces less flicker when resizing, is that it delays telling windows that the window has moved until after the window has been completely repainted. Problem with this is that functions that rely on windows to be up to date will fail until the backbuffer is flushed. This was the case for mapTo/FromGlobal, and potentially other functions too. Reviewed-By: Eskil
* Add docs for Windows Server 2008 R2 to QSysInfo::WinVersionBradley T. Hughes2009-07-271-2/+2
| | | | | | Windows Server 2008 R2 is based on kernel 6.1, the same as Windows 7. Reviewed-by: TrustMe
* Fix crash when printing to PDF on Qt/MacMorten Sørvig2009-07-271-2/+5
| | | | | | | | | | Priting to PDF would crash for applications built on Leopard when running on Tiger. Add the standard runtime version check to QFontEngineMac::faceId(). Task-number: 251791 Reviewed-by: Richard Moe Gustavsen
* Prematurely creating a dialog as a sheet causes problemsRichard Moe Gustavsen2009-07-242-21/+34
| | | | | | | | | | | | | | Prematurely creating a dialog as a sheet and then calling exec() on it will show a window w/o decorations. The problem is that first telling a window to be a sheet, and then tell it to exec, is unambigious. Because doing the latter implies application modality (when modality is not set), which again implies not using a sheet. Calling exec (and setting modality) will win over window flags, so in this case, we now recreate the window as a normal app-modal dialog. Task: 254524 Reviewed-by: Trenton Schulz
* QNAM: Clarify docs about when a QNetworkReply can be deletedMarkus Goetz2009-07-242-2/+16
| | | | | Task-number: 258644 Reviewed-by: Thiago
* Updated WebKit from /home/shausman/src/webkit/trunk to origin/qtwebkit-4.5 ( ↵Simon Hausmann2009-07-244-2/+14
| | | | | | | | | | | | | | | | | | eb3afcbfb4006de4015047555cb256fcde93b954 ) Changes in WebKit since the last update: ++ b/WebCore/ChangeLog 2009-05-27 John Sullivan <sullivan@apple.com> fixed <rdar://problem/6925482> repro crash in WebCore::DragController::dragExited dropping bookmarks (at least) over Top Sites (at least) Reviewed by Kevin Decker * page/DragController.cpp: (WebCore::DragController::dragExited): nil check m_documentUnderMouse and take the "local file" case if it's nil
* Fixed crash when vectorpath was polygonal only in raster::stroke()Gunnar Sletta2009-07-241-9/+16
| | | | | | | Polygonal vector paths may have types==null, in which case this would have crashed. Reviewed-by: Eskil
* Updated WebKit from /home/shausman/src/webkit/trunk to origin/qtwebkit-4.5 ( ↵Simon Hausmann2009-07-239-17/+114
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1535d41a668e5f74f44ff3aa1313a84d5718d2d7 ) Changes in WebKit since the last update: ++ b/WebCore/ChangeLog 2009-07-23 Simon Hausmann <simon.hausmann@nokia.com> Reviewed by Holger Freyther. Fix crashes with the QObject bindings after garbage collection. There is one QtInstance per wrapped QObject, and that QtInstance keeps references to cached JSObjects for slots. When those objects get deleted due to GC, then they becoming dangling pointers. When a cached member dies, it is now removed from the QtInstance's cache. As we cannot track the lifetime of the children, we have to remove them from QtInstance alltogether. They are not cached and were only used for mark(), but we _want_ them to be subject to gc. * bridge/qt/qt_instance.cpp: (JSC::Bindings::QtInstance::~QtInstance): Minor coding style cleanup, use qDeleteAll(). (JSC::Bindings::QtInstance::removeCachedMethod): New function, to clean m_methods and m_defaultMethod. (JSC::Bindings::QtInstance::mark): Avoid marking already marked objects. (JSC::Bindings::QtField::valueFromInstance): Don't save children for marking. * bridge/qt/qt_instance.h: Declare removeCachedMethod. * bridge/qt/qt_runtime.cpp: (JSC::Bindings::QtRuntimeMethod::~QtRuntimeMethod): Call removeCachedMethod with this on the instance. 2009-05-04 Jakub Wieczorek <faw217@gmail.com> Reviewed by Simon Hausmann. As Qtish implementation of MIMETypeRegistry::getMIMETypeForExtension() returns the application/octet-stream mimetype when it can't associate extension with any mimetype, it can happen that the application/octet-stream mimetype will hit the list of supported image formats. For instance, it is possible when QImageReader or QImageWriter support an extension that is not in the extensions map. Make sure that this mimetype is not treated as displayable image type. * platform/MIMETypeRegistry.cpp: (WebCore::initializeSupportedImageMIMETypes): (WebCore::initializeSupportedImageMIMETypesForEncoding): ++ b/WebKit/qt/ChangeLog 2009-07-23 Simon Hausmann <simon.hausmann@nokia.com> Reviewed by Holger Freyther. Added a testcase to verify that cached methods in the QOBject bindings remain alife even after garbage collection. * tests/qwebpage/tst_qwebpage.cpp: (tst_QWebPage::protectBindingsRuntimeObjectsFromCollector):
* QPainter::stroke() on raster engine would draw moveto's as linesGunnar Sletta2009-07-231-5/+17
| | | | | | | | | The reason being that there was an assumption that any non-curved path was a continous polyline. For paths with multiple subpaths in it we need to split this up into multiple strokePolygonCosmetic calls. Task-number: 257621 Reviewed-by: Kim Motoyoshi Kalland
* Diagonal dashes are moving when touching the clip boundary.Gunnar Sletta2009-07-231-1/+4
| | | | | | | | | We normally pad the clip rect with the size of the pen and miterlimit to avoid this, but this didn't handle the case where there was a long diagonal dash. We also need to multiply the padding with the longest dash. Reviewed-By: Tom Cooksey
* Implement clipping in the QPaintEngineEx::stroke() function.Gunnar Sletta2009-07-233-6/+11
| | | | | | | This is a huge impact on performance whenever this path is taken. Reviewed-By: Tom Cooksey
* return when brush is NoBrush in DFBPaintEngineAnders Bakken2009-07-231-0/+4
| | | | Reviewed-by: Noam Rosenthal <noam.rosenthal@nokia.com>
* Fix a bug in directfb mouse handlingAnders Bakken2009-07-222-15/+1
| | | | | | | | | | | Always check the mouse data we read for coordinates rather than asking the layer. This approach works whether we have layers enabled/window management enabled or any combination thereof. Also, make sure we use a software cursor when either of NO_WM or NO_LAYER is defined. Reviewed: Donald <qt-info@nokia.com>
* Use BatchBlit in flush/exposeRegionAnders Bakken2009-07-222-35/+47
| | | | | | | | | Minor optimization. Also make sure cursor is drawn in flush even if we're not in Offscreen mode. Reviewed-by: TrustMe
* Use dfbsurface::FillRectangles in solidFillAnders Bakken2009-07-221-5/+15
| | | | | | Minor optimization Reviewed-by: Donald <qt-info@nokia.com>
* Fix IDirectFBSurface::ReleaseSource callsAnders Bakken2009-07-222-2/+3
| | | | | | Make sure that these calls are in the right order. Reviewed-by: Donald <qt-info@nokia.com>
* Fix dfbwindowsurface handling for offscreen modeAnders Bakken2009-07-222-127/+151
| | | | | | | | | | | | | | This patch vastly simplifies the geometry handling (setGeometry/move) It also implements a mode in which DirectFB implementations that do not support windows can use an offscreen buffer as its backing store. Previously the only way to do this was to paint directly on the primary surface. This didn't work when the dfb driver didn't support an accelerated mouse cursor. It also detects the situation when the cursor isn't accelerated and takes care of painting it manually when needed. Reviewed-by: Donald <qt-info@nokia.com>
* Rewrite QDFBScreen::exposeRegionAnders Bakken2009-07-222-176/+124
| | | | | | | | | | | | | | | This code should be a noop in the case where one has a proper dfb cursor and proper dfb window handling. This was the only case it actually worked. This patch makes it work for a screen cursor rendered by Qt and sets exposeRegion up to work for using an offscreen backing store. Since one can't query the background color set by directfb this patch also adds a connect option to set the background color. This is needed for erasing the background when the mouse cursor moves. Reviewed-by: Donald <qt-info@nokia.com>
* 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
* 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
* 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>
* Another fix needed to build in a namespace on Mac with -arch ppcAndy Shaw2009-07-211-1/+2
| | | | | | | | Don't know how this got lost in the original submit since I had added both. Task-number: 257080 Reviewed-by: nrc
* QHttpNetworkConnection: Clarifying code comment about compressionMarkus Goetz2009-07-211-1/+6
| | | | Reviewed-by: TrustMe
* Fix building in a namespace when building with -arch ppc on Mac OS XAndy2009-07-211-2/+0
| | | | | Task-number: 257080 Reviewed-by: nrc
* QNAM: Proper loading of meta data when having AlwaysCache modeMarkus Goetz2009-07-212-0/+24
| | | | | | | | | Properly load the raw headers and properly handle the redirection when having a network cache in AlwaysCache mode (equals the offline mode in web browser). Task-number: 256240 Reviewed-by: Thiago Macieira
* Fixed compile on certain Solaris versions.Rohan McGovern2009-07-201-1/+1
| | | | | Every source file must end with a newline, otherwise: "Error: There is extra text on this line."
* s/slots/Q_SLOTS/Anders Bakken2009-07-202-2/+2
| | | | | | Fix QDirectFBMousePrivate and QDirectFBKeyboardPrivate Reviewed-by: TrustMe
* Fix QTextCodec case-insensitive comparison while in a Turkish locale.Thiago Macieira2009-07-201-4/+8
| | | | | | | In Turkish, lowercase('I') is 'ı', which means comparing "iso-8859-1" to "ISO-8859-1" will fail. Reviewed-by: Denis Dzyubenko
* Fix assert in message handling.Frans Englich2009-07-201-1/+1
| | | | | | | Trivial fix. Reported by Michael Brasser. Task-number: 258337 Reviewed-By: Peter Hartmann
* Fix the hand scrolling in QGraphicsView that will stop unexpectedly.Alexis Menard2009-07-201-1/+1
| | | | | | | | | | If you start a hand scrolling and during moving, you press another button of the mouse than the left one, the scrolling suddently stop working. In mouseReleaseEvent we just stop the hand scrolling if the button is left. Task:258356 Reviewed-by:janarve
* Fix crash when native socket notifiers would send a notification after being ↵Norwegian Rock Cat2009-07-201-4/+8
| | | | | | | | | | | | | | | | disabled. Spend a lot of time looking at this and at the CoreFoundation source code and it seems that we really do get a notification even after the notifier is disabled. I suspect there's a race condition between when we disable the socket notifier, but the kernel flags it as needing a read, then CoreFoundation just sends the notification without checking if the CFSocket has been disabled. No further notifications come of course. Since this breaks the invariant that was set in the assert, I'm replacing it with an if check. Task-number: 258198 Reviewed-by: Bradley T. Hughes
* fix crash due to null pointer referencingAlex2009-07-201-1/+1
| | | | | | | | | | during application desctruction globalEngineCache is deleted as part of Q_GLOBAL_STATIC macro. Other instances of code that happen to use QRegex after the cache destruction will subsequently crash. Most common reason are other Q_GLOBAL_STATIC instances which happen to use QRegExp as part of their destructor. Reviewed-by: Rhys Weatherley
* QDirIterator: Doc fixes and whitespace cleanupJoão Abecasis2009-07-171-19/+12
| | | | | | There is no QDirIterator::isValid() function. Reviewed-by: David Boddie
* Refactoring QDirIteratorPrivate::pushSubDirectoryJoão Abecasis2009-07-171-26/+15
| | | | | | | | | | | | | | pushSubDirectory was operating on nextFileInfo when it should really be using the path received as argument. This fixes an issue introduced when currentFilePath variable was removed, that was exposed in the auto-tests; fixes a regression introduced in 4.5.0 -- test case a couple of commits back. This also allows refactoring calling code and avoid repetition. Task-number: 258230 Reviewed-by: Olivier Goffart
* QDirIterator: reducing "randomness"João Abecasis2009-07-171-10/+3
| | | | | | | | | | | | The difference between a canonical and absolute paths is subtle, and not what QDirIterator is about. With this change, we still avoid loops generated by symbolic links but won't duplicate entries because of these differences. While at it, when avoiding loops with symbolic links, please don't mess with the next path! That only added inconsistency. Reviewed-by: Olivier Goffart