| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
doc/src/declarative/advtutorial1.qdoc
doc/src/declarative/advtutorial2.qdoc
doc/src/declarative/advtutorial3.qdoc
doc/src/declarative/advtutorial4.qdoc
doc/src/declarative/tutorial1.qdoc
doc/src/declarative/tutorial2.qdoc
doc/src/declarative/tutorial3.qdoc
|
| |\
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/corelib/codecs/qtextcodec.h
tests/auto/gestures/tst_gestures.cpp
|
| |\ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Conflicts:
mkspecs/common/symbian/symbian.conf
src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp
tools/assistant/tools/assistant/helpviewer.cpp
|
| | | |
| | | |
| | | |
| | | | |
Reviewed-by: trustme
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
When asked to exclude input events when processing events in the event
dispatcher we should also exclude touch and gesture events on Windows and Mac.
Reviewed-by: Bradley T. Hughes
|
| |_|/
|/| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
It turns out that the event dispatcher did not flush queued user input
events under some circumstances (when adding the exec-flag to
processEvents). And this caused problems in the QML-editor in creator
regarding focus frames. This patch makes sure that we always flush
the queued user input events when calling processEvents.
Task-number: QTBUG-8274
Reviewed-by: Prasanth
Reviewed-by: cduclos
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If you use the menu bar for a window to open up
another window woth no menu bar, the first menu bar
stays highlighted once it is set as current again.
The reason is that we remove the first menu bar before
cocoa gets a chance to update it correctly. This patch
implements a system for us to post a message/call to
cocoa, so we delay removing the toolbar until after
cocoa has finished closing it properly.
NB: Rather than posting the call to a window on screen, it
would have been better and safer to post it no window, and
then receive the event in the event handler of NSApplication.
But for the moment, we have decided not to subclass NSApplication...
Rev-By:prasanth
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/gui/kernel/qeventdispatcher_mac.mm
src/gui/kernel/qt_cocoa_helpers_mac.mm
src/gui/widgets/qmenu_mac.mm
tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp
tools/assistant/tools/assistant/centralwidget.cpp
tools/linguist/lupdate/main.cpp
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The problem is that we didn't check if the event dispatcher was
interrupted before starting to wait for more events. This patch will do
the interrupt test after processing modal session events, and just
before starting to wait. This will fix applications that expects e.g an
event loop to exit immidiatly upon a signal from a timer (without the
need for the user to generate e.g. a mouse event to stop the wait).
Task-number: QTBUG-7503
Reviewed-by: cduclos
|
| |
| |
| |
| |
| |
| |
| | |
This have never worked in the Cocoa port, it seems. This patch gives
it a try.
Reviewed-by: msorvig
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
bin/syncqt
doc/src/deployment/deployment.qdoc
src/corelib/io/qfsfileengine_win.cpp
src/corelib/xml/qxmlstream.cpp
src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h
tools/assistant/tools/assistant/centralwidget.cpp
tools/linguist/lupdate/main.cpp
|
| |
| |
| |
| | |
Reviewed-by: Trust Me
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When creating a single dialog in the main function, and tell it
to exec, we run a modal dialog. But there is really no other
window on screen to be modal for. So in that case, since this is
a rather common pattern for Qt applications, we allow users to
quit the application from the dock. But this action is sendt as
an apple event. And and that point in time, cocoa has the the
apple event handler, and refuses to close down the application
because it detects a modal window.
Our solution is to install/overwrite the apple event handler for
kAEQuit _after_ cocoa has finished its own installation. But in
order to do this, we need to wait until [NSApplication run] has
started, otherwise it will not take effect. And that is what this
patch essentially does.
|
| |
| |
| |
| | |
Oops. Broke build on carbon.
|
| |
| |
| |
| |
| |
| |
| |
| | |
The reason is that we need to start [NSApplication run] before the
menus get properly initialized. This patch will make the event
dispatcher run nsapp once before spinning a modal session, if needed
Task-number: QTBUG-6627
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Under some circumstances, the event dispatcher needs to stop
NSApplication, let the control return back to the QEventLoop that
called processEvents, which very often will just call processEvents
again, which in turn will restart NSApplication.
After stopping NSApplication, Cocoa seems to throw away at least some
of the posted cocoa events that are still pending. This will offcourse
have inpact on things like window updates etc. that never happends.
This patch will be more careful about when to stop NSApplication, and
delay this until the run loop has finished one more spin after interrupt
has been called. The same goes for modal sessions. Introducing this delay
also made it neccessary to sometimes block cocoa from updating the
stacking order of the windows.
Autotest: qcoreapplication, qapplication, qtimer
|
|
|
|
|
|
|
|
| |
This patch implements the same fix as
639b9c0286f0f2d5e50121df8d4125f029074510, but when someone spins
the event dispatcher manually (calling processEvents themselves).
Rev-By: MortenS
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The reason is that the color dialog is using a native dialog.
And this dialog enters modality on its own, bypassing the
modality mechanism in Qt. Most important, when the dialog leaves
modality, it does so by calling [NSApp stopModal]. And this call
stops all modal sessions in the application, including the ones
owned by Qt.
This patch detects when this situation occurs, and makes
sure that all modal sessions gets stopped the correct way, and
later rebuilt.
Rev-By: MortenS
|
|
|
|
|
|
|
|
|
|
| |
On Cocoa, we sometimes need to block sending posted events
(because we need to flush the event que now and then without
touching Qt events). But we forgot to do same for timer callback.
So this patch makes sure that we dont send the timer event
immidiatly if we are just flushing the event que.
Rev-By: brad
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The reason for the bug is that we call _quit_ on the eventloop
just _after_ posting the deffered delete event (from inside
deleteLater function, ref the test where it fails,
tst_qapplication.cpp:1242). And the point is, even if the loop
level tells us that we _can_ delete the object in this case, the
'quit' tells us that we should not process _any_ events (until we
get a call to processEvents again).
So this patch makes sure that we don't call sendPostedEvents from
the eventDispatcher if it is interruped.
Rev-By: brad
|
|
|
|
|
|
|
| |
Previously, the firstTimeObserver was released by the event loop. This
do not work if the event loop is never run.
This commit amend b0016ea9a6b225757e3ee06b50e8f7d05463ddf7.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
On Mac OS X, we use a custom source for posted events.
The first time the event loop is entered, the custom source is added
to the native event dispatcher but the events are not processed. In Qt,
we expect those events to be processed.
To work around the problem, a new observer is added to the event loop.
This observer is only triggered the first time the event loop is
entered. When the observer is triggered, the posted events are sent.
Task-number: QTBUG-4521
Reviewed-by: Richard Moe Gustavsen
Reviewed-by: João Abecasis
|
|
|
|
| |
Reviewed-by: Trust Me
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
demos/boxes/glshaders.cpp
demos/boxes/vector.h
demos/embedded/fluidlauncher/pictureflow.cpp
demos/embedded/fluidlauncher/pictureflow.h
doc/src/desktop-integration.qdoc
doc/src/distributingqt.qdoc
doc/src/examples-overview.qdoc
doc/src/examples.qdoc
doc/src/frameworks-technologies/dbus-adaptors.qdoc
doc/src/geometry.qdoc
doc/src/groups.qdoc
doc/src/objecttrees.qdoc
doc/src/platform-notes.qdoc
doc/src/plugins-howto.qdoc
doc/src/qt3support.qdoc
doc/src/qtdbus.qdoc
doc/src/qtdesigner.qdoc
doc/src/qtgui.qdoc
doc/src/qtmain.qdoc
doc/src/qtopengl.qdoc
doc/src/qtsvg.qdoc
doc/src/qtuiloader.qdoc
doc/src/qundo.qdoc
doc/src/richtext.qdoc
doc/src/topics.qdoc
src/corelib/tools/qdumper.cpp
src/gui/embedded/qkbdpc101_qws.cpp
src/gui/embedded/qkbdsl5000_qws.cpp
src/gui/embedded/qkbdusb_qws.cpp
src/gui/embedded/qkbdvr41xx_qws.cpp
src/gui/embedded/qkbdyopy_qws.cpp
src/gui/embedded/qmousebus_qws.cpp
src/gui/embedded/qmousevr41xx_qws.cpp
src/gui/embedded/qmouseyopy_qws.cpp
src/gui/painting/qpaintengine_d3d.cpp
src/gui/painting/qwindowsurface_d3d.cpp
src/opengl/gl2paintengineex/glgc_shader_source.h
src/opengl/gl2paintengineex/qglpexshadermanager.cpp
src/opengl/gl2paintengineex/qglpexshadermanager_p.h
src/opengl/gl2paintengineex/qglshader.cpp
src/opengl/gl2paintengineex/qglshader_p.h
src/opengl/util/fragmentprograms_p.h
src/plugins/kbddrivers/linuxis/linuxiskbdhandler.cpp
src/plugins/mousedrivers/linuxis/linuxismousehandler.cpp
src/script/parser/qscript.g
src/script/qscriptarray_p.h
src/script/qscriptasm_p.h
src/script/qscriptbuffer_p.h
src/script/qscriptclass.cpp
src/script/qscriptclassdata_p.h
src/script/qscriptcompiler.cpp
src/script/qscriptcompiler_p.h
src/script/qscriptcontext.cpp
src/script/qscriptcontext_p.cpp
src/script/qscriptcontext_p.h
src/script/qscriptcontextfwd_p.h
src/script/qscriptecmaarray.cpp
src/script/qscriptecmaarray_p.h
src/script/qscriptecmaboolean.cpp
src/script/qscriptecmacore.cpp
src/script/qscriptecmadate.cpp
src/script/qscriptecmadate_p.h
src/script/qscriptecmaerror.cpp
src/script/qscriptecmaerror_p.h
src/script/qscriptecmafunction.cpp
src/script/qscriptecmafunction_p.h
src/script/qscriptecmaglobal.cpp
src/script/qscriptecmaglobal_p.h
src/script/qscriptecmamath.cpp
src/script/qscriptecmamath_p.h
src/script/qscriptecmanumber.cpp
src/script/qscriptecmanumber_p.h
src/script/qscriptecmaobject.cpp
src/script/qscriptecmaobject_p.h
src/script/qscriptecmaregexp.cpp
src/script/qscriptecmaregexp_p.h
src/script/qscriptecmastring.cpp
src/script/qscriptecmastring_p.h
src/script/qscriptengine.cpp
src/script/qscriptengine_p.cpp
src/script/qscriptengine_p.h
src/script/qscriptenginefwd_p.h
src/script/qscriptextenumeration.cpp
src/script/qscriptextenumeration_p.h
src/script/qscriptextqobject.cpp
src/script/qscriptextqobject_p.h
src/script/qscriptextvariant.cpp
src/script/qscriptfunction.cpp
src/script/qscriptfunction_p.h
src/script/qscriptgc_p.h
src/script/qscriptmember_p.h
src/script/qscriptobject_p.h
src/script/qscriptprettypretty.cpp
src/script/qscriptprettypretty_p.h
src/script/qscriptvalue.cpp
src/script/qscriptvalueimpl.cpp
src/script/qscriptvalueimpl_p.h
src/script/qscriptvalueimplfwd_p.h
src/script/qscriptvalueiteratorimpl.cpp
src/script/qscriptxmlgenerator.cpp
src/script/qscriptxmlgenerator_p.h
tests/auto/linguist/lupdate/testdata/recursivescan/project.ui
tests/auto/linguist/lupdate/testdata/recursivescan/sub/finddialog.cpp
tests/auto/qkeyevent/tst_qkeyevent.cpp
tools/linguist/shared/cpp.cpp
|
| |
| |
| |
| | |
Reviewed-by: Trust Me
|
| |
| |
| |
| | |
Reviewed-by: Trust Me
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Autotest: qcoreapplication, qapplication, qtimer
qwidget_window, qwidget
Issue 1: stacking order of modal windows was not
working correctly. With this patch, we remove the
need for rebuilding modal sessions all the time,
and when we do, we rebuild them all in the correct
order.
Issue 2: When running the event processor manually
(that is, just calling processEvents in a loop), we
sometimes spendt 100% cpu if a window was pending to
become modal. The reason was that we need to keep
reposting the QCocoaRequestModal event until we
could block the calling thread (that is, one of
the exec flags was given to processEvents). With this
patch, the need for posting QCocoaRequestModal is
completly removed in favor of an 'interrupt'
approach instead.
Issue 3: If using Qt as a plugin, or just add widget
to a native cocoa application, it would often lead
to closing down the application. The reason is that
the event dispatcher needs to restart [NSApp run]
now and then. But this approach fails if Qt was not
the code that started [NSApp run] in the first place.
This patch removes the need to restart NSApp in this
situation, at the cost of modal windows not beeing
modal if Qt is not spinning the event dispatcher.
Normal QDialog::exec etc will always work.
|
| |
| |
| |
| | |
Reviewed-by: Trust Me
|
|/
|
|
|
|
|
| |
Panther was the last reason for having this around. We don't touch this
code anywhere else in Qt. As a result it's orphaned and can be safely
removed. It truly is the end of an era, but it's definitely worth
celebrating. Quartz4Life!
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Reviewed-by: Trust Me
|
|
|