Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

#556 wxt fixes for wx 2.9 & OSX Lion

closed-accepted
nobody
None
5
2011-10-09
2011-09-26
Adam Strzelecki
No

This is followup for:
https://sourceforge.net/tracker/?func=detail&atid=302055&aid=3358726&group_id=2055

Since Lion does not come with wxWidgets 2.8, I have received number of requests to check & provide means for compiling gnuplot wxt for Lion and wxWidgets 2.9 that uses 64-bit Cocoa, instead of 32-bit only depreciated Carbon.

Attaching here patch that solves number of issues compiling and running wxt with wx 2.9 using 64-bit Cocoa on Lion:

(1) using wxToolbar AddSeparator causes crash on Realize because Lion depreciated separators see: http://trac.wxwidgets.org/ticket/13363
(2) wx Cocoa does not support logical operators such as wxDC inverse
(3) wx Cocoa toolbar icons are blurry unless they are 24x24
(4) wx Cocoa does not define _Bool even it says it does, which is causing compilation errors

NOTE: wxWidgets 2.9 are still considered unstable and Cocoa port is not yet finished, however this patch should have no influence on other platforms since it uses #ifdef __WXOSX_COCOA__

gnuplot may be built just with "./configure" no extra params are necessary

Installed via macports:
pango @1.28.4_0+no_x11+quartz+universal
cairo @1.10.2_3+no_x11+quartz+universal

My wxWidgets 2.9 Coca were built with:

../../configure --with-osx_cocoa --disable-shared --enable-monolithic --with-macosx-sdk=/Developer/SDKs/MacOSX10.6.sdk --with-macosx-version-min=10.6 --with-libiconv-prefix=/opt/local

Discussion

  • Mojca Miklavec
    Mojca Miklavec
    2011-09-27

    Thank you, this seems to work for me.

     
  • Ethan Merritt
    Ethan Merritt
    2011-09-29

    Can someone confirm whether or not this patch is compatible with installation on 32-bit systems using wxWidgets 2.8? It's nice to support the newer systems, but we don't want to break support for the older ones.

     
  • Mojca Miklavec
    Mojca Miklavec
    2011-09-30

    When I think a bit about it: wxt never worked on any Mac until a month or two ago, so you can hardly break anything :)

     
  • Mojca Miklavec
    Mojca Miklavec
    2011-09-30

    After some more thinking. 2.8 in theory indeed supports Cocoa, but MacPorts which might be the easiest way to install wxWidgets only builds 2.8 with Carbon. I also don't find any traces of Cocoa in Homebrew (https://github.com/mxcl/homebrew/blob/master/Library/Formula/wxmac.rb) which requires building 32-bit. Fink only contains wxGtk if I'm not mistaken. At least I cannot find any other wx package with their search.

    So even if you rule out somebody with this patch, this would only be people who are skilled enough to compile wxwidgets 2.8 manually, passing the non-default flag --with-cocoa during configuration step, compiling CVS version of gnuplot exactly in August or September 2011, not reporting any compilation success to anyone (actually, I'm not aware of anyone testing either 32-bit or 64-bit Cocoa flavour of wxWidgets 2.8 with gnuplot) etc.

    I'm unable to test Cocoa build of 2.8. Or rather: I would have to configure and compile a deprecated version manually, without any support from package management tools. Carbon builds are not affected by this patch at all.

    I would suggest to include the patch. It cannot be any worse. Version 2.9 consistently keeps crashing.

     
  • Ethan Merritt
    Ethan Merritt
    2011-10-09

    • status: open --> closed-accepted