Skip to content

Commit 1ab7b48

Browse files
authored
Merge pull request #153 from arnetheduck/const-callback
`const` in callbacks
2 parents 7ee9170 + 439f3a1 commit 1ab7b48

File tree

591 files changed

+26412
-26420
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

591 files changed

+26412
-26420
lines changed

cmd/genbindings/emitcabi.go

+2-10
Original file line numberDiff line numberDiff line change
@@ -838,7 +838,7 @@ extern "C" {
838838
}
839839

840840
for _, m := range c.VirtualMethods() {
841-
callback := m.ReturnType.RenderTypeCabi() + " " + cabiCallbackName(c, m) + "(void*, intptr_t"
841+
callback := m.ReturnType.RenderTypeCabi() + " " + cabiCallbackName(c, m) + "(" + ifv(m.IsConst, "const ", "") + cabiClassName(c.ClassName) + "*, intptr_t"
842842

843843
for _, p := range m.Parameters {
844844
callback += ", " + p.RenderTypeCabi()
@@ -937,15 +937,7 @@ extern "C" {
937937
ret.WriteString("\t\t}\n")
938938

939939
paramArgs := []string{}
940-
if m.IsConst {
941-
// We're calling a Cgo-exported function, but Cgo can't
942-
// describe a const pointer to a custom class, unless
943-
// it's a primitive or wrapped in a typedef.
944-
// Just strip the const_cast away
945-
paramArgs = append(paramArgs, "const_cast<"+overriddenClassName+"*>(this)")
946-
} else {
947-
paramArgs = append(paramArgs, "this")
948-
}
940+
paramArgs = append(paramArgs, "this")
949941
paramArgs = append(paramArgs, handleVarname)
950942

951943
var signalCode string

qt-extras/scintillaedit/gen_ScintillaEdit.cpp

+193-193
Large diffs are not rendered by default.

qt-restricted-extras/qscintilla/gen_qsciabstractapis.cpp

+10-10
Original file line numberDiff line numberDiff line change
@@ -15,16 +15,16 @@
1515
extern "C" {
1616
#endif
1717

18-
void miqt_exec_callback_QsciAbstractAPIs_UpdateAutoCompletionList(void*, intptr_t, struct miqt_array /* of struct miqt_string */ , struct miqt_array /* of struct miqt_string */ );
19-
void miqt_exec_callback_QsciAbstractAPIs_AutoCompletionSelected(void*, intptr_t, struct miqt_string);
20-
struct miqt_array /* of struct miqt_string */ miqt_exec_callback_QsciAbstractAPIs_CallTips(void*, intptr_t, struct miqt_array /* of struct miqt_string */ , int, int, struct miqt_array /* of int */ );
21-
bool miqt_exec_callback_QsciAbstractAPIs_Event(void*, intptr_t, QEvent*);
22-
bool miqt_exec_callback_QsciAbstractAPIs_EventFilter(void*, intptr_t, QObject*, QEvent*);
23-
void miqt_exec_callback_QsciAbstractAPIs_TimerEvent(void*, intptr_t, QTimerEvent*);
24-
void miqt_exec_callback_QsciAbstractAPIs_ChildEvent(void*, intptr_t, QChildEvent*);
25-
void miqt_exec_callback_QsciAbstractAPIs_CustomEvent(void*, intptr_t, QEvent*);
26-
void miqt_exec_callback_QsciAbstractAPIs_ConnectNotify(void*, intptr_t, QMetaMethod*);
27-
void miqt_exec_callback_QsciAbstractAPIs_DisconnectNotify(void*, intptr_t, QMetaMethod*);
18+
void miqt_exec_callback_QsciAbstractAPIs_UpdateAutoCompletionList(QsciAbstractAPIs*, intptr_t, struct miqt_array /* of struct miqt_string */ , struct miqt_array /* of struct miqt_string */ );
19+
void miqt_exec_callback_QsciAbstractAPIs_AutoCompletionSelected(QsciAbstractAPIs*, intptr_t, struct miqt_string);
20+
struct miqt_array /* of struct miqt_string */ miqt_exec_callback_QsciAbstractAPIs_CallTips(QsciAbstractAPIs*, intptr_t, struct miqt_array /* of struct miqt_string */ , int, int, struct miqt_array /* of int */ );
21+
bool miqt_exec_callback_QsciAbstractAPIs_Event(QsciAbstractAPIs*, intptr_t, QEvent*);
22+
bool miqt_exec_callback_QsciAbstractAPIs_EventFilter(QsciAbstractAPIs*, intptr_t, QObject*, QEvent*);
23+
void miqt_exec_callback_QsciAbstractAPIs_TimerEvent(QsciAbstractAPIs*, intptr_t, QTimerEvent*);
24+
void miqt_exec_callback_QsciAbstractAPIs_ChildEvent(QsciAbstractAPIs*, intptr_t, QChildEvent*);
25+
void miqt_exec_callback_QsciAbstractAPIs_CustomEvent(QsciAbstractAPIs*, intptr_t, QEvent*);
26+
void miqt_exec_callback_QsciAbstractAPIs_ConnectNotify(QsciAbstractAPIs*, intptr_t, QMetaMethod*);
27+
void miqt_exec_callback_QsciAbstractAPIs_DisconnectNotify(QsciAbstractAPIs*, intptr_t, QMetaMethod*);
2828
#ifdef __cplusplus
2929
} /* extern C */
3030
#endif

qt-restricted-extras/qscintilla/gen_qsciapis.cpp

+10-10
Original file line numberDiff line numberDiff line change
@@ -18,16 +18,16 @@ extern "C" {
1818
void miqt_exec_callback_QsciAPIs_ApiPreparationCancelled(intptr_t);
1919
void miqt_exec_callback_QsciAPIs_ApiPreparationStarted(intptr_t);
2020
void miqt_exec_callback_QsciAPIs_ApiPreparationFinished(intptr_t);
21-
void miqt_exec_callback_QsciAPIs_UpdateAutoCompletionList(void*, intptr_t, struct miqt_array /* of struct miqt_string */ , struct miqt_array /* of struct miqt_string */ );
22-
void miqt_exec_callback_QsciAPIs_AutoCompletionSelected(void*, intptr_t, struct miqt_string);
23-
struct miqt_array /* of struct miqt_string */ miqt_exec_callback_QsciAPIs_CallTips(void*, intptr_t, struct miqt_array /* of struct miqt_string */ , int, int, struct miqt_array /* of int */ );
24-
bool miqt_exec_callback_QsciAPIs_Event(void*, intptr_t, QEvent*);
25-
bool miqt_exec_callback_QsciAPIs_EventFilter(void*, intptr_t, QObject*, QEvent*);
26-
void miqt_exec_callback_QsciAPIs_TimerEvent(void*, intptr_t, QTimerEvent*);
27-
void miqt_exec_callback_QsciAPIs_ChildEvent(void*, intptr_t, QChildEvent*);
28-
void miqt_exec_callback_QsciAPIs_CustomEvent(void*, intptr_t, QEvent*);
29-
void miqt_exec_callback_QsciAPIs_ConnectNotify(void*, intptr_t, QMetaMethod*);
30-
void miqt_exec_callback_QsciAPIs_DisconnectNotify(void*, intptr_t, QMetaMethod*);
21+
void miqt_exec_callback_QsciAPIs_UpdateAutoCompletionList(QsciAPIs*, intptr_t, struct miqt_array /* of struct miqt_string */ , struct miqt_array /* of struct miqt_string */ );
22+
void miqt_exec_callback_QsciAPIs_AutoCompletionSelected(QsciAPIs*, intptr_t, struct miqt_string);
23+
struct miqt_array /* of struct miqt_string */ miqt_exec_callback_QsciAPIs_CallTips(QsciAPIs*, intptr_t, struct miqt_array /* of struct miqt_string */ , int, int, struct miqt_array /* of int */ );
24+
bool miqt_exec_callback_QsciAPIs_Event(QsciAPIs*, intptr_t, QEvent*);
25+
bool miqt_exec_callback_QsciAPIs_EventFilter(QsciAPIs*, intptr_t, QObject*, QEvent*);
26+
void miqt_exec_callback_QsciAPIs_TimerEvent(QsciAPIs*, intptr_t, QTimerEvent*);
27+
void miqt_exec_callback_QsciAPIs_ChildEvent(QsciAPIs*, intptr_t, QChildEvent*);
28+
void miqt_exec_callback_QsciAPIs_CustomEvent(QsciAPIs*, intptr_t, QEvent*);
29+
void miqt_exec_callback_QsciAPIs_ConnectNotify(QsciAPIs*, intptr_t, QMetaMethod*);
30+
void miqt_exec_callback_QsciAPIs_DisconnectNotify(QsciAPIs*, intptr_t, QMetaMethod*);
3131
#ifdef __cplusplus
3232
} /* extern C */
3333
#endif

0 commit comments

Comments
 (0)