mmenu: Fixing bug in custom category management
[pandora-libraries.git] / minimenu / mmui.c
index 66283b7..7a31c83 100644 (file)
@@ -2890,7 +2890,7 @@ void ui_post_scan ( void ) {
   } // default cat
 
   // if we're sent right to a dirbrowser tab, restock it now (normally we restock on entry)
-  if ( g_categories [ ui_category ] -> fspath ) {
+  if ( g_categories [ ui_category ] && g_categories [ ui_category ] -> fspath ) {
     printf ( "Restock on start: '%s'\n", g_categories [ ui_category ] -> fspath );
     category_fs_restock ( g_categories [ ui_category ] );
   }
@@ -2919,7 +2919,7 @@ unsigned char ui_threaded_defered_icon ( void *p ) {
 
   // work at it in order within current category
 
-  mm_appref_t *refiter = g_categories [ ui_category ] -> refs;
+  mm_appref_t *refiter = g_categories [ ui_category ] ? g_categories [ ui_category ] -> refs : NULL;
   while ( refiter && ! g_icon_thread_stop ) {
     iter = refiter -> ref;
 
@@ -4158,6 +4158,14 @@ void ui_manage_categories ( void ) {
        // did the user enter something?
        if ( changed ) {
 
+         // for now, force use of '*' into something else as we use * internally :/ (FIXME)
+         {
+           char *fixme;
+           while ( fixme = strchr ( namebuf, '*' ) ) {
+             *fixme = '_';
+           }
+         }
+
          // and if so, is it existant already or not?
          if ( mmcustom_query ( namebuf, NULL ) ) {
            ui_menu_oneby ( "Warning", "B/Enter to accept", "Already a registered category." );
@@ -4201,6 +4209,14 @@ void ui_manage_categories ( void ) {
          // did the user enter something?
          if ( changed ) {
 
+           // for now, force use of '*' into something else as we use * internally :/ (FIXME)
+           {
+             char *fixme;
+             while ( fixme = strchr ( namebuf, '*' ) ) {
+               *fixme = '_';
+             }
+           }
+
            // and if so, is it existant already or not?
            if ( mmcustom_query ( namebuf, maincat ) ) {
              ui_menu_oneby ( "Warning", "B/Enter to accept", "Already a subcategory." );
@@ -4397,7 +4413,8 @@ char *ui_pick_custom_category ( unsigned char mode ) {
 }
 
 void ui_start_defered_icon_thread ( void ) {
-  if ( pnd_conf_get_as_int_d ( g_conf, "minimenu.load_icons_later", 0 ) == 0 ) {
+
+  if ( pnd_conf_get_as_int_d ( g_conf, "minimenu.load_icons_later", 0 ) != 1 ) {
     return;
   }