• Colomban Wendling's avatar
    Fix plugin manager UI synchronization on double click · 373852c7
    Colomban Wendling yazdı
    When toggling a plugin, we temporarily set the tree store's row entry
    for the plugin pointer to NULL as we destroy and reload the selected
    plugin, and its pointer would be invalid in the meantime.  This results
    in the filter we use to display search results to temporarily hide the
    row, changing the actual number of rows and thus, depending on timing,
    this will or will not change the selected row (it will when double
    clicking, not when single-clicking), in a seemingly more or less random
    fashion as we use a sorted model.
    
    Finally, as we manually update the buttons visibility for the toggled
    plugin (as we otherwise do only for changing selection, which should
    not happen in this case -- well, most of the time as you can see), this
    can lead to the buttons to be updated for a now unselected row, getting
    those out of sync.
    
    The fix here is not to actually hide rows with a NULL plugin, because
    it can only happen in 2 cases, where we actually want to see it:
    
    1. while toggling a plugin, as explained above, in which case it had to
       match the search already.
    2. when there is no plugins and we want to display a "No plugins
       available" message, and the search should not affect this.
    
    This incidentally also fix the "No plugins available" so it's actually
    visible, instead of always hidden.
    
    Fixes #1781.
    373852c7
Adı
Son kayıt (commit)
Son güncelleme
ctags Loading commit data...
data Loading commit data...
doc Loading commit data...
icons Loading commit data...
m4 Loading commit data...
plugins Loading commit data...
po Loading commit data...
scintilla Loading commit data...
scripts Loading commit data...
src Loading commit data...
tests Loading commit data...
.gitignore Loading commit data...
.travis.yml Loading commit data...
AUTHORS Loading commit data...
COMMITTERS Loading commit data...
COPYING Loading commit data...
ChangeLog Loading commit data...
ChangeLog.pre-1-22 Loading commit data...
HACKING Loading commit data...
INSTALL Loading commit data...
Makefile.am Loading commit data...
NEWS Loading commit data...
README Loading commit data...
README.I18N Loading commit data...
README.Packagers Loading commit data...
README.rst Loading commit data...
THANKS Loading commit data...
TODO Loading commit data...
autogen.sh Loading commit data...
configure.ac Loading commit data...
geany.desktop.in Loading commit data...
geany.exe.manifest Loading commit data...
geany.gladep Loading commit data...
geany.nsi.in Loading commit data...
geany.pc.in Loading commit data...
geany.spec.in Loading commit data...
geany_private.rc Loading commit data...