Kaydet (Commit) ba58a391 authored tarafından Colomban Wendling's avatar Colomban Wendling

GTK: Get border for the exact current style's state on GTK 3

GTK 3.20 doesn't seem to like it so much when looking up details of a
non-exact current style context state, so use the current one.

This is GTK being really picky as in this case we are just missing the
`DIR_LTR` flag, which we definitely don't care about, but let's make it
happy.

X-Scintilla-Bug-URL: https://sourceforge.net/p/scintilla/bugs/1825/
X-Scintilla-Commit-ID: 9fc624da4a3d935633c45fb56d0e9a77ef9b5af1
üst abf0365e
......@@ -1550,9 +1550,10 @@ PRectangle ListBoxX::GetDesiredRect() {
int row_height = GetRowHeight();
#if GTK_CHECK_VERSION(3,0,0)
GtkStyleContext *styleContextFrame = gtk_widget_get_style_context(PWidget(frame));
GtkStateFlags stateFlagsFrame = gtk_style_context_get_state(styleContextFrame);
GtkBorder padding, border, border_border = { 0, 0, 0, 0 };
gtk_style_context_get_padding(styleContextFrame, GTK_STATE_FLAG_NORMAL, &padding);
gtk_style_context_get_border(styleContextFrame, GTK_STATE_FLAG_NORMAL, &border);
gtk_style_context_get_padding(styleContextFrame, stateFlagsFrame, &padding);
gtk_style_context_get_border(styleContextFrame, stateFlagsFrame, &border);
# if GTK_CHECK_VERSION(3,20,0)
// on GTK 3.20 the frame border is in a sub-node "border".
......@@ -1564,7 +1565,7 @@ PRectangle ListBoxX::GetDesiredRect() {
gtk_widget_path_iter_set_object_name(widget_path, -1, "border");
gtk_style_context_set_path(styleContextFrameBorder, widget_path);
gtk_widget_path_free(widget_path);
gtk_style_context_get_border(styleContextFrameBorder, GTK_STATE_FLAG_NORMAL, &border_border);
gtk_style_context_get_border(styleContextFrameBorder, stateFlagsFrame, &border_border);
g_object_unref(styleContextFrameBorder);
# else // < 3.20
if (gtk_check_version(3, 20, 0) == NULL) {
......
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