Fix issue rendering messages outside reachable scroll area
Related: https://gitlab.gnome.org/GNOME/gtk/-/issues/2556
This commit is contained in:
parent
12cd56612d
commit
2f52291be5
|
@ -161,6 +161,7 @@ SOURCES
|
|||
src/ui/util/helper.vala
|
||||
src/ui/util/label_hybrid.vala
|
||||
src/ui/util/sizing_bin.vala
|
||||
src/ui/util/size_request_box.vala
|
||||
src/ui/util/scaling_image.vala
|
||||
src/ui/util/preview_file_chooser_native.vala
|
||||
CUSTOM_VAPIS
|
||||
|
|
|
@ -28,11 +28,12 @@
|
|||
<object class="GtkEventBox" id="main_event_box">
|
||||
<property name="visible">True</property>
|
||||
<child>
|
||||
<object class="GtkBox" id="main">
|
||||
<object class="DinoUiSizeRequestBox" id="main">
|
||||
<property name="margin-bottom">15</property>
|
||||
<property name="expand">False</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="size-request-mode">height-for-width</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
|
|
|
@ -106,7 +106,7 @@ public class ConversationView : Box, Plugins.ConversationItemCollection, Plugins
|
|||
// Get widget under pointer
|
||||
int h = 0;
|
||||
bool @break = false;
|
||||
Widget w = null;
|
||||
Widget? w = null;
|
||||
main.@foreach((widget) => {
|
||||
if (break) return;
|
||||
|
||||
|
@ -118,6 +118,12 @@ public class ConversationView : Box, Plugins.ConversationItemCollection, Plugins
|
|||
}
|
||||
});
|
||||
|
||||
if (w == null) {
|
||||
if (currently_highlighted != null) currently_highlighted.unset_state_flags(StateFlags.PRELIGHT);
|
||||
currently_highlighted = null;
|
||||
return;
|
||||
}
|
||||
|
||||
// Get widget coordinates in main
|
||||
int widget_x, widget_y;
|
||||
w.translate_coordinates(main, 0, 0, out widget_x, out widget_y);
|
||||
|
|
11
main/src/ui/util/size_request_box.vala
Normal file
11
main/src/ui/util/size_request_box.vala
Normal file
|
@ -0,0 +1,11 @@
|
|||
using Gtk;
|
||||
|
||||
namespace Dino.Ui {
|
||||
class SizeRequestBox : Box {
|
||||
public SizeRequestMode size_request_mode { get; set; default = SizeRequestMode.CONSTANT_SIZE; }
|
||||
|
||||
public override Gtk.SizeRequestMode get_request_mode() {
|
||||
return size_request_mode;
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue