* This prevents leaking for cases where new widgets are created (and
the small chance a widget pointer could be re-used and cause serious
problems), and multiple-registration errors for global shortcuts.
* We need to inherit to chain these two, as otherwise when the tree view
delegate calls sizeHint() it passes to the tree widget delegate, but
then has no way to return back to the tree view for the overridden
initStyleOption.
* If there was a built-in way to chain delegates like styles (which
solve this problem by calling back to baseStyle when going from one
function to another), or better yet a way to avoid the base
QStyledItemDelegate initStyleOption from completely trampling all over
the option passed in to any function, this wouldn't be necessary.
* This doesn't make any difference really locally, but when using a
remote host for replay, it means the main viewport will update before
the thumbnails wait for those textures to transfer.
* Reported by Coverity Scan. In all cases, should not be a problem, but
with an upcast happening anyway we might as well ensure calculation
happens at a higher precision.
* Reported by Coverity Scan - most of these are not an issue and a
couple of them are coverity getting really confused (like seeing a
pointer being assigned to NULL and a count to 0, then a few lines
later declaring that a loop 0..count will dereference the pointer).
* However it's harmless in all cases to add a bit of robustness to keep
the analysis happy.
* This is a leftover from before the interface was hoisted out, and most
windows were still calling directly to CaptureContext instead of via
the public ICaptureContext interface
* The Qt behaviour is that if you call setMinimumSize on a widget, then
the minimumSizeHint is IGNORED. So it is impossible to say "use this
minimum size, unless the widget wants a higher minimum size".
* So instead we do this ourselves in RDLabel. Sigh.
* Enums are now proper python enums instead of just being a class with
static int members.
* Fix a refcounting issue with SWIG generated code to access nested
child structs.
pyrenderdoc uses pkg-config to find Qt rather than qmake, so we need to
give it the custom location too. I didn't notice this originally,
because it found my system version of Qt5 and compiled fine. Only when
I started doing static analysis and set up my exclusion list for Qt
headers did I notice there were multiple sets of headers being used.
Main goal was to fix undefined behaviour, but it's also 50x faster...
cppcheck:
[renderdoc/driver/shaders/dxbc/dxbc_debug.cpp:1163]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour