- if(find(obj.categories.begin(), obj.categories.end(), *i)==obj.categories.end())
- obj.categories.push_back(*i);
+ {
+ bool found = false;
+ for(list<Block>::const_iterator j=obj.blocks.begin(); (!found && j!=obj.blocks.end()); ++j)
+ found = (j->category==*i);
+
+ if(!found)
+ {
+ Block blk;
+ blk.category = *i;
+ blk.appearance = (*i)->get_appearance();
+ if(const Appearance *app = poe.get_theme().find_appearance((*i)->get_name()))
+ blk.appearance.merge_from(*app);
+ obj.blocks.push_back(blk);
+ }
+ }