aboutsummaryrefslogtreecommitdiffhomepage
path: root/gtk/ScintillaGTK.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'gtk/ScintillaGTK.cxx')
-rw-r--r--gtk/ScintillaGTK.cxx7
1 files changed, 6 insertions, 1 deletions
diff --git a/gtk/ScintillaGTK.cxx b/gtk/ScintillaGTK.cxx
index 8fbc58a10..675962e1d 100644
--- a/gtk/ScintillaGTK.cxx
+++ b/gtk/ScintillaGTK.cxx
@@ -659,7 +659,8 @@ void ScintillaGTK::GetSelection(GtkSelectionData *selection_data, guint info, ch
}
void ScintillaGTK::UnclaimSelection(GdkEventSelection *selection_event) {
- if (selection_event->selection == GDK_SELECTION_PRIMARY) {
+ if ((selection_event->selection == GDK_SELECTION_PRIMARY) &&
+ !OwnPrimarySelection()) {
delete [] primarySelectionCopy;
primarySelectionCopy = NULL;
primarySelection = false;
@@ -718,6 +719,10 @@ gint ScintillaGTK::MoveResize(GtkWidget *, GtkAllocation *allocation, ScintillaG
gint ScintillaGTK::Press(GtkWidget *, GdkEventButton *event, ScintillaGTK *sciThis) {
//Platform::DebugPrintf("Press %x time=%d state = %x button = %x\n",sciThis,event->time, event->state, event->button);
+ // Do not use GTK+ double click events as Scintilla has its own double click detection
+ if (event->type != GDK_BUTTON_PRESS)
+ return FALSE;
+
sciThis->evbtn = *event;
Point pt;
pt.x = int(event->x);