Bug 1597386 - TypeError: connect() failed between (int,int,Qt::KeyboardModifiers) and unislot()
Summary: TypeError: connect() failed between (int,int,Qt::KeyboardModifiers) and unisl...
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: qscintilla
Version: 29
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Rex Dieter
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: 1387943 1602361 1604899
TreeView+ depends on / blocked
 
Reported: 2018-07-02 20:04 UTC by Miro Hrončok
Modified: 2018-08-14 23:15 UTC (History)
2 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2018-08-14 23:15:11 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Miro Hrončok 2018-07-02 20:04:25 UTC
This reproducer:

import sys
from PyQt5.QtWidgets import QApplication
from PyQt5.Qsci import QsciScintilla


class SimplePythonEditor(QsciScintilla):
    ARROW_MARKER_NUM = 8

    def __init__(self, parent=None):
        super().__init__(parent)
        self.setMarginSensitivity(1, True)
        self.marginClicked.connect(self.on_margin_clicked)
        print('connected')
        self.markerDefine(QsciScintilla.RightArrow, self.ARROW_MARKER_NUM)

    def on_margin_clicked(self, nmargin, nline, modifiers):
        if self.markersAtLine(nline) != 0:
            self.markerDelete(nline, self.ARROW_MARKER_NUM)
        else:
            self.markerAdd(nline, self.ARROW_MARKER_NUM)


if __name__ == "__main__":
    app = QApplication(sys.argv)
    editor = SimplePythonEditor()
    #editor.show()
    #editor.setText(open(sys.argv[0]).read())
    #app.exec()


Version-Release number of selected component (if applicable):
qscintilla-qt5-2.10.5-1.fc29.x86_64
python3-qscintilla-qt5-2.10.5-1.fc29.x86_64
python3-qt5-5.10.2-0.3.dev1805251538.fc29.x86_64
qt5-qtbase-common-5.11.1-3.fc29.noarch


How reproducible: in mock


Steps to Reproduce:
1. xvfb-run python3 qscint.py # code form above

Actual results:
QObject::connect: No such signal SimplePythonEditor::marginClicked(int,int,KeyboardModifiers)
TypeError: connect() failed between (int,int,Qt::KeyboardModifiers) and unislot()

Expected results:
this works on Fedora 28. if you uncomment the commented lines at the end, you can actually click the margin.

Additional info:
This makes mu FTBFS. Reproduced on Python 3.6 and 3.7 as well.

Comment 2 Miro Hrončok 2018-07-02 20:21:27 UTC
Cross reference for the mu issue: https://github.com/mu-editor/mu/issues/519

Comment 3 Rex Dieter 2018-07-02 23:35:55 UTC
Can you retest with
https://koji.fedoraproject.org/koji/buildinfo?buildID=1102611
?  Thanks.

Comment 4 Miro Hrončok 2018-07-03 07:46:03 UTC
QObject::connect: No such signal SimplePythonEditor::marginClicked(int,int,KeyboardModifiers)
Traceback (most recent call last):
  File "/qscint.py", line 25, in <module>
    editor = SimplePythonEditor()
  File "/qscint.py", line 12, in __init__
    self.marginClicked.connect(self.on_margin_clicked)
TypeError: connect() failed between (int,int,Qt::KeyboardModifiers) and unislot()

Comment 5 Kevin Fenzi 2018-07-09 18:13:29 UTC
I'm seeing something similar with calibre (python2): 

calibre 3.27.1  embedded-python: False is64bit: True
Linux-4.18.0-0.rc3.git3.1.fc29.x86_64-x86_64-with-fedora-29-Rawhide Linux ('64bit', '')                               
('Linux', '4.18.0-0.rc3.git3.1.fc29.x86_64', '#1 SMP Fri Jul 6 14:52:45 UTC 2018')                                    
Python 2.7.15
Linux: ('Fedora', '29', 'Rawhide')
Interface language: None
Turning on automatic hidpi scaling
Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.            
devicePixelRatio: 3.0
logicalDpi: 64.0 x 64.0
physicalDpi: 104.877419355 x 107.576470588
Using calibre Qt style: True
[0.00] Starting up...
[0.01] Showing splash screen...
[0.12] splash screen shown
[0.12] Initializing db...
[0.13] db initialized
[0.13] Constructing main UI...
QObject::disconnect: No such signal HeaderView::sortIndicatorChanged(int,SortOrder)                                   
[0.72] main UI initialized...
[0.72] Hiding splash screen
[1.73] splash screen hidden

The main screen never shows up, it just exits. :( Not sure how to debug this...

Comment 6 Miro Hrončok 2018-07-17 12:43:02 UTC
I cannot rebuild mu due to this. Setting blocks: PYTHON37, as mu still depens on python 3.6.

Comment 7 Miro Hrončok 2018-07-17 12:46:12 UTC
Actually not vene that, it's failing with:

    from PyQt5.Qsci import QsciScintilla, QsciLexerPython, QsciAPIs
E   ValueError: PyCapsule_GetPointer called with incorrect name

Comment 8 Miro Hrončok 2018-07-17 12:49:18 UTC
s/vene/even

Comment 9 Miro Hrončok 2018-07-17 13:02:39 UTC
Filled bz1601917. leaving this open as it is currently unknown whether this got fixed or not.

Comment 10 Jan Kurik 2018-08-14 09:56:06 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 29 development cycle.
Changing version to '29'.

Comment 11 Rex Dieter 2018-08-14 20:01:06 UTC
I believe this is fixed (at least partially), mu rawhide scratch build succeeded for me,
https://koji.fedoraproject.org/koji/taskinfo?taskID=29073146

Comment 12 Miro Hrončok 2018-08-14 23:15:11 UTC
Thank you.


Note You need to log in before you can comment on or make changes to this bug.