<div dir="ltr"><div class="gmail_extra"><span class="im" style="font-size:12.8px"><div>[I forgot to reply-all, resending so reaches list]</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span style="font-size:12.8px">[Oliver]</span></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span style="font-size:12.8px">> I.e., the method wrapped is from a QObject-derived class, but </span></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">> <span style="font-size:12.8px">what pyqtSlot "decorates" is a wrapper for this method. This <br></span><span style="font-size:12.8px">> seems to have been working fine in PyQt 5.3 and 5.5, were we <br></span><span style="font-size:12.8px">> just lucky? Is it safe in 5.7?</span></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>[Phil] </blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span style="font-size:12.8px">Inspect the QMetaObject to see if the slot is there as you would expect.</span></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"> </blockquote></span><div class="gmail_quote" style="font-size:12.8px"><blockquote class="gmail_quote" style="color:rgb(80,0,80);font-size:12.8px;margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span style="font-size:12.8px">[Oliver]</span></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class="im">> If the slot weren't in the QMetaObject, how would the object method</span></blockquote><span class="im"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">> get called (it does get called)?<br><br><div style="font-size:12.8px">[Phil] </div>The same way any other type of callable is handled, by creating a proxy QObject when the connection is made.<br></blockquote><div><br></div></span><div>The slot will surely be in the wrapper's proxy QObject.QMetaObject, but what's the concern with that? As long as the connection is established from the correct thread, the proxy QObject will be owned by the correct thread so the proxy slot will be called in the correct thread, and this in turn will call the slot_wrapper which will call our QObject's method. Should all be good, no?</div></div></div></div>