From 46cea672586f0bd9d981ab4d456eb781577e3cec Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Thu, 10 Nov 2011 17:33:36 -0500 Subject: [PATCH] app: Fix crash on search Not all desktop files tracked by the shell have Exec lines. This could be because they're actually run by another process, for instance, and the desktop file is merely there to provide metadata. For example, nautilus-pastebin provides a desktop file without an Exec line. The shell currently crashes if one of these partial desktop files is installed and the user attempts to search from the overview. commit 37726a4cb69ab54298a3c95ccf469e1ab87ed4b1 fixed a similar crasher. This commit fixes the next one lower in the code. https://bugzilla.gnome.org/show_bug.cgi?id=663815 --- src/shell-app.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/shell-app.c b/src/shell-app.c index 3d1e78afa..54f81a0a9 100644 --- a/src/shell-app.c +++ b/src/shell-app.c @@ -1262,13 +1262,16 @@ _shell_app_match_search_terms (ShellApp *app, current_match = MATCH_SUBSTRING; } - p = strstr (app->casefolded_exec, term); - if (p != NULL) + if (app->casefolded_exec) { - if (p == app->casefolded_exec || *(p - 1) == '-') - current_match = MATCH_PREFIX; - else if (current_match < MATCH_PREFIX) - current_match = MATCH_SUBSTRING; + p = strstr (app->casefolded_exec, term); + if (p != NULL) + { + if (p == app->casefolded_exec || *(p - 1) == '-') + current_match = MATCH_PREFIX; + else if (current_match < MATCH_PREFIX) + current_match = MATCH_SUBSTRING; + } } if (app->casefolded_description && current_match < MATCH_PREFIX)