Skip to content

TypeError: unsupported operand type(s) for &: 'WindowType' and 'ApplicationAttribute' #600

@YamiDoesDev

Description

@YamiDoesDev

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Run "syncplay" via terminal (to see the error output)
  2. Type in your personal server-config
  3. Start the Room

Expected behavior
Syncplay would open the room and possibly a video as well.

Screenshots
If applicable, add screenshots to help explain your problem.

Version and platform:

  • OS: Archlinx 6.2.9 (I guess)
  • Syncplay version and build type: Syncplay v. 1.7.0 (Yoitsu)
  • Media player and version: mpv 0.35.1-dirty / VLC 3.0.18 Vetinari

Additional context

syncplay --debug    
Traceback (most recent call last):
  File "/usr/bin/syncplay", line 19, in <module>
    ep_client.main()
  File "/usr/lib/syncplay/syncplay/ep_client.py", line 8, in main
    SyncplayClientManager().run()
  File "/usr/lib/syncplay/syncplay/clientManager.py", line 12, in run
    interface = ui.getUi(graphical=not config["noGui"], passedBar=menuBar)
  File "/usr/lib/syncplay/syncplay/ui/__init__.py", line 17, in getUi
    ui = GraphicalUI(passedBar=passedBar)
  File "/usr/lib/syncplay/syncplay/ui/gui.py", line 2109, in __init__
    self.setWindowFlags(self.windowFlags() & Qt.AA_DontUseNativeMenuBar)
TypeError: unsupported operand type(s) for &: 'WindowType' and 'ApplicationAttribute'

The path: Syncplay/syncplay/blob/master/syncplay/ui/gui.py#L2109)

self.setWindowFlags(self.windowFlags() & Qt.AA_DontUseNativeMenuBar)

I don't have much of an understanding about qt-python myself. On one hand, it seems no not like the & operator. Changing it to | did not help either. If I change the operator into a comma, following error will be printed instead:

Traceback (most recent call last):
  File "/usr/bin/syncplay", line 19, in <module>
    ep_client.main()
  File "/usr/lib/syncplay/syncplay/ep_client.py", line 8, in main
    SyncplayClientManager().run()
  File "/usr/lib/syncplay/syncplay/clientManager.py", line 12, in run
    interface = ui.getUi(graphical=not config["noGui"], passedBar=menuBar)
  File "/usr/lib/syncplay/syncplay/ui/__init__.py", line 17, in getUi
    ui = GraphicalUI(passedBar=passedBar)
  File "/usr/lib/syncplay/syncplay/ui/gui.py", line 2109, in __init__
    self.setWindowFlags(self.windowFlags(),  Qt.AA_DontUseNativeMenuBar)
TypeError: MainWindow.setWindowFlags() takes exactly one argument (2 given)

A possible workaround for me was to just comment out the second parameter. At least it loaded the room as intented.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions