diff options
author | Remko Tronçon <git@el-tramo.be> | 2011-01-22 12:26:37 (GMT) |
---|---|---|
committer | Remko Tronçon <git@el-tramo.be> | 2011-01-22 12:26:37 (GMT) |
commit | 1aaadc84dd9a34a5df6b9dbef867bdaa46d07a30 (patch) | |
tree | 7ebf7566b7d53a5b7249370a3141cce30c5ac819 | |
parent | 81db7d1ca46b7b0d922a1107d93f49b2cebb6bfb (diff) | |
download | swift-1aaadc84dd9a34a5df6b9dbef867bdaa46d07a30.zip swift-1aaadc84dd9a34a5df6b9dbef867bdaa46d07a30.tar.bz2 |
Some small event loop tweaks.
-rw-r--r-- | BuildTools/Eclipse/Swift (Windows Debug).launch | 34 | ||||
-rw-r--r-- | Swiften/EventLoop/EventLoop.cpp | 3 | ||||
-rw-r--r-- | Swiften/EventLoop/Qt/QtEventLoop.h | 3 |
3 files changed, 40 insertions, 0 deletions
diff --git a/BuildTools/Eclipse/Swift (Windows Debug).launch b/BuildTools/Eclipse/Swift (Windows Debug).launch new file mode 100644 index 0000000..d1f0212 --- /dev/null +++ b/BuildTools/Eclipse/Swift (Windows Debug).launch @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<launchConfiguration type="org.eclipse.cdt.launch.applicationLaunchType"> +<booleanAttribute key="org.eclipse.cdt.dsf.gdb.AUTO_SOLIB" value="true"/> +<listAttribute key="org.eclipse.cdt.dsf.gdb.AUTO_SOLIB_LIST"/> +<stringAttribute key="org.eclipse.cdt.dsf.gdb.DEBUG_NAME" value="gdb"/> +<stringAttribute key="org.eclipse.cdt.dsf.gdb.GDB_INIT" value=".gdbinit"/> +<booleanAttribute key="org.eclipse.cdt.dsf.gdb.NON_STOP" value="false"/> +<booleanAttribute key="org.eclipse.cdt.dsf.gdb.REVERSE" value="false"/> +<listAttribute key="org.eclipse.cdt.dsf.gdb.SOLIB_PATH"/> +<booleanAttribute key="org.eclipse.cdt.dsf.gdb.UPDATE_THREADLIST_ON_SUSPEND" value="false"/> +<booleanAttribute key="org.eclipse.cdt.dsf.gdb.internal.ui.launching.LocalApplicationCDebuggerTab.DEFAULTS_SET" value="true"/> +<intAttribute key="org.eclipse.cdt.launch.ATTR_BUILD_BEFORE_LAUNCH_ATTR" value="2"/> +<stringAttribute key="org.eclipse.cdt.launch.COREFILE_PATH" value=""/> +<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_ID" value="gdb"/> +<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_START_MODE" value="run"/> +<booleanAttribute key="org.eclipse.cdt.launch.DEBUGGER_STOP_AT_MAIN" value="true"/> +<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_STOP_AT_MAIN_SYMBOL" value="main"/> +<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_ARGUMENTS" value="--debug"/> +<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_NAME" value="Swift/QtUI/Swift.exe"/> +<stringAttribute key="org.eclipse.cdt.launch.PROJECT_ATTR" value="swift"/> +<stringAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_ID_ATTR" value="0.980756260.1834106966.226646757"/> +<booleanAttribute key="org.eclipse.cdt.launch.use_terminal" value="true"/> +<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS"> +<listEntry value="/swift"/> +</listAttribute> +<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES"> +<listEntry value="4"/> +</listAttribute> +<mapAttribute key="org.eclipse.debug.core.preferred_launchers"/> +<listAttribute key="org.eclipse.debug.ui.favoriteGroups"> +<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/> +<listEntry value="org.eclipse.debug.ui.launchGroup.run"/> +</listAttribute> +</launchConfiguration> diff --git a/Swiften/EventLoop/EventLoop.cpp b/Swiften/EventLoop/EventLoop.cpp index c6d42d8..69d8abe 100644 --- a/Swiften/EventLoop/EventLoop.cpp +++ b/Swiften/EventLoop/EventLoop.cpp @@ -21,6 +21,8 @@ EventLoop::~EventLoop() { } void EventLoop::handleEvent(const Event& event) { + //SWIFT_LOG(debug) << "Handling event " << event.id << std::endl; + if (handlingEvents_) { // We're being called recursively. Push in the list of events to // handle in the parent handleEvent() @@ -70,6 +72,7 @@ void EventLoop::postEvent(boost::function<void ()> callback, boost::shared_ptr<E nextEventID_++; events_.push_back(event); } + //SWIFT_LOG(debug) << "Posting event " << event.id << std::endl; post(event); } diff --git a/Swiften/EventLoop/Qt/QtEventLoop.h b/Swiften/EventLoop/Qt/QtEventLoop.h index 258a920..b42b916 100644 --- a/Swiften/EventLoop/Qt/QtEventLoop.h +++ b/Swiften/EventLoop/Qt/QtEventLoop.h @@ -15,6 +15,9 @@ class QtEventLoop : public QObject, public Swift::EventLoop { public: QtEventLoop() {} + ~QtEventLoop() { + QCoreApplication::removePostedEvents(this); + } virtual void post(const Swift::Event& event) { QCoreApplication::postEvent(this, new Event(event)); |