*/
static gint weight_addr_match(const address_entry* addr)
{
- gint n_weight = strlen(addr->name);
+ gint n_weight = addr->name ? strlen(addr->name): 0;
gint a_weight = addr->address ? strlen(addr->address) : n_weight;
gchar* match = NULL;
else
a_weight = match - addr->address;
- if (strlen(match) < strlen(g_completion_prefix)
+ if (strlen(match) > strlen(g_completion_prefix)
&& *(match + strlen(g_completion_prefix)) == '@')
a_weight--;
}
else if (a_weight > b_weight)
return 1;
else {
- cmp = strcmp(a_ref->name, b_ref->name);
- return cmp ? cmp : strcmp(a_ref->address, b_ref->address);
+ cmp = strcmp(a_ref->name, b_ref->name);
+ return cmp ? cmp : g_strcmp0(a_ref->address, b_ref->address);
}
}
}
#endif
/* plugins may hook in here to modify/extend the completion list */
- hooks_invoke(ADDDRESS_COMPLETION_BUILD_ADDRESS_LIST_HOOKLIST, &g_address_list);
+ if(!folderpath) {
+ hooks_invoke(ADDDRESS_COMPLETION_BUILD_ADDRESS_LIST_HOOKLIST, &g_address_list);
+ }
g_address_list = g_list_reverse(g_address_list);
g_completion_list = g_list_reverse(g_completion_list);
gdk_window_get_geometry( gtk_widget_get_window( cw->window ), &x, &y, &width, &height );
#endif
- /* simple _hide breaks size requisition !? */
-#if !GTK_CHECK_VERSION(3, 0, 0)
- gtk_widget_hide_all( cw->window );
- gtk_widget_show_all( cw->window );
-#else
- gtk_widget_hide( cw->window );
- gtk_widget_show( cw->window );
-#endif
+ gtk_widget_queue_resize_no_redraw(cw->list_view);
gtk_widget_size_request( cw->list_view, &r );
/* Adjust window height to available screen space */
(GTK_TREE_VIEW(list_view),
event->keyval == GDK_KEY_Down ||
event->keyval == GDK_KEY_Page_Down ? TRUE : FALSE);
- return FALSE;
+ return TRUE;
}
/* make tab move to next field */