obsproject / obsproject/obs-studio

Refactor out usages of sender()

Open
#13,444 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

kind/cleanup kind/tech-debt
Dominant language
C
Stars
76.4k
Forks
10.2k
Avg merge
4d 23h
Merged PRs (30d)
12

Description

Qt's sender() function is an older pattern from before Signals and Slots supported lambdas.

Example:
https://github.com/obsproject/obs-studio/blob/5dacbb63fb17bbbf5bc556ec87f19f9cf8f962cf/frontend/importer/ImporterEntryPathItemDelegate.cpp#L155-L160

They're a legacy approach that are extremely brittle due to violating type safety and encapsulation.

Anywhere that we are using sender() should be refactored in some manner.

This does not need to be fixed in a signal PR or commit.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Search the repository for usages of Qt's sender() function, starting with the example in frontend/importer/ImporterEntryPathItemDelegate.cpp around lines 155-160. Review each call site and replace the legacy pattern with an appropriate Signals and Slots approach. Done means sender() usages have been refactored without bundling the changes into a signal-related PR or commit.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
desktop
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.