We use polymorphic exception objects, so catching by value invokes the copy constructor and stuff that we don't really want.tags/v1.8.90
@@ -277,7 +277,7 @@ void DecodeManager::DecodeThread::worker() | |||
entry->decoder->decodeRect(entry->rect, entry->bufferStream->data(), | |||
entry->bufferStream->length(), | |||
*entry->cp, entry->pb); | |||
} catch (rdr::Exception e) { | |||
} catch (rdr::Exception& e) { | |||
manager->setThreadException(e); | |||
} catch(...) { | |||
assert(false); |
@@ -125,7 +125,7 @@ copyStream(InStream& is, OutStream& os) { | |||
while (1) { | |||
os.writeU8(is.readU8()); | |||
} | |||
} catch (rdr::EndOfStream) { | |||
} catch (rdr::EndOfStream&) { | |||
} | |||
} | |||
@@ -142,7 +142,7 @@ static struct stats runTest(const char *fn) | |||
try { | |||
cc = new CConn(fn); | |||
} catch (rdr::Exception e) { | |||
} catch (rdr::Exception& e) { | |||
fprintf(stderr, "Failed to open rfb file: %s\n", e.str()); | |||
exit(1); | |||
} | |||
@@ -150,8 +150,8 @@ static struct stats runTest(const char *fn) | |||
try { | |||
while (true) | |||
cc->processMsg(); | |||
} catch (rdr::EndOfStream e) { | |||
} catch (rdr::Exception e) { | |||
} catch (rdr::EndOfStream& e) { | |||
} catch (rdr::Exception& e) { | |||
fprintf(stderr, "Failed to run rfb file: %s\n", e.str()); | |||
exit(1); | |||
} |
@@ -342,7 +342,7 @@ static struct stats runTest(const char *fn) | |||
try { | |||
cc = new CConn(fn); | |||
} catch (rdr::Exception e) { | |||
} catch (rdr::Exception& e) { | |||
fprintf(stderr, "Failed to open rfb file: %s\n", e.str()); | |||
exit(1); | |||
} | |||
@@ -350,8 +350,8 @@ static struct stats runTest(const char *fn) | |||
try { | |||
while (true) | |||
cc->processMsg(); | |||
} catch (rdr::EndOfStream e) { | |||
} catch (rdr::Exception e) { | |||
} catch (rdr::EndOfStream& e) { | |||
} catch (rdr::Exception& e) { | |||
fprintf(stderr, "Failed to run rfb file: %s\n", e.str()); | |||
exit(1); | |||
} |
@@ -344,7 +344,7 @@ bool PropSheet::showPropSheet(HWND owner, bool showApply, bool showCtxtHelp, boo | |||
delete [] hpages; hpages = 0; | |||
return true; | |||
} catch (rdr::Exception) { | |||
} catch (rdr::Exception&) { | |||
alreadyShowing = false; | |||
std::list<PropSheetPage*>::iterator pspi; |
@@ -164,7 +164,7 @@ TCHAR* RegKey::getString(const TCHAR* valname) const {return getRepresentation(v | |||
TCHAR* RegKey::getString(const TCHAR* valname, const TCHAR* def) const { | |||
try { | |||
return getString(valname); | |||
} catch(rdr::Exception) { | |||
} catch(rdr::Exception&) { | |||
return tstrDup(def); | |||
} | |||
} | |||
@@ -177,7 +177,7 @@ void RegKey::getBinary(const TCHAR* valname, void** data, int* length) const { | |||
void RegKey::getBinary(const TCHAR* valname, void** data, int* length, void* def, int deflen) const { | |||
try { | |||
getBinary(valname, data, length); | |||
} catch(rdr::Exception) { | |||
} catch(rdr::Exception&) { | |||
if (deflen) { | |||
*data = new char[deflen]; | |||
memcpy(*data, def, deflen); | |||
@@ -194,7 +194,7 @@ int RegKey::getInt(const TCHAR* valname) const { | |||
int RegKey::getInt(const TCHAR* valname, int def) const { | |||
try { | |||
return getInt(valname); | |||
} catch(rdr::Exception) { | |||
} catch(rdr::Exception&) { | |||
return def; | |||
} | |||
} | |||
@@ -269,7 +269,7 @@ bool RegKey::isValue(const TCHAR* valname) const { | |||
try { | |||
TCharArray tmp(getRepresentation(valname)); | |||
return true; | |||
} catch(rdr::Exception) { | |||
} catch(rdr::Exception&) { | |||
return false; | |||
} | |||
} |
@@ -76,7 +76,7 @@ namespace rfb { | |||
try { | |||
network::TcpFilter::Pattern pat(network::TcpFilter::parsePattern(CStr(newPat.buf))); | |||
pattern.replaceBuf(TCharArray(network::TcpFilter::patternToStr(pat)).takeBuf()); | |||
} catch(rdr::Exception e) { | |||
} catch(rdr::Exception& e) { | |||
MsgBox(NULL, TStr(e.str()), MB_ICONEXCLAMATION | MB_OK); | |||
return false; | |||
} | |||
@@ -261,7 +261,7 @@ namespace rfb { | |||
(http_port != getItemInt(IDC_HTTP_PORT)) || | |||
((http_port!=0) != (isItemChecked(IDC_HTTP_ENABLE)!=0)) || | |||
(rfb::Server::idleTimeout != getItemInt(IDC_IDLE_TIMEOUT)); | |||
} catch (rdr::Exception) { | |||
} catch (rdr::Exception&) { | |||
return false; | |||
} | |||
} |
@@ -127,7 +127,7 @@ void LegacyPage::LoadPrefs() | |||
// Finally, save the Hosts value | |||
regKey.setString(_T("Hosts"), TStr(newHosts.buf)); | |||
} catch (rdr::Exception) { | |||
} catch (rdr::Exception&) { | |||
MsgBox(0, _T("Unable to convert AuthHosts setting to Hosts format."), | |||
MB_ICONWARNING | MB_OK); | |||
} | |||
@@ -148,7 +148,7 @@ void LegacyPage::LoadPrefs() | |||
regKey.setBool(_T("AlwaysShared"), connectPriority == 1); | |||
regKey.setBool(_T("NeverShared"), connectPriority == 2); | |||
} catch(rdr::Exception) { | |||
} catch(rdr::Exception&) { | |||
} | |||
// Open the local, default-user settings |
@@ -172,13 +172,13 @@ static void processParams(int argc, char** argv) { | |||
// Try to clean up earlier services we've had | |||
try { | |||
rfb::win32::unregisterService("WinVNC4"); | |||
} catch (rdr::SystemException) { | |||
} catch (rdr::SystemException&) { | |||
// Do nothing as we might fail simply because there was no | |||
// service to remove | |||
} | |||
try { | |||
rfb::win32::unregisterService("TigerVNC Server"); | |||
} catch (rdr::SystemException) { | |||
} catch (rdr::SystemException&) { | |||
} | |||
if (rfb::win32::registerService(VNCServerService::Name, |