aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--gtk/ScintillaGTK.cxx32
1 files changed, 24 insertions, 8 deletions
diff --git a/gtk/ScintillaGTK.cxx b/gtk/ScintillaGTK.cxx
index 55ce3f7d1..117357668 100644
--- a/gtk/ScintillaGTK.cxx
+++ b/gtk/ScintillaGTK.cxx
@@ -420,6 +420,25 @@ void ScintillaGTK::RealizeThis(GtkWidget *widget) {
gtk_widget_realize(widtxt);
gtk_widget_realize(PWidget(scrollbarv));
gtk_widget_realize(PWidget(scrollbarh));
+
+ cursor = gdk_cursor_new(GDK_XTERM);
+ gdk_window_set_cursor(PWidget(wText)->window, cursor);
+ gdk_cursor_unref(cursor);
+
+ cursor = gdk_cursor_new(GDK_LEFT_PTR);
+ gdk_window_set_cursor(PWidget(scrollbarv)->window, cursor);
+ gdk_cursor_unref(cursor);
+
+ cursor = gdk_cursor_new(GDK_LEFT_PTR);
+ gdk_window_set_cursor(PWidget(scrollbarh)->window, cursor);
+ gdk_cursor_unref(cursor);
+
+ gtk_selection_add_targets(widget, GDK_SELECTION_PRIMARY,
+ clipboardCopyTargets, nClipboardCopyTargets);
+#ifndef USE_GTK_CLIPBOARD
+ gtk_selection_add_targets(widget, atomClipboard,
+ clipboardPasteTargets, nClipboardPasteTargets);
+#endif
}
void ScintillaGTK::Realize(GtkWidget *widget) {
@@ -429,6 +448,11 @@ void ScintillaGTK::Realize(GtkWidget *widget) {
void ScintillaGTK::UnRealizeThis(GtkWidget *widget) {
try {
+ gtk_selection_clear_targets(widget, GDK_SELECTION_PRIMARY);
+#ifndef USE_GTK_CLIPBOARD
+ gtk_selection_clear_targets(widget, atomClipboard);
+#endif
+
if (IS_WIDGET_MAPPED(widget)) {
gtk_widget_unmap(widget);
}
@@ -670,14 +694,6 @@ void ScintillaGTK::Initialise() {
gtk_widget_grab_focus(PWidget(wMain));
- gtk_selection_add_targets(GTK_WIDGET(PWidget(wMain)), GDK_SELECTION_PRIMARY,
- clipboardCopyTargets, nClipboardCopyTargets);
-
-#ifndef USE_GTK_CLIPBOARD
- gtk_selection_add_targets(GTK_WIDGET(PWidget(wMain)), atomClipboard,
- clipboardPasteTargets, nClipboardPasteTargets);
-#endif
-
gtk_drag_dest_set(GTK_WIDGET(PWidget(wMain)),
GTK_DEST_DEFAULT_ALL, clipboardPasteTargets, nClipboardPasteTargets,
static_cast<GdkDragAction>(GDK_ACTION_COPY | GDK_ACTION_MOVE));