]> jfr.im git - irc/evilnet/znc.git/commitdiff
Don't require reconnect after changing encoding.
authorAlexey Sokolov <redacted>
Sat, 9 Jan 2016 18:18:44 +0000 (18:18 +0000)
committerAlexey Sokolov <redacted>
Sat, 9 Jan 2016 18:18:44 +0000 (18:18 +0000)
modules/data/webadmin/tmpl/add_edit_network.tmpl
modules/data/webadmin/tmpl/add_edit_user.tmpl
src/IRCNetwork.cpp
src/User.cpp

index 9d7eded8f9b42be55ce7c1494e1f0c4b1c561629..597bf02f56c77f50462121899ba9ef90a7d7d402 100644 (file)
                                <script type="text/javascript">floodprotection_change();</script>
 
                                <div style="clear:both;"></div>
-                               <div class="subsection" title="Character encoding used between ZNC and IRC server. After changing this, reconnect ZNC to server.">
+                               <div class="subsection" title="Character encoding used between ZNC and IRC server.">
                                        <div class="inputlabel">Server encoding:</div>
                                        <? INC encoding_settings.tmpl ?>
                                </div>
index a62bd6cdeab82ac42ecb44e6101176a07878f2aa..b05bfcf7643a70d3f39983aaf38f2b02b0b2bd5e 100644 (file)
                                        </datalist>
                                </div>
                                <div style="clear:both;"></div>
-                               <div class="subsection" title="Character encoding used between IRC client and ZNC. After changing this, reconnect client to ZNC.">
+                               <div class="subsection" title="Character encoding used between IRC client and ZNC.">
                                        <div class="inputlabel">Client encoding:</div>
                                        <? INC encoding_settings.tmpl ?>
                                </div>
index 3d6221c0065637d232f9c61c9b7e009fc5f6c72f..7f6da53f0196952cd577616cbc1089bc3da98b41 100644 (file)
@@ -1392,6 +1392,9 @@ void CIRCNetwork::SetBindHost(const CString& s) {
 
 void CIRCNetwork::SetEncoding(const CString& s) {
        m_sEncoding = s;
+       if (GetIRCSock()) {
+               GetIRCSock()->SetEncoding(s);
+       }
 }
 
 void CIRCNetwork::SetQuitMsg(const CString& s) {
index 64821d0b94c3cf49e6c7db9ac76343ac207b3793..f7b42272f13b5c97ab8c4bdfd8c00a531d1a197d 100644 (file)
@@ -1147,7 +1147,12 @@ void CUser::SetDenyLoadMod(bool b) { m_bDenyLoadMod = b; }
 void CUser::SetAdmin(bool b) { m_bAdmin = b; }
 void CUser::SetDenySetBindHost(bool b) { m_bDenySetBindHost = b; }
 void CUser::SetDefaultChanModes(const CString& s) { m_sDefaultChanModes = s; }
-void CUser::SetClientEncoding(const CString& s) { m_sClientEncoding = s; }
+void CUser::SetClientEncoding(const CString& s) {
+       m_sClientEncoding = s;
+       for (CClient* pClient : GetAllClients()) {
+               pClient->SetEncoding(s);
+       }
+}
 void CUser::SetQuitMsg(const CString& s) { m_sQuitMsg = s; }
 void CUser::SetAutoClearChanBuffer(bool b) {
        for (CIRCNetwork* pNetwork : m_vIRCNetworks) {