[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kwrite-devel
Subject:    Plugin unloading issues
From:       "=?UTF-8?Q?Rafael_Fern=C3=A1ndez_L=C3=B3pez?=" <ereslibre () gmail ! com>
Date:       2007-08-17 2:23:53
Message-ID: 93f85fee0708161923t75236d17sa8d84af96374e247 () mail ! gmail ! com
[Download RAW message or body]

[Attachment #2 (text/plain)]

Hi all,

As you should have been experiencing since KDE 4, there are issues
when unloading plugins.

With this I mean: try to load insert file plugin. Unload it. You will
notice that almost all icons from the toolbar will dissapear.

If you apply the attached patch (that is obviously not the right
solution) you will notice something:

Load the insert file plugin
Unload it - everything went smoothly and without problems

Load the word completion plugin
Unload it - it was unloaded, but the menu is still there, though it
won't open its submenu

It seems to me like we are missing something when unloading it
[something that has to be done after that for reloading the state of
the app or something like that], or then there is a small bug on
KXMLGuiFactory & friends.

To be honest I'm not familiar with the code of KXML*, but if I can
help somehow, just tell me. I found out the problem, I have been
trying different solutions, but no one was really successfull.

I found for example that in Konqueror the Speech toolbar does create a
menu entry, but is like the insert file one, simple, with no submenu.
So I can't tell that Konqueror is doing right here or that since
Konqueror's point of view KXMLGuiFactory is working properly. Probably
the bug is at that class or related, or probably we are missing
something after calling the removeClient method. From my point of view
(and as far as I have read docs), the logic Kate is following is the
good one (TM), but I really don't know if is missing something.


Bye and thanks,
Rafael Fernández López.

PS: Please, CC me your answers since I'm not suscribed to kwrite-devel.

["pluginunloading.diff" (text/x-diff)]

Index: kate/document/katedocument.cpp
===================================================================
--- kate/document/katedocument.cpp	(revisión: 700989)
+++ kate/document/katedocument.cpp	(copia de trabajo)
@@ -457,9 +457,11 @@
 {
   if (!plugin) return;
 
+#if 0
   KXMLGUIFactory *factory = view->factory();
   if ( factory )
     factory->removeClient( view );
+#endif
 
   plugin->removeView( view );
 }


_______________________________________________
KWrite-Devel mailing list
KWrite-Devel@kde.org
https://mail.kde.org/mailman/listinfo/kwrite-devel


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic