Generally, with this kind of thing, the likely cause is some PyQt object being garbage collected at the wrong time, while the underlying Qt object still is receiving signals or something like that. I doubt that bulk_modify_tags is the cause of the crash. You can test that by doing lots of bulk modification of tags in calibre via the bulk edit metadata dialog.
|