summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemko Tronçon <git@el-tramo.be>2011-01-22 12:26:37 (GMT)
committerRemko Tronçon <git@el-tramo.be>2011-01-22 12:26:37 (GMT)
commit1aaadc84dd9a34a5df6b9dbef867bdaa46d07a30 (patch)
tree7ebf7566b7d53a5b7249370a3141cce30c5ac819
parent81db7d1ca46b7b0d922a1107d93f49b2cebb6bfb (diff)
downloadswift-contrib-1aaadc84dd9a34a5df6b9dbef867bdaa46d07a30.zip
swift-contrib-1aaadc84dd9a34a5df6b9dbef867bdaa46d07a30.tar.bz2
Some small event loop tweaks.
-rw-r--r--BuildTools/Eclipse/Swift (Windows Debug).launch34
-rw-r--r--Swiften/EventLoop/EventLoop.cpp3
-rw-r--r--Swiften/EventLoop/Qt/QtEventLoop.h3
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));