aboutsummaryrefslogtreecommitdiffhomepage
path: root/gtk/PlatGTK.cxx
diff options
context:
space:
mode:
authornyamatongwe <unknown>2009-05-03 03:52:19 +0000
committernyamatongwe <unknown>2009-05-03 03:52:19 +0000
commit3337bd8eeec8eec42e9f6900cc74c7068c07be71 (patch)
tree869861d1a6c1d1eb9cf7f1f2d0e2f4f6616f7cb0 /gtk/PlatGTK.cxx
parent43ecd9afa99ea3466c8a055eecea0b4c4ad7b158 (diff)
downloadscintilla-mirror-3337bd8eeec8eec42e9f6900cc74c7068c07be71.tar.gz
Turned on exceptions.
Translate exceptions into status codes before leaving Scintilla. Pick up status codes in SciTE and throw a ScintillaFailure exception. SciTE on Windows catches ScintillaFailure, shows message and exits.
Diffstat (limited to 'gtk/PlatGTK.cxx')
-rw-r--r--gtk/PlatGTK.cxx14
1 files changed, 9 insertions, 5 deletions
diff --git a/gtk/PlatGTK.cxx b/gtk/PlatGTK.cxx
index fecd3b965..9bc207896 100644
--- a/gtk/PlatGTK.cxx
+++ b/gtk/PlatGTK.cxx
@@ -2021,12 +2021,16 @@ static void SelectionAC(GtkWidget *, gint row, gint,
#endif
static gboolean ButtonPress(GtkWidget *, GdkEventButton* ev, gpointer p) {
- ListBoxX* lb = reinterpret_cast<ListBoxX*>(p);
- if (ev->type == GDK_2BUTTON_PRESS && lb->doubleClickAction != NULL) {
- lb->doubleClickAction(lb->doubleClickActionData);
- return TRUE;
- }
+ try {
+ ListBoxX* lb = reinterpret_cast<ListBoxX*>(p);
+ if (ev->type == GDK_2BUTTON_PRESS && lb->doubleClickAction != NULL) {
+ lb->doubleClickAction(lb->doubleClickActionData);
+ return TRUE;
+ }
+ } catch (...) {
+ // No pointer back to Scintilla to save status
+ }
return FALSE;
}