Watch the lifetime of objects referenced in plugin->signal_ids and
remove our references to them if they get destroyed. This avoids
possibly trying to disconnect signals on destroyed objects when the
plugin is unloaded.
Supporting this case is safer, and is useful for objects that may or
may not outlive the plugin (like ScintillaObjects), because in such
cases plugin_signal_connect() is handy to make sure the signals are
disconnected if the object is still alive, but used to crash if the
object was destroyed.
In the dialog, the plugin's description is more interesting and useful than the full filename.
Instead, show the filename in the bottom box for those interested in.
* Do all mandatory initializations in _init() rather than _new();
* Drop geany_wrap_label_set_text() in favor of plain
gtk_label_set_text(), making the widget a little simpler and more
transparent to the caller.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5795 ea778897-0a13-0410-b9d1-a72fbfd435f5
* Add a paned to allow the plugin description part to be resized;
* Split plugin name, description and authors into distinct entities
and show aligned and bold titles for them.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5794 ea778897-0a13-0410-b9d1-a72fbfd435f5
These functions does the same as the corresponding GLib functions but
makes sure that the added GSource will be removed when the plugin is
unloaded, preventing possible crashes.
These are only convenience functions for the plugin author not to have to
care about the case the plugin gets unloaded, he can still manually
manage hes GSources if he wants to.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5650 ea778897-0a13-0410-b9d1-a72fbfd435f5
G_(UN)?LIKELY() should be only used on whole conditional expressions,
and only if the branching is very highly predictable, not if it is only
more probable.
These macros should be used with care because a wrong prediction may
be a lot worst than what a good prediction can give.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5625 ea778897-0a13-0410-b9d1-a72fbfd435f5
Now simply insert elements in sorted order rather than sorting the
list at a later point: it's simpler, cleaner and probably faster.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5591 ea778897-0a13-0410-b9d1-a72fbfd435f5
This is for better performances since appending to a list means walking
it to find the last element to append to. When the list ordering
matters, simply reverse the list after prepengins.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5586 ea778897-0a13-0410-b9d1-a72fbfd435f5
according to the current document's preference.
This is also fixes problems with templates on Windows which had
always Unix line ending characters but now since they are read
from files, these have Windows line ending characters and had been
converted twice.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5114 ea778897-0a13-0410-b9d1-a72fbfd435f5