aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--doc/ScintillaHistory.html3
-rw-r--r--gtk/PlatGTK.cxx6
-rw-r--r--gtk/ScintillaGTK.cxx3
3 files changed, 11 insertions, 1 deletions
diff --git a/doc/ScintillaHistory.html b/doc/ScintillaHistory.html
index 29611b466..6f97a07ff 100644
--- a/doc/ScintillaHistory.html
+++ b/doc/ScintillaHistory.html
@@ -528,6 +528,9 @@
The Python lexer partly supports f-strings, allows Unicode identifiers, and no longer allows @1 to be a decorator.
<a href="http://sourceforge.net/p/scintilla/bugs/1848/">Bug #1848</a>.
</li>
+ <li>
+ Fix display of autocompletion lists and calltips on GTK+ 3.22 on Wayland.
+ </li>
</ul>
<h3>
<a href="http://www.scintilla.org/scite372.zip">Release 3.7.2</a>
diff --git a/gtk/PlatGTK.cxx b/gtk/PlatGTK.cxx
index 055a318a4..f0377d238 100644
--- a/gtk/PlatGTK.cxx
+++ b/gtk/PlatGTK.cxx
@@ -1401,7 +1401,7 @@ static void StyleSet(GtkWidget *w, GtkStyle*, void*) {
#endif
}
-void ListBoxX::Create(Window &, int, Point, int, bool, int) {
+void ListBoxX::Create(Window &parent, int, Point, int, bool, int) {
if (widCached != 0) {
wid = widCached;
return;
@@ -1475,6 +1475,10 @@ void ListBoxX::Create(Window &, int, Point, int, bool, int) {
gtk_widget_show(widget);
g_signal_connect(G_OBJECT(widget), "button_press_event",
G_CALLBACK(ButtonPress), this);
+
+ GtkWidget *top = gtk_widget_get_toplevel(static_cast<GtkWidget *>(parent.GetID()));
+ gtk_window_set_transient_for(GTK_WINDOW(static_cast<GtkWidget *>(wid)),
+ GTK_WINDOW(top));
}
void ListBoxX::SetFont(Font &scint_font) {
diff --git a/gtk/ScintillaGTK.cxx b/gtk/ScintillaGTK.cxx
index ae7ff7a16..e6bafc938 100644
--- a/gtk/ScintillaGTK.cxx
+++ b/gtk/ScintillaGTK.cxx
@@ -1301,6 +1301,9 @@ void ScintillaGTK::CreateCallTipWindow(PRectangle rc) {
G_CALLBACK(ScintillaGTK::PressCT), static_cast<void *>(this));
gtk_widget_set_events(widcdrw,
GDK_EXPOSURE_MASK | GDK_BUTTON_PRESS_MASK);
+ GtkWidget *top = gtk_widget_get_toplevel(static_cast<GtkWidget *>(wMain.GetID()));
+ gtk_window_set_transient_for(GTK_WINDOW(static_cast<GtkWidget *>(PWidget(ct.wCallTip))),
+ GTK_WINDOW(top));
}
gtk_widget_set_size_request(PWidget(ct.wDraw), rc.Width(), rc.Height());
ct.wDraw.Show();