Menu

#1142 Fix CCManager compilation with C++17

Undefined
fixed
ollydbg
Patch
2021-10-06
2021-10-04
No

C++17 is more strict than previous versions, giving a compilation error in a call to Connect() from ccmanager.cpp, line 290:

error: 'wxEvtHandler' is an inaccessible base of 'CCManager'

See this forum thread for more information.

I reported this issue on wxTrac, ticket 19266. The conclusion is that Connect() was never supposed to work with private inheritance, while Bind() should work. The documentation for Connect() has been updated to remark this.

A possible fix is changing all Connect() to Bind(), but this is far from trivial. The attached patch just makes inheritance from wxEvtHandler public.

1 Attachments

Discussion

  • ollydbg

    ollydbg - 2021-10-06
    • assigned_to: ollydbg
     
  • ollydbg

    ollydbg - 2021-10-06
    • status: open --> fixed
     
  • ollydbg

    ollydbg - 2021-10-06

    This is fixed in the trunk now, thanks!

     

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.