X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Flauncher%2Flauncher.c;h=3a7c4ca11734cd38890b36c62b4aa0bcf42ce28d;hb=e7c43073246afe07cddf67d40d545f2bebcf62a1;hp=158e06c1ddac0a590253ed1b0b8709482b9c778a;hpb=7f435e3a3592613e718eac626917d9ae32e37bcf;p=chaz%2Ftint2 diff --git a/src/launcher/launcher.c b/src/launcher/launcher.c index 158e06c..3a7c4ca 100644 --- a/src/launcher/launcher.c +++ b/src/launcher/launcher.c @@ -149,7 +149,7 @@ void cleanup_launcher() launcher_enabled = 0; } -void resize_launcher(void *obj) +int resize_launcher(void *obj) { Launcher *launcher = obj; Panel *panel = launcher->area.panel; @@ -274,9 +274,7 @@ void resize_launcher(void *obj) } } } - - // resize force the redraw - launcher->area.redraw = 1; + return 1; } @@ -372,7 +370,7 @@ void expand_exec(DesktopEntry *entry, const char *path) // %c -> Name // %k -> path if (entry->exec) { - char *exec2 = malloc(strlen(entry->exec) + strlen(entry->name) + strlen(entry->icon) + 100); + char *exec2 = malloc(strlen(entry->exec) + (entry->name ? strlen(entry->name) : 1) + (entry->icon ? strlen(entry->icon) : 1) + 100); char *p, *q; // p will never point to an escaped char for (p = entry->exec, q = exec2; *p; p++, q++) { @@ -711,6 +709,7 @@ void launcher_load_themes(Launcher *launcher) launcher->icon_themes = g_slist_append(launcher->icon_themes, theme); GSList* item = theme->list_inherits; + int pos = 0; while (item != NULL) { char *parent = item->data; @@ -724,7 +723,8 @@ void launcher_load_themes(Launcher *launcher) queued_item = g_slist_next(queued_item); } if (!duplicate) { - queue = g_slist_append(queue, strdup(parent)); + queue = g_slist_insert(queue, strdup(parent), pos); + pos++; queued = g_slist_append(queued, strdup(parent)); } item = g_slist_next(item);