Browse Source

Catch exceptions by reference

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
Pierre Ossman 6 years ago
parent
commit
8ee522a66e

+ 1
- 1
common/rfb/DecodeManager.cxx View File

@@ -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);

+ 1
- 1
common/rfb/HTTPServer.cxx View File

@@ -125,7 +125,7 @@ copyStream(InStream& is, OutStream& os) {
while (1) {
os.writeU8(is.readU8());
}
} catch (rdr::EndOfStream) {
} catch (rdr::EndOfStream&) {
}
}


+ 3
- 3
tests/decperf.cxx View File

@@ -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);
}

+ 3
- 3
tests/encperf.cxx View File

@@ -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);
}

+ 1
- 1
win/rfb_win32/Dialog.cxx View File

@@ -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;

+ 4
- 4
win/rfb_win32/Registry.cxx View File

@@ -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;
}
}

+ 2
- 2
win/vncconfig/Connections.h View File

@@ -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;
}
}

+ 2
- 2
win/vncconfig/Legacy.cxx View File

@@ -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

+ 2
- 2
win/winvnc/winvnc.cxx View File

@@ -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,

Loading…
Cancel
Save