← Back to team overview

linuxdcpp-team team mailing list archive

[Branch ~dcplusplus-team/dcplusplus/trunk] Rev 2189: fixed scrambled tab texts

 

------------------------------------------------------------
revno: 2189
committer: poy <poy@xxxxxxxxxx>
branch nick: repo
timestamp: Fri 2010-08-06 23:35:10 +0200
message:
  fixed scrambled tab texts
modified:
  dwt/include/dwt/widgets/TabView.h
  dwt/src/widgets/TabView.cpp


--
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 'dwt/include/dwt/widgets/TabView.h'
--- dwt/include/dwt/widgets/TabView.h	2010-08-06 21:26:01 +0000
+++ dwt/include/dwt/widgets/TabView.h	2010-08-06 21:35:10 +0000
@@ -142,6 +142,7 @@
 	struct TabInfo {
 		TabView* control; // for painting messages
 		ContainerPtr w;
+		tstring text;
 		ContextMenuFunction handleContextMenu;
 		bool marked;
 		TabInfo(TabView* control_, ContainerPtr w_) : control(control_), w(w_), handleContextMenu(0), marked(false) { }

=== modified file 'dwt/src/widgets/TabView.cpp'
--- dwt/src/widgets/TabView.cpp	2010-08-06 21:26:01 +0000
+++ dwt/src/widgets/TabView.cpp	2010-08-06 21:35:10 +0000
@@ -142,8 +142,9 @@
 	item.lParam = reinterpret_cast<LPARAM>(ti);
 
 	if(!hasStyle(TCS_OWNERDRAWFIXED)) {
+		ti->text = formatTitle(w->getText());
 		item.mask |= TCIF_TEXT;
-		item.pszText = const_cast<LPTSTR>(formatTitle(w->getText()).c_str());
+		item.pszText = const_cast<LPTSTR>(ti->text.c_str());
 	}
 
 	if(image != -1) {
@@ -736,9 +737,13 @@
 }
 
 void TabView::setText(unsigned index, const tstring& text) {
-	TCITEM item = { TCIF_TEXT };
-	item.pszText = const_cast<LPTSTR>(text.c_str());
-	TabCtrl_SetItem(handle(), index, &item);
+	TabInfo* ti = getTabInfo(index);
+	if(ti) {
+		ti->text = text;
+		TCITEM item = { TCIF_TEXT };
+		item.pszText = const_cast<LPTSTR>(ti->text.c_str());
+		TabCtrl_SetItem(handle(), index, &item);
+	}
 }
 
 tstring TabView::getText(unsigned idx) const