[zenity] Bug #734196
- From: Arx Henrique Pereira da Cruz <arxcruz src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [zenity] Bug #734196
- Date: Tue, 21 Apr 2015 08:55:56 +0000 (UTC)
commit 4fe3fa98d941f2a00750bc5ce0c2a23846006265
Author: Andreas Mohr <andi lisas de>
Date: Tue Apr 21 09:55:40 2015 +0200
Bug #734196
--info destroys X11 primary selection content, and does not document that either
src/msg.c | 26 ++++++++++++++++++++++++++
1 files changed, 26 insertions(+), 0 deletions(-)
---
diff --git a/src/msg.c b/src/msg.c
index 4132ae9..fb54942 100644
--- a/src/msg.c
+++ b/src/msg.c
@@ -51,6 +51,31 @@ zenity_msg_construct_question_dialog (GtkWidget *dialog, ZenityMsgData *msg_data
}
}
+static void
+zenity_label_widget_clipboard_selection(GtkWidget *widget)
+{
+ /* Workaround hotfix for suspected toolkit issue:
+ since focus change of the dialog's focussed widget (text)
+ somehow currently chooses to destroy
+ a pre-existing (read: foreign, user-initiated) X11 primary selection
+ (via gtk_label_select_region() -> ...
+ -> gtk_clipboard_set_contents()/gtk_clipboard_clear()),
+ we need to ensure
+ that the widget does have its gtk-label-select-on-focus property off,
+ in order to avoid having the label become selected automatically
+ and thereby having pre-existing clipboard content nullified.
+ Side note: this selection issue only applies to widgets
+ which have both
+ <property name="can_focus">True</property>
+ <property name="selectable">True</property>
+ .
+ */
+ g_object_set(gtk_widget_get_settings (widget),
+ "gtk-label-select-on-focus",
+ FALSE,
+ NULL);
+}
+
void
zenity_msg (ZenityData *data, ZenityMsgData *msg_data)
{
@@ -164,6 +189,7 @@ zenity_msg (ZenityData *data, ZenityMsgData *msg_data)
gtk_label_set_text (GTK_LABEL (text), msg_data->dialog_text);
else
gtk_label_set_markup (GTK_LABEL (text), g_strcompress (msg_data->dialog_text));
+ zenity_label_widget_clipboard_selection(GTK_WIDGET (text));
}
if (msg_data->ellipsize)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]