desura / Desurium

Free online games platform (juegos gratis), with an open source client. LGPL repo for Desura client. Potentially out of date. See https://github.com/desura/desura-app for newest (LGPL) client.
https://www.desura.com/es
GNU General Public License v3.0
270 stars 42 forks source link

Use Wx3.0 instead of bundled 2.9.3 if present in the system. #652

Closed makson96 closed 10 years ago

makson96 commented 10 years ago

wxWidgets developers manage to point out fixes for the breaks in compatibility with wxWidgets 2.9.5. http://trac.wxwidgets.org/ticket/15529

With this pull request if wxWidgets 3.0 is present in the system, than it will be used instead of bundled 2.9.3. On Linux it works great on wxWidgets 3.0.0-r1 without pink dots regression: #288 and still provide backward compatibility with wxWidgets 2.9.3.

I publish this pull request for testing purposes. I hope that when wxWidgets 3.0 comes out it will be working great with this changes and then we can merge it to the master.

makson96 commented 10 years ago

Well I was thinking, that we will change bundled wxWidgets after 3.0 final. If you want me to switch bundled version now, could you upload archive with 3.0.0-r1 to our sourceforge page and give me url and md5. I can also remove compatibility with 2.9.3 and 2.9.4 if you want.

karolherbst commented 10 years ago

if it works with 3.0.0-rc1 then you can use this link: http://garr.dl.sourceforge.net/project/wxwindows/3.0.0-rc1/wxWidgets-3.0.0-rc1.tar.bz2

the checksum will be calculated by cmake and printed out because of a mismatch

Lodle: Please use this url: https://s3-us-west-2.amazonaws.com/lecs.desura.lindenlab.com/wxWidgets-3.0.0-rc1.tar.bz2 Md5: a4f74ef439b7a95d76c699b3a198097c

karolherbst commented 10 years ago

also some versions have to be changes in this file: https://github.com/desura/Desurium/blob/master/cmake/modules/BuildwxWidgets.cmake

karolherbst commented 10 years ago

But I would do that if you want

makson96 commented 10 years ago

If you are not in the hurry with this you can focus on more complicated tasks :)

I can do it later today. 2 questions:

  1. After bundling 3.0.0-r1 do you want me to remove hacks, which provide compatibility with 2.9.3 (gxImageControl, UICoreMain)?
  2. "find_package(wxWidgets 3.0 COMPONENTS richtext ${REQUIRED_IF_OPTION})" always return TRUE, no matter of wxWidgets version. How do you propose to fix this?
karolherbst commented 10 years ago
  1. yes, we want to target 3.0.0 final and distros doesn't want to use older versions, too. I don't see a reason why we should keep that for compatibility reasons.
  2. this is a cmake problem and should be reported there.
karolherbst commented 10 years ago

here I wrote a patch for the 3.0 transition: https://github.com/karolherbst/Desurium/commit/15634cd7c172a64b5343f4559d26e11485b4d50e feel free to pick it

lodle commented 10 years ago

Has some one tested this on windows yet?

makson96 commented 10 years ago

Nope. Beside Windows, wx3.0 is now working also against Gtk+ 3, so we should test this platform too. I only tested it for Linux and Gtk+ 2 yet.

karolherbst commented 10 years ago

I am sure this will work on windows, but I will test it when I have some time

makson96 commented 10 years ago

I have removed SetLocale. If anybody will find bug concerning this, we can think of bringing it back properly.

karolherbst commented 10 years ago

I think I will cleanup stuff an create a new pull request with some additional changes (I will keep your author tags)

karolherbst commented 10 years ago

new request #653