| Age | Commit message (Collapse) | Author | Files | Lines |
|
file wrappers when adding them to the python list. PyObjects start
with a refcount of 1. Adding them to a PyList adds a second - which
gets removes during the list's destruction. The additional ref was
keeping its associated CajaFile from ever being finalized.
Steps to reproduce problem:
1) Install python-caja and some python MenuProvider extension.
2) Create a folder with a couple of image files inside. Be sure to
allow thumbs to generate.
3) Enter the folder, select one or more files (so menus are
generated). De-select and leave the folder (but do not close
caja). If you were to watch for the files' finalize to run,
you'd notice it does not.
4) touch or otherwise modify one of the image files from a terminal
5) Re-enter the folder in caja.
6) See that loading runs forever, modified file(s) never
display. Note: even if you only modify one file, it could cause
all of the files to fail to load, depending on their order during
enumeration.
When no more views are displaying a file, that file should be finalized.
When it's not it ends up in an undefined state, as it has no monitors
flag it as needing to be updated
|
|
|
|
See https://gcc.gnu.org/gcc-10/porting_to.html#common
|
|
it's going EOL in 2020
|
|
|
|
The Caja.OperationHandle.handle property is added: this gives access to the
effective handle taking the form of a non-zero signed integer that can be
stored in a void pointer. Trying to set this property with an invalid value
raises an exception.
Upon update_file_info_full call, the new Caja.OperationHandle is preset with
a "unique" non-null value generated from an atomic counter. When the python
method returns, the handle value is transmitted to Caja whatever it is:
this fixes the problem of Caja expecting a non-null handle when
CAJA_OPERATION_IN_PROGRESS is returned.
Ref: https://github.com/mate-desktop/python-caja/issues/36
|
|
Ref: https://github.com/mate-desktop/python-caja/pull/34#issuecomment-457189545
|
|
The updated sources are still compatible with Python 2.
|
|
|
|
|
|
|