[geany/geany] ba58a3: GTK: Get border for the exact current style's state on GTK 3

Colomban Wendling git-noreply at xxxxx
Mon May 2 13:19:26 UTC 2016


Branch:      refs/heads/master
Author:      Colomban Wendling <ban at herbesfolles.org>
Committer:   Colomban Wendling <ban at herbesfolles.org>
Date:        Mon, 02 May 2016 13:19:26 UTC
Commit:      ba58a391c73024a9b40c638757352e171dd53333
             https://github.com/geany/geany/commit/ba58a391c73024a9b40c638757352e171dd53333

Log Message:
-----------
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


Modified Paths:
--------------
    scintilla/gtk/PlatGTK.cxx

Modified: scintilla/gtk/PlatGTK.cxx
7 lines changed, 4 insertions(+), 3 deletions(-)
===================================================================
@@ -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) {



--------------
This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).


More information about the Commits mailing list