2007/2/22, Aaron J. Seigo <<a href="mailto:aseigo@kde.org">aseigo@kde.org</a>>:<div><span class="gmail_quote"></span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
On February 21, 2007, Rafael Fernández López wrote:<br>> Well, revisiting this code I see this is just crap. If you close that<br>> window (still with the unique-applet added to kicker), reopen that window,<br>> and remove the unique-applet, it won't be added to the list, since
<br>> PluginManager::self() is another different instance. I have seen probably<br><br>a) this belongs on panel-devel, not kde-core-devel</blockquote><div><br> Sorry.</div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
b) any idea why addapplet.cpp was completely reformatted to use tabs instead<br>of spaces? this file now has no useful svn log and violates the coding style<br>for that application.</blockquote><div><br>Right. Changing this since I was the one that screwed indentation up here.
<br></div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">c) PluginManager::self() is a singleton so it's always the same object<br>
<br>d) the reason for this bug seems obvious: populateApplets doesn't add an entry<br>if it's already on the panel and unique; pluginDestroyed() is connected to<br>updateAppletList(), which just call search(QString) which just filters
<br>applets that are shown (and populateApplets wouldn't have shown it). what<br>needs to happen is populateApplets should add all items then call search with<br>an empty string which will hide uniqueApplets. then when pluginDestroyed() is
<br>called it'll show up again.</blockquote><div><br>Mmmm... I should have dedicated 5 minutes more to reread methods deeply. Without any doubt that is the reason. I just don't know why I didn't realize the process is always the same since kicker is always running, and not different instances.
<br></div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">and please: spaces, not tabs. =)</blockquote><div><br>I do since some time ago... :)
<br clear="all"></div></div><br><br>Bye,<br>Rafael Fernández López.