| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
These porter duff operations were added for 1.0.
Reviewed-by: Donald <qt-info@nokia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Reviewed-by: Samuel
|
|
|
|
| |
Reviewed-by: Donald <qt-info@nokia.com>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
Handle region clips by iterating over the rectangles and updating clips
accordingly.
Reviewed-by: Noam Rosenthal <noam.rosenthal@nokia.com>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Windows Server 2008 R2 is based on kernel 6.1, the same as Windows 7.
Reviewed-by: TrustMe
|
|
|
|
|
|
|
|
|
|
| |
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 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
|
|
|
|
|
| |
Task-number: 258644
Reviewed-by: Thiago
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
Polygonal vector paths may have types==null, in which case this
would have crashed.
Reviewed-by: Eskil
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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):
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
This is a huge impact on performance whenever this path is
taken.
Reviewed-By: Tom Cooksey
|
|
|
|
| |
Reviewed-by: Noam Rosenthal <noam.rosenthal@nokia.com>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
Minor optimization.
Also make sure cursor is drawn in flush even if we're not in Offscreen
mode.
Reviewed-by: TrustMe
|
|
|
|
|
|
| |
Minor optimization
Reviewed-by: Donald <qt-info@nokia.com>
|
|
|
|
|
|
| |
Make sure that these calls are in the right order.
Reviewed-by: Donald <qt-info@nokia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
The signal could be connected a huge number of times
This is already fixed in master with Qt:UniqueConnection
Task-number: 258381
|
|
|
|
|
|
| |
I had missed this one in my rounds of updates. Bad me.
Reviewed-by: Thorbjorn
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Reviewed-by: Donald <qt-info@nokia.com>
|
|
|
|
|
|
|
|
| |
Don't know how this got lost in the original submit since I had added
both.
Task-number: 257080
Reviewed-by: nrc
|
|
|
|
| |
Reviewed-by: TrustMe
|
|
|
|
|
| |
Task-number: 257080
Reviewed-by: nrc
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
Every source file must end with a newline, otherwise:
"Error: There is extra text on this line."
|
|
|
|
|
|
| |
Fix QDirectFBMousePrivate and QDirectFBKeyboardPrivate
Reviewed-by: TrustMe
|
|
|
|
|
|
|
| |
In Turkish, lowercase('I') is 'ı', which means comparing "iso-8859-1"
to "ISO-8859-1" will fail.
Reviewed-by: Denis Dzyubenko
|
|
|
|
|
|
|
| |
Trivial fix. Reported by Michael Brasser.
Task-number: 258337
Reviewed-By: Peter Hartmann
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
There is no QDirIterator::isValid() function.
Reviewed-by: David Boddie
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|