I've changed the behaviour of the function slightly and one can now force the update.
Index: src/amuleDlg.cpp
===================================================================
--- src/amuleDlg.cpp (revisione 8719)
+++ src/amuleDlg.cpp (copia locale)
@@ -646,7 +646,7 @@
}
-void CamuleDlg::ShowConnectionState()
+void CamuleDlg::ShowConnectionState(bool skinChanged)
{
static wxImageList status_arrows(16,16,true,0);
if (!status_arrows.GetImageCount()) {
@@ -748,7 +748,7 @@
currentState = ECS_Disconnected;
}
- if (currentState != s_oldState) {
+ if ( (true == skinChanged) || (currentState != s_oldState) ) {
wxWindowUpdateLocker freezer(m_wndToolbar);
wxToolBarToolBase* toolbarTool = m_wndToolbar->RemoveTool(ID_BUTTONCONNECT);
@@ -1333,7 +1333,7 @@
wndToolbar->Realize();
// Updates the "Connect" button, and so on.
- ShowConnectionState();
+ ShowConnectionState(true);
}
Index: src/amuleDlg.h
===================================================================
--- src/amuleDlg.h (revisione 8719)
+++ src/amuleDlg.h (copia locale)
@@ -118,7 +118,7 @@
void ResetLog(int id);
void ShowUserCount(const wxString& info = wxEmptyString);
- void ShowConnectionState();
+ void ShowConnectionState(bool skinChanged = false);
void ShowTransferRate();
bool StatisticsWindowActive()