Kaydet (Commit) 938477a0 authored tarafından Enrico Tröger's avatar Enrico Tröger

Fix X PRIMARY selection issue when Scintilla widget is unrealized/re-realized…

Fix X PRIMARY selection issue when Scintilla widget is unrealized/re-realized (Backport from Scintilla HG, original patch by Matthew Brush).

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5692 ea778897-0a13-0410-b9d1-a72fbfd435f5
üst c06d9af6
2011-04-04 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
* scintilla/gtk/ScintillaGTK.cxx:
Fix X PRIMARY selection issue when Scintilla widget is
unrealized/re-realized
(Backport from Scintilla HG, original patch by Matthew Brush).
2011-04-04 Colomban Wendling <colomban(at)geany(dot)org>
* scintilla/gtk/PlatGTK.cxx:
......
......@@ -420,6 +420,14 @@ void ScintillaGTK::RealizeThis(GtkWidget *widget) {
gtk_widget_realize(widtxt);
gtk_widget_realize(PWidget(scrollbarv));
gtk_widget_realize(PWidget(scrollbarh));
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 +437,14 @@ 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 +686,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));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment