<p>I think that first of all we should fix the code so that it doesn't only rely on the UI being insensitive not to crash. At least, do something like this:</p>
<div class="highlight highlight-source-diff"><pre><span class="pl-c1">diff --git a/src/plugins.c b/src/plugins.c</span>
index 32a0ee891..c036ea0dd 100644
<span class="pl-md">--- a/src/plugins.c</span>
<span class="pl-mi1">+++ b/src/plugins.c</span>
<span class="pl-mdr">@@ -1865,7 +1865,10 @@</span> static void pm_on_plugin_button_clicked(G_GNUC_UNUSED GtkButton *button, gpointe
             if (GPOINTER_TO_INT(user_data) == PM_BUTTON_CONFIGURE)
                 plugin_show_configure(&p->public);
             else if (GPOINTER_TO_INT(user_data) == PM_BUTTON_HELP)
<span class="pl-mi1"><span class="pl-mi1">+</span>            {</span>
<span class="pl-mi1"><span class="pl-mi1">+</span>                g_return_if_fail(p->cbs.help != NULL);</span>
                 p->cbs.help(&p->public, p->cb_data);
<span class="pl-mi1"><span class="pl-mi1">+</span>            }</span>
             else if (GPOINTER_TO_INT(user_data) == PM_BUTTON_KEYBINDINGS && p->key_group && p->key_group->plugin_key_count > 0)
                 keybindings_dialog_show_prefs_scroll(p->info.name);
         }</pre></div>
<p>Then, I'll try and play with this to see if we're not doing something wrong somewhere, because it looks like a very odd bug, and it only happens when double-clicking on the checkmark.  Also, we really should be using the treeview's cursor rather than the selection, but well.</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/pull/1784#issuecomment-371670845">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/ABDrJ-MPSKBo7PHyvhSjhPKdfylhPOTMks5tccq0gaJpZM4SSe01">mute the thread</a>.<img alt="" height="1" src="https://github.com/notifications/beacon/ABDrJ9mp6vC_W6tMvO2kmw5EykoQH3Mhks5tccq0gaJpZM4SSe01.gif" width="1" /></p>
<div itemscope itemtype="http://schema.org/EmailMessage">
<div itemprop="action" itemscope itemtype="http://schema.org/ViewAction">
  <link itemprop="url" href="https://github.com/geany/geany/pull/1784#issuecomment-371670845"></link>
  <meta itemprop="name" content="View Pull Request"></meta>
</div>
<meta itemprop="description" content="View this Pull Request on GitHub"></meta>
</div>

<script type="application/json" data-scope="inboxmarkup">{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/geany/geany","title":"geany/geany","subtitle":"GitHub repository","main_image_url":"https://cloud.githubusercontent.com/assets/143418/17495839/a5054eac-5d88-11e6-95fc-7290892c7bb5.png","avatar_image_url":"https://cloud.githubusercontent.com/assets/143418/15842166/7c72db34-2c0b-11e6-9aed-b52498112777.png","action":{"name":"Open in GitHub","url":"https://github.com/geany/geany"}},"updates":{"snippets":[{"icon":"PERSON","message":"@b4n in #1784: I think that first of all we should fix the code so that it doesn't only rely on the UI being insensitive not to crash. At least, do something like this:\r\n```diff\r\ndiff --git a/src/plugins.c b/src/plugins.c\r\nindex 32a0ee891..c036ea0dd 100644\r\n--- a/src/plugins.c\r\n+++ b/src/plugins.c\r\n@@ -1865,7 +1865,10 @@ static void pm_on_plugin_button_clicked(G_GNUC_UNUSED GtkButton *button, gpointe\r\n             if (GPOINTER_TO_INT(user_data) == PM_BUTTON_CONFIGURE)\r\n                 plugin_show_configure(\u0026p-\u003epublic);\r\n             else if (GPOINTER_TO_INT(user_data) == PM_BUTTON_HELP)\r\n+            {\r\n+                g_return_if_fail(p-\u003ecbs.help != NULL);\r\n                 p-\u003ecbs.help(\u0026p-\u003epublic, p-\u003ecb_data);\r\n+            }\r\n             else if (GPOINTER_TO_INT(user_data) == PM_BUTTON_KEYBINDINGS \u0026\u0026 p-\u003ekey_group \u0026\u0026 p-\u003ekey_group-\u003eplugin_key_count \u003e 0)\r\n                 keybindings_dialog_show_prefs_scroll(p-\u003einfo.name);\r\n         }\r\n```\r\n\r\nThen, I'll try and play with this to see if we're not doing something wrong somewhere, because it looks like a very odd bug, and it only happens when double-clicking on the checkmark.  Also, we really should be using the treeview's cursor rather than the selection, but well."}],"action":{"name":"View Pull Request","url":"https://github.com/geany/geany/pull/1784#issuecomment-371670845"}}}</script>