1. 02 5月, 2019 1 次提交
    • J
      UI: Remove mac browser workarounds, improve stability · f21a48ff
      jp9000 提交于
      The workarounds were made because of conflicts with running multiple UI
      threads at once on macOS, which macOS can't do very well, and would be
      susceptible to crashes.  This would cause crashes not only on startup
      but seemingly at random when using the browser source on macOS.  The
      original "fix" was a hack to try to minimize UI code and browser UI code
      from executing at the same time.  The macOS initial scene loading was
      deferred until all Qt-related and main window initialization was
      completed.  Although this worked to some extent to prevent conflicts, it
      made it so that there was an initial period on startup where the entire
      UI seemed "blank" for users, and it was still possible for the main UI
      thread and the browser UI thread to clash, causing crashes seemingly at
      random for users.
      
      The external message pump method of CEF is the solution to the problem,
      which is the method which allows the main UI thread to share events with
      CEF.  To do this, all CEF operations need to be performed in the UI
      thread (Qt's main thread), and CefDoMessageLoopWork() needs to be called
      when CefApp::OnScheduleMessagePumpWork callback is triggered.  A number
      of other issues had to be solved as well, such as CefBrowser references
      getting "stuck" in the Qt event queue.
      
      With this, macOS no longer needs to do the "deferred load" hack, and
      browsers are now much more stable and no longer as susceptible to
      seemingly random crashes, improving overall program stability when
      browsers are used.
      f21a48ff
  2. 23 4月, 2019 2 次提交
  3. 19 4月, 2019 1 次提交
  4. 14 4月, 2019 1 次提交
  5. 09 4月, 2019 1 次提交
  6. 08 4月, 2019 1 次提交
  7. 04 3月, 2019 1 次提交
  8. 26 2月, 2019 1 次提交
  9. 21 2月, 2019 1 次提交
    • J
      UI: Do not display threaded message boxes on startup · 01c78bff
      jp9000 提交于
      The message boxes that tell you that the browser is initializing or that
      you're authenticating with twitch are annoying on startup.  It makes
      sense to do it in the settings/autoconfig dialogs where you sort of need
      to know what's going on while waiting for it to connect, but on startup
      it's not really necessary and can be kind of annoying.
      01c78bff
  10. 19 2月, 2019 1 次提交
  11. 08 2月, 2019 7 次提交
    • J
      UI: Use hardware encoding by default if available · 9fee8953
      jp9000 提交于
      If the user doesn't use the auto-configuration on first use, set the
      default encoders used in simple output mode to hardware encoders.
      9fee8953
    • J
      UI: Add auth. support to settings/autoconfig · 67bb8d70
      jp9000 提交于
      Adds the ability to connect/login to an account via the settings and
      auto-configuration dialogs.  Checks registered Auth objects, and if the
      Auth object matches the currently selected service in the settings
      window or auto-configuration dialog, will display "connect account"
      buttons for the user to be able to click (which are optional, they can
      still use stream keys if they'd prefer).
      67bb8d70
    • J
      UI: Add Auth and OAuth classes · 08fb29a0
      jp9000 提交于
      Allows the ability to authenticate to a specific service.  Typically via
      OAuth.
      08fb29a0
    • J
      UI: Add func to load browser/cookies, but show dialog · 1b8bc55f
      jp9000 提交于
      Adds a function for initializing browser and cookies in a separate
      thread while, and while waiting for it to complete, show a dialog
      stating that the browser is currently being loaded.  Allows the ability
      to safely prevent the user from taking any action without actually
      freezing up the UI thread.
      1b8bc55f
    • J
      UI: Add per-profile browser panel cookie management · fe043f2b
      jp9000 提交于
      Allows the ability to switch cookies between profiles.  Allows the
      ability to, for example, switch streaming service accounts between
      profiles for proper access to the pages displayed by the browser panels
      (such as chat windows).
      fe043f2b
    • J
      UI: Add function for adding extra docks to main window · dcf48e8f
      jp9000 提交于
      dcf48e8f
    • J
      UI: Add function to get main window more easily · b89c2b76
      jp9000 提交于
      Adds OBSBasic::Get() to just quickly return the main window.
      b89c2b76
  12. 31 1月, 2019 1 次提交
    • P
      UI: Fix a series of mem leaks (#1614) · 62fa2b00
      pkv 提交于
      * UI: Fix mem leak with projectors
      
      * UI: Fix mem leak with ScaleFilteringMenu
      
      * UI: Fix mem leak with sourceProjector
      
      * UI: Fix leak with preview projector in Source menu and Preview
      
      * UI: Fix mem leaks with background color menu
      
      * UI: Fix leak with deinterlace Menu
      
      * UI: Fix leak with scene transition override menu
      
      * UI: Fix leak with scene projector menu
      
      * UI: Fix leak with filter shortcut in Main
      
      * UI: Fix leak with filter shortcut in stats
      62fa2b00
  13. 02 10月, 2018 1 次提交
  14. 19 9月, 2018 2 次提交
  15. 17 9月, 2018 2 次提交
    • S
      UI: Fix system tray context menu creation · 823c34f8
      Shaolin 提交于
      On KDE and Unity some QT events aren't triggered as explicit stated
      by QT doc.  This is needed to at least show a fixed Context Menu.
      
      Closes obsproject/obs-studio#1252
      823c34f8
    • J
      UI: Undo/fix stats dock changes to main window · e51adb0f
      jp9000 提交于
      The stats dock was incorrectly added to the .ui file, causing the stats
      dock to show by default on startup, and just generally causing a bad
      default startup UI appearance.  This fixes that by adding the stats dock
      programmatically/dynamically instead of modifying the .ui file.
      e51adb0f
  16. 16 9月, 2018 1 次提交
  17. 07 9月, 2018 1 次提交
  18. 30 8月, 2018 1 次提交
    • J
      UI: Make sure quick transition hotkey is not zeroed · f239740d
      jp9000 提交于
      Fixes a bug where removing quick transitions with no hotkey would
      unintentionally remove the "start streaming" hotkey.  Hotkeys must be
      initialized to OBS_INVALID_HOTKEY_ID (-1) instead of 0.  Hotkeys should
      really be one-based rather than zero-based.
      f239740d
  19. 05 8月, 2018 1 次提交
  20. 02 8月, 2018 2 次提交
  21. 01 8月, 2018 1 次提交
    • J
      UI: Use QScopedPointer (not QPointer) where applicable · b6665f9c
      jp9000 提交于
      Contrary to what the name would have you believe, QPointer<> is not used
      to delete a pointer when it leaves its specific scope.  Instead, it's
      used to check to see if the pointer is still valid.  For most
      QWidget-based objects, this is actually fine because QWidgets that are
      assigned to layouts or other widgets will automatically be destroyed --
      however, for non-widget objects, this can cause a memory leak.
      
      This patch replaces QPointer with QScopedPointer where applicable to
      prevent memory leaks.
      
      Closes obsproject/obs-studio#1367
      b6665f9c
  22. 31 7月, 2018 1 次提交
  23. 30 7月, 2018 1 次提交
  24. 17 7月, 2018 2 次提交
  25. 27 6月, 2018 1 次提交
  26. 13 6月, 2018 1 次提交
    • S
      UI: Fix mixer dock widget minSize being too big · d7fd2935
      Shaolin 提交于
      When the vertical volume meter was introduced it set in the OBSBasic.ui
      mixer dock definition a min width/height that was valid for both
      widgets. QStackedWidget hints the minimum size as the higher w/h
      of its children so this workaround is necessary.
      d7fd2935
  27. 05 6月, 2018 1 次提交
  28. 04 6月, 2018 1 次提交
  29. 19 5月, 2018 1 次提交