0
0
mirror of https://github.com/obsproject/obs-studio.git synced 2024-09-20 13:08:50 +02:00
obs-studio/obs
jp9000 815b916b73 UI: Do not delete via takeItem in ClearListItems
Apparently some raw lingering pointers to the item widgets may be
present inside of the QListView if you delete the item widgets directly,
and the only way to ensure those pointers are properly cleared is to
call ->clear() on the list widget instead of deleting each item
individually.

We were deleting each item individually because we thought that
->deleteLater might be also be called on other data within, but after
some testing, that turned out to not be the case, so it's safe to call
->clear() on the list widget.

As a note, deleting item widgets directly is dangerous due to the
potential for lingering raw internal pointers, and our case is unique
where we can get away with it; do not delete list item widgets directly
unless you intend on calling ->clear() or ->takeItem on the specific
item you do it to after.

Again, the reason why we are deleting list widget items manually is due
to the fact that Qt will always use ->deleteLater() on them if they are
not deleted manually, which puts their deletion on the queue.  Only
problem is they cannot be removed from the queue once added, so
lingering references to sources will persist until the queue processes
them, which causes major problems if we need those objects deleted right
away.
2015-07-02 22:07:39 -07:00
..
data UI: Add menu to visit website to basic main window 2015-06-25 01:02:47 -07:00
dist Add .desktop file for obs on linux 2014-08-05 21:15:31 +02:00
forms UI: Add Audio bitrate 2015-07-01 20:00:19 +09:00
adv-audio-control.cpp UI: Fix rounding issues for advanced audio 2015-02-17 21:44:32 +01:00
adv-audio-control.hpp UI: Use grid layout for advanced audio properties 2015-02-11 08:02:56 -08:00
CMakeLists.txt UI: Add item widget helper functions 2015-07-02 17:56:03 -07:00
crash-report.cpp UI: Add crash report dialog 2015-01-03 02:37:21 -08:00
crash-report.hpp UI: Add crash report dialog 2015-01-03 02:37:21 -08:00
display-helpers.hpp Ensure sizes passed to OBS are actual pixel sizes 2014-04-16 22:39:05 +02:00
double-slider.cpp UI: Fix DoubleSlider behavior for OBS_NUMBER_SLIDER properties 2015-07-01 08:22:04 +02:00
double-slider.hpp UI: Add #pragma once to double slider widget 2015-03-25 14:14:40 -07:00
focus-list.cpp UI: Add QListWidget subclass to emit focus change 2015-03-25 14:11:59 -07:00
focus-list.hpp UI: Add QListWidget subclass to emit focus change 2015-03-25 14:11:59 -07:00
hotkey-edit.cpp UI: Handle empty key combos from QEvents in hotkey dialog 2015-05-15 17:08:25 +02:00
hotkey-edit.hpp UI: Add OBSHotkey{Edit,Label,Widget} 2015-05-11 20:45:27 +02:00
item-widget-helpers.cpp UI: Do not delete via takeItem in ClearListItems 2015-07-02 22:07:39 -07:00
item-widget-helpers.hpp UI: Add item widget helper functions 2015-07-02 17:56:03 -07:00
mute-checkbox.hpp UI: Add 'mute' checkbox style hint 2015-03-25 10:03:24 -07:00
obs-app.cpp UI: Make shortcut filter not filter dialog keys 2015-07-02 18:08:53 -07:00
obs-app.hpp UI: Add support for portable mode 2015-06-01 16:42:29 -07:00
obs.rc UI: Add windows exe icon 2015-04-10 07:27:37 -07:00
platform-osx.mm Move config values from the commandline to obsconfig.h 2014-07-26 14:07:14 +02:00
platform-windows.cpp UI: Add funcs to get windows ver. and disable aero 2015-06-02 17:02:54 -07:00
platform-x11.cpp UI: Fix bug with xinerama on linux 2014-12-22 01:12:58 +01:00
platform.hpp UI: Add funcs to get windows ver. and disable aero 2015-06-02 17:02:54 -07:00
properties-view.cpp UI: Fix bug with path property browse button 2015-06-21 03:54:00 -07:00
properties-view.hpp UI: Add editable list property to properties view 2015-06-02 17:01:39 -07:00
qt-display.hpp UI: Add override specifier 2015-05-09 01:13:45 +02:00
qt-wrappers.cpp UI: Enable drag&drop reordering for scenes 2015-06-28 05:09:45 +02:00
qt-wrappers.hpp UI: Enable drag&drop reordering for scenes 2015-06-28 05:09:45 +02:00
remote-text.cpp UI: Add RemoteTextThread class 2015-05-24 16:20:12 -07:00
remote-text.hpp UI: Add RemoteTextThread class 2015-05-24 16:20:12 -07:00
slider-absoluteset-style.cpp UI: Add SliderAbsoluteSetStyle class 2015-04-11 07:13:30 -07:00
slider-absoluteset-style.hpp UI: Add SliderAbsoluteSetStyle class 2015-04-11 07:13:30 -07:00
source-label.cpp UI: Add OBSSourceLabel 2015-05-11 20:45:27 +02:00
source-label.hpp UI: Add OBSSourceLabel 2015-05-11 20:45:27 +02:00
source-list-widget.cpp UI: Add drag&drop reordering for the sources list 2015-06-28 05:09:45 +02:00
source-list-widget.hpp UI: Add drag&drop reordering for the sources list 2015-06-28 05:09:45 +02:00
sparkle-updater.mm sparkle-updater: Enable delta update failure fallback 2014-11-01 03:06:26 +01:00
vertical-scroll-area.cpp UI: Fix property scroll area widget not resizing 2015-01-03 07:31:51 -08:00
vertical-scroll-area.hpp UI: Always hide VScrollArea horizontal scroll bar 2015-01-03 07:32:04 -08:00
visibility-checkbox.cpp UI: Add 'visibility' checkbox 2015-03-25 10:03:23 -07:00
visibility-checkbox.hpp UI: Add 'visibility' checkbox 2015-03-25 10:03:23 -07:00
visibility-item-widget.cpp UI: Fix vis. item widget appearance on linux 2015-05-01 03:55:21 -07:00
visibility-item-widget.hpp UI: Add list item widget w/ visibility checkbox 2015-03-25 14:11:58 -07:00
volume-control.cpp UI: Add optional config button to volume controls 2015-06-25 15:55:29 -07:00
volume-control.hpp UI: Add optional config button to volume controls 2015-06-25 15:55:29 -07:00
window-basic-adv-audio.cpp UI: Save project only on new changes 2015-07-02 18:08:55 -07:00
window-basic-adv-audio.hpp UI: Fix crash in advanced audio settings 2015-02-13 13:11:15 +01:00
window-basic-filters.cpp UI: Save project only on new changes 2015-07-02 18:08:55 -07:00
window-basic-filters.hpp UI: Add user interface for filters 2015-03-25 14:12:00 -07:00
window-basic-interaction.cpp UI: Make shortcut filter not filter dialog keys 2015-07-02 18:08:53 -07:00
window-basic-interaction.hpp UI: Make shortcut filter not filter dialog keys 2015-07-02 18:08:53 -07:00
window-basic-main-outputs.cpp UI: Warn user if recording format unsupported 2015-06-21 22:34:54 -07:00
window-basic-main-outputs.hpp UI: Add advanced output settings 2015-02-06 11:55:48 -08:00
window-basic-main.cpp UI: Log when output starts/stops 2015-07-02 18:18:34 -07:00
window-basic-main.hpp UI: Save project only on new changes 2015-07-02 18:08:55 -07:00
window-basic-preview.cpp UI: Allow right-clicking to select preview items 2015-04-10 07:27:32 -07:00
window-basic-preview.hpp (API Change) Remove pointers from all typedefs 2014-09-25 21:48:11 -07:00
window-basic-properties.cpp UI: Save project only on new changes 2015-07-02 18:08:55 -07:00
window-basic-properties.hpp UI: Don't include properties-view.hpp in header 2015-03-25 10:03:22 -07:00
window-basic-settings.cpp UI: Save project only on new changes 2015-07-02 18:08:55 -07:00
window-basic-settings.hpp UI: Store global audio sources in scenes file only 2015-07-02 17:18:47 -07:00
window-basic-source-select.cpp UI: Add basic hotkey integration 2015-05-11 20:45:26 +02:00
window-basic-source-select.hpp (API Change) Remove pointers from all typedefs 2014-09-25 21:48:11 -07:00
window-basic-status-bar.cpp UI: Show remaining reconnect timeout duration 2015-05-10 18:26:09 -07:00
window-basic-status-bar.hpp UI: Show remaining reconnect timeout duration 2015-05-10 18:26:09 -07:00
window-basic-transform.cpp UI: Add basic hotkey integration 2015-05-11 20:45:26 +02:00
window-basic-transform.hpp (API Change) Remove pointers from all typedefs 2014-09-25 21:48:11 -07:00
window-license-agreement.cpp Add license agreement dialog 2014-07-13 11:40:47 -07:00
window-license-agreement.hpp Add license agreement dialog 2014-07-13 11:40:47 -07:00
window-log-reply.cpp UI: Add basic hotkey integration 2015-05-11 20:45:26 +02:00
window-log-reply.hpp Add help menu with log file uploading 2014-05-18 17:44:10 -07:00
window-main.hpp (API Change) Remove pointers from all typedefs 2014-09-25 21:48:11 -07:00
window-namedialog.cpp UI: Remove whitespace when asking for a name 2015-07-02 17:18:45 -07:00
window-namedialog.hpp Auto suggest scene and source names. 2014-05-12 15:01:51 -04:00
window-projector.cpp UI: Add basic hotkey integration 2015-05-11 20:45:26 +02:00
window-projector.hpp UI: Add right-click context menu to projector 2015-04-13 15:13:44 -07:00
window-remux.cpp UI: Add basic hotkey integration 2015-05-11 20:45:26 +02:00
window-remux.hpp Add UI for remuxing recordings via FFmpeg 2014-10-12 19:56:52 +02:00