<p><b>@b4n</b> requested changes on this pull request.</p>

<p>Looks mostly OK and harmless, although I'm not fond of the style used to support both GTK versions.<br>
There's a few suspicious thing around the end though.</p><hr>

<p>In <a href="https://github.com/geany/geany-plugins/pull/791#discussion_r238775530">debugger/src/cell_renderers/cellrendererbreakicon.c</a>:</p>
<pre style='color:#555'>>              return;
+
+       g_object_get_property(G_OBJECT(cell), "is-expander", &is_expander_value);
+       is_expander = g_value_get_boolean(&is_expander_value);
+       g_value_unset(&is_expander_value);
</pre>
<p>You should probably just use the simpler version: <code>g_object_get(cell, "is-expander", &is_expander, NULL)</code></p>

<hr>

<p>In <a href="https://github.com/geany/geany-plugins/pull/791#discussion_r238776113">debugger/src/cell_renderers/cellrendererbreakicon.c</a>:</p>
<pre style='color:#555'>>      cell_renderer->mode = GTK_CELL_RENDERER_MODE_ACTIVATABLE;
+#endif
</pre>
<p>Here the GTK3 version would work on GTK2 too</p>

<hr>

<p>In <a href="https://github.com/geany/geany-plugins/pull/791#discussion_r238776859">debugger/src/cell_renderers/cellrendererbreakicon.h</a>:</p>
<pre style='color:#555'>>  
-  GdkPixbuf *GSEAL (pixbuf_enabled);
-  GdkPixbuf *GSEAL (pixbuf_disabled);
-  GdkPixbuf *GSEAL (pixbuf_conditional);
-  GdkPixbuf *GSEAL (pixbuf_file);
+  GdkPixbuf *pixbuf_enabled;
+  GdkPixbuf *pixbuf_disabled;
+  GdkPixbuf *pixbuf_conditional;
+  GdkPixbuf *pixbuf_file;
</pre>
<p>I guess this would ideally use a private member: the goal of <code>GSEAL()</code> during GTK3 transition preparation was to "hide" members to callers by mangling their name.  The "correct" solution is to use a private, opaque, structure.</p>

<hr>

<p>In <a href="https://github.com/geany/geany-plugins/pull/791#discussion_r238777410">debugger/src/cell_renderers/cellrendererframeicon.h</a>:</p>
<pre style='color:#555'>>  
-  GdkPixbuf *GSEAL (pixbuf_active);
-  GdkPixbuf *GSEAL (pixbuf_highlighted);
+  GdkPixbuf *pixbuf_active;
+  GdkPixbuf *pixbuf_highlighted;
</pre>
<p>Same for private</p>

<hr>

<p>In <a href="https://github.com/geany/geany-plugins/pull/791#discussion_r238782929">debugger/src/debug.c</a>:</p>
<pre style='color:#555'>> @@ -1048,12 +1068,24 @@ void debug_init(void)
                    NULL);
        grantpt(pty_master);
        unlockpt(pty_master);
+#if GTK_CHECK_VERSION(3, 0, 0)
+       pty = vte_pty_new_foreign_sync(pty_master, NULL, NULL);
+       vte_terminal_set_pty(VTE_TERMINAL(terminal), pty);
+       g_object_unref(pty);
+       scrollbar = gtk_scrollbar_new(GTK_ORIENTATION_VERTICAL, gtk_scrollable_get_vadjustment(GTK_SCROLLABLE(terminal)));
+       gtk_widget_set_can_focus(GTK_WIDGET(scrollbar), FALSE);
+#else
        vte_terminal_set_pty(VTE_TERMINAL(terminal), pty_master);
        scrollbar = gtk_vscrollbar_new(GTK_ADJUSTMENT(VTE_TERMINAL(terminal)->adjustment));
        GTK_WIDGET_UNSET_FLAGS(scrollbar, GTK_CAN_FOCUS);
</pre>
<p>This line could be using the GTK3 version</p>

<hr>

<p>In <a href="https://github.com/geany/geany-plugins/pull/791#discussion_r238784784">debugger/src/tpage.c</a>:</p>
<pre style='color:#555'>>      }
        g_list_free(modules);
        gtk_combo_box_set_active(GTK_COMBO_BOX(debugger_cmb), 0);
 
        /* arguments */
        args_frame = gtk_frame_new(_("Command Line Arguments"));
+#if GTK_CHECK_VERSION(3, 0, 0)
+       hbox = gtk_scrolled_window_new(
+               gtk_scrollable_get_hadjustment(GTK_SCROLLABLE(args_textview)),
+               gtk_scrollable_get_vadjustment(GTK_SCROLLABLE(args_textview)));
+       gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(hbox), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
</pre>
<p>This is weird to be so different between versions, if the view should be in a scrolled window, it probably should be in any case, even if it works OK with GTK2 but shows a GTK3 bug.</p>
<p>Also, <code>args_textview</code> seems ti be used before assignment a few lines down.</p>

<hr>

<p>In <a href="https://github.com/geany/geany-plugins/pull/791#discussion_r238785018">debugger/src/tpage.c</a>:</p>
<pre style='color:#555'>> @@ -279,8 +336,15 @@ static void tpage_create_widgets(void)
 
        /* environment */
        env_frame = gtk_frame_new(_("Environment Variables"));
+#if GTK_CHECK_VERSION(3, 0, 0)
+       hbox = gtk_scrolled_window_new(
+               gtk_scrollable_get_hadjustment(GTK_SCROLLABLE(args_textview)),
+               gtk_scrollable_get_vadjustment(GTK_SCROLLABLE(args_textview)));
+       gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(hbox), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
</pre>
<p>same here, and using the adjustment from <code>args_textview</code> seem wrong here, shouldn't it be <code>tree</code>?</p>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly, <a href="https://github.com/geany/geany-plugins/pull/791#pullrequestreview-181400912">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/ABDrJ_lfZeS4qUeCr4ksO5BrXJzd1WTFks5u1sAOgaJpZM4YrdeP">mute the thread</a>.<img src="https://github.com/notifications/beacon/ABDrJ6Ixy-pJv3WCaSaMT1ZHRg9InzYbks5u1sAOgaJpZM4YrdeP.gif" height="1" width="1" alt="" /></p>
<script type="application/json" data-scope="inboxmarkup">{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/geany/geany-plugins","title":"geany/geany-plugins","subtitle":"GitHub repository","main_image_url":"https://assets-cdn.github.com/images/email/message_cards/header.png","avatar_image_url":"https://assets-cdn.github.com/images/email/message_cards/avatar.png","action":{"name":"Open in GitHub","url":"https://github.com/geany/geany-plugins"}},"updates":{"snippets":[{"icon":"PERSON","message":"@b4n requested changes on #791"}],"action":{"name":"View Pull Request","url":"https://github.com/geany/geany-plugins/pull/791#pullrequestreview-181400912"}}}</script>
<script type="application/ld+json">[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/geany/geany-plugins/pull/791#pullrequestreview-181400912",
"url": "https://github.com/geany/geany-plugins/pull/791#pullrequestreview-181400912",
"name": "View Pull Request"
},
"description": "View this Pull Request on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
},
{
"@type": "MessageCard",
"@context": "http://schema.org/extensions",
"hideOriginalBody": "false",
"originator": "AF6C5A86-E920-430C-9C59-A73278B5EFEB",
"title": "@b4n requested changes on 791",
"sections": [
{
"text": "Looks mostly OK and harmless, although I'm not fond of the style used to support both GTK versions.\r\nThere's a few suspicious thing around the end though.",
"activityTitle": "**Colomban Wendling**",
"activityImage": "https://assets-cdn.github.com/images/email/message_cards/avatar.png",
"activitySubtitle": "@b4n",
"facts": [

]
}
],
"potentialAction": [
{
"targets": [
{
"os": "default",
"uri": "https://github.com/geany/geany-plugins/pull/791#pullrequestreview-181400912"
}
],
"@type": "OpenUri",
"name": "View on GitHub"
},
{
"name": "Unsubscribe",
"@type": "HttpPOST",
"target": "https://api.github.com",
"body": "{\n\"commandName\": \"MuteNotification\",\n\"threadId\": 414046095\n}"
}
],
"themeColor": "26292E"
}
]</script>