← Back to team overview

linuxdcpp-team team mailing list archive

[Branch ~dcplusplus-team/dcplusplus/trunk] Rev 2853: run the 2nd close message more asynchronously

 

------------------------------------------------------------
revno: 2853
committer: poy <poy@xxxxxxxxxx>
branch nick: trunk
timestamp: Sat 2012-02-04 18:18:19 +0100
message:
  run the 2nd close message more asynchronously
modified:
  changelog.txt
  win32/HtmlToRtf.cpp
  win32/MDIChildFrame.h


--
lp:dcplusplus
https://code.launchpad.net/~dcplusplus-team/dcplusplus/trunk

Your team Dcplusplus-team is subscribed to branch lp:dcplusplus.
To unsubscribe from this branch go to https://code.launchpad.net/~dcplusplus-team/dcplusplus/trunk/+edit-subscription
=== modified file 'changelog.txt'
--- changelog.txt	2012-01-29 18:05:27 +0000
+++ changelog.txt	2012-02-04 17:18:19 +0000
@@ -17,6 +17,7 @@
 * [L#300971] Keep updating GUI elements while a menu is up (poy)
 * Apply user matching definition styles to nicks in chats (poy)
 * Fix favorite hub groups on Win XP (poy)
+* [L#925659] Safer window cleanup (poy)
 
 -- 0.791 2012-01-14 --
 * Update translations

=== modified file 'win32/HtmlToRtf.cpp'
--- win32/HtmlToRtf.cpp	2012-02-04 16:40:44 +0000
+++ win32/HtmlToRtf.cpp	2012-02-04 17:18:19 +0000
@@ -99,6 +99,10 @@
 		contexts.back().setFlag(Context::Underlined);
 	}
 
+	if(attribs.empty()) {
+		return;
+	}
+
 	const auto& style = getAttrib(attribs, "style", 0);
 
 	enum { Declaration, Font, Decoration, TextColor, BgColor, Unknown } state = Declaration;

=== modified file 'win32/MDIChildFrame.h'
--- win32/MDIChildFrame.h	2012-01-22 20:27:14 +0000
+++ win32/MDIChildFrame.h	2012-02-04 17:18:19 +0000
@@ -241,7 +241,8 @@
 			return true;
 		} else if(t().preClosing()) {
 			reallyClose = true;
-			this->close(true);
+			// async to make sure all other async calls have been consumed
+			this->callAsync([this] { this->close(true); });
 			return false;
 		}
 		return false;