PSA: Future of MyGUI

General discussion regarding the OpenMW project.
For technical support, please use the Support subforum.
User avatar
scrawl
Posts: 2152
Joined: 18 Feb 2012, 11:51

PSA: Future of MyGUI

Post by scrawl » 06 Aug 2014, 00:35

MyGUI has proven to be a solid piece of software. It's positively surprising that we haven't required a single downstream patch for all the years we've been using it.
Unfortunately, it looks like this might change soon.

Two months ago, I discovered a memory leak upon creating widgets or modifying widgets in a certain way. It was "worked around" by eliminating some per-frame widget modifications, but the leak is still there. I was hoping we might get away with this for OpenMW 1.0, but now I don't think so anymore.

- While working on Feature #1571, per-frame leaks have crept in again and I see no way to work around them this time.

- There is a report that the inventory is becoming slower with each use. I have not confirmed that the leak is causing it, but it seems possible. We are frequently creating and destroying widgets in item views.

We need this leak fixed in a timely manner, because it is a drag on development. Getting a patch accepted to MyGUI's svn would be good, but it's not enough. We can not expect packagers to use an SVN version of MyGUI, and there are no signs of a new MyGUI release in the near future. I would like to be optimistic here, but with the lack of activity going on I have to assume the worst. I'm also still confused why the bugtracker disappeared.

So, if no release comes out, what options do we have?
  • a) Do nothing, wait.
  • b) Get patch into SVN, make OpenMW require MyGUI SVN. OpenMW packages in stable distributions (debian, ubuntu, etc) will have to be put on hold.
  • c) Fork complete MyGUI to a new project.
  • d) Fork MyGUI core into OpenMW repository, no longer depend on system-installed MyGUI. Note: MyGUIEngine takes about 2 minutes to build on my system, compared to 15 minutes for openmw (not including launcher, OpenCS and tools)
Let's see what else we have on the plate regarding MyGUI. If it comes to a fork, then we would be able to fix / implement a few things without depending on MyGUI release schedules.

- Box layout

Box layouts and automatically resizing buttons/labels are crucial for OpenMW, because the size of various texts may differ depending on the localisation used. We have implemented custom widgets to do this, but there is still much to be desired. I'm not suggesting to add this as feature to the MyGUI core, but very useful would be better hooks for implementing this feature outside of the core. For instance, an onWidgetSetup function that is called after all children of a widget have been created.

- Better clipboard integration

I made a patch for this half a year ago. It has not been merged.

- Double click bug

In MyGUI 3.2 double clicks can be incorrectly detected when clicking on two different widgets. For this one, my patch was accepted, but it is only available in MyGUI SVN at the moment.

- Support scaled font textures

See bug 1096. If I recall, this isn't possible with the current ResourceManualFont. There is a small problem with passing the metrics (don't remember what it was exactly). Not very hard to patch.

To Altren (I've sent him a link to this topic):
If it is in your interest to prevent forks, then it would be a good idea to give me two assurances:
- that you can spend time reviewing my fix for the memory leak,
- that a new version of MyGUI will come out in a timely manner. Either a patch release (3.2.1) or 3.4.

User avatar
raevol
Posts: 3064
Joined: 07 Aug 2011, 01:12
Location: Caldera

Re: PSA: Future of MyGUI

Post by raevol » 06 Aug 2014, 05:17

Nice work! Curious to see how this turns out.

User avatar
psi29a
Posts: 4791
Joined: 29 Sep 2011, 10:13
Location: Belgium
Gitlab profile: https://gitlab.com/psi29a/
Contact:

Re: PSA: Future of MyGUI

Post by psi29a » 06 Aug 2014, 07:36

I'll do my best to get his attention today. I've experience with tracking people down, continuing abandoned projects and/or forking them. Last I heard, Altern was working on the next release but had real-life shift in focus and attention. I'll see where he is at and if wouldn't mind a helping hand as I doubt he would want his project considered 'dead'.

Updates:
Last commit was: 2014-05-30 04:34:37

I've also tried to contact my.name on Ogre3D addon forum. His last activity, according to sourceforge was 6 days ago. I've tried sending him a SF mail, as direct email (forward) was impossible as they disabled that option.

I've also posted on the Ogre3D addon forum, but awaiting approval by moderators before it becomes visible.

@Scrawl: I suggest you become a member of the mygui dev mailing list since you are closest to development and ask your questions there as well.
https://lists.sourceforge.net/lists/lis ... -gui-devel

User avatar
psi29a
Posts: 4791
Joined: 29 Sep 2011, 10:13
Location: Belgium
Gitlab profile: https://gitlab.com/psi29a/
Contact:

Re: PSA: Future of MyGUI

Post by psi29a » 06 Aug 2014, 13:01

I got a bite from Altern (George):
http://www.ogre3d.org/addonforums/viewt ... 03#p102803

Basically:
I can freely give svn access to scrawl, since his patches are good enough and mostly required no changes before applying.

Altren
Posts: 12
Joined: 05 Jun 2013, 14:27
Location: Moscow, Russia
Contact:

Re: PSA: Future of MyGUI

Post by Altren » 06 Aug 2014, 13:04

I replied to some questions there: http://www.ogre3d.org/addonforums/viewt ... 03#p102803
and there: http://www.ogre3d.org/addonforums/viewt ... 05#p102801 .
- that you can spend time reviewing my fix for the memory leak,
Do you already have the fix, or are you asking about some future fix?
- that a new version of MyGUI will come out in a timely manner. Either a patch release (3.2.1) or 3.4.
I'll try to work on this in near future (right after we'll handle memory leak). But I'd recommend to not rely on releases in future, because if there would be more fixes crucial for OpenMW project we can't make new release for each fix.

User avatar
psi29a
Posts: 4791
Joined: 29 Sep 2011, 10:13
Location: Belgium
Gitlab profile: https://gitlab.com/psi29a/
Contact:

Re: PSA: Future of MyGUI

Post by psi29a » 06 Aug 2014, 13:12

@Altren: What is the possibility of putting MyGUI under the wing of OpenMW (since we have a rather large organization on github)? You and my_name would still be the lead, but we could help keep development going on. Anything we can do to help?

Scott and I are the Debian package maintainers for MyGUI and Scrawl actively wants new features that no one else is asking about, so it makes sense in a way.

User avatar
scrawl
Posts: 2152
Joined: 18 Feb 2012, 11:51

Re: PSA: Future of MyGUI

Post by scrawl » 06 Aug 2014, 15:14

Do you already have the fix, or are you asking about some future fix?
No, I don't have one yet. Well, only the rough idea with the SharedPtr I mentioned. But let's continue discussing first. I replied to the topic on MyGUI forum.
What about new versions, well, MyGUI was ready for 3.2.1 release a while ago, I just never had enough time actually do this (prepare packages, write full change log, generate updated documentation, write posts in various forums, etc.).
Maybe I could help you with this? I could try to write a changelog based on svn history.
I'll try to work on this in near future (right after we'll handle memory leak). But I'd recommend to not rely on releases in future, because if there would be more fixes crucial for OpenMW project we can't make new release for each fix.
That's understandable, and I'm perfectly fine with it, so long as occasional releases come out eventually. I don't expect we will need any more crucial fixes other than this memory leak (unless we find another one of similar magnitude).
I can freely give svn access to scrawl, since his patches are good enough and mostly required no changes before applying.
That would be great. I'll make sure to only use it for non-intrusive fixes and ask first if I'm unsure about something.
Do you need my sourceforge account for this?
I'm still making some fixes and apply patches from time to time, but there are no planned features, because current library is good enough for all our needs and doesn't require major changes.
Totally agreed! I actually don't have any wishlist for core features. Just minor polish here and there is needed. You've done a terrific job designing this library and I have great respect for that.

User avatar
raevol
Posts: 3064
Joined: 07 Aug 2011, 01:12
Location: Caldera

Re: PSA: Future of MyGUI

Post by raevol » 06 Aug 2014, 20:22

Hi Altren! Thanks for being in touch with us!

User avatar
psi29a
Posts: 4791
Joined: 29 Sep 2011, 10:13
Location: Belgium
Gitlab profile: https://gitlab.com/psi29a/
Contact:

Re: PSA: Future of MyGUI

Post by psi29a » 06 Aug 2014, 21:12

raevol wrote:Hi Altren! Thanks for being in touch with us!
My next step was to start making calls... like I did with Zini. :P

Altren
Posts: 12
Joined: 05 Jun 2013, 14:27
Location: Moscow, Russia
Contact:

Re: PSA: Future of MyGUI

Post by Altren » 06 Aug 2014, 21:37

psi29a wrote:@Altren: What is the possibility of putting MyGUI under the wing of OpenMW (since we have a rather large organization on github)? You and my_name would still be the lead, but we could help keep development going on. Anything we can do to help?
I discussed this with my.name and we thimk, that putting MyGUI under the wing of OpenMW and possibly moving it to github would be good.
scrawl wrote:Maybe I could help you with this? I could try to write a changelog based on svn history.
Usually this is most complex part of release and you'll help me alot if you will be able to create changelog. There are numerous comments by my.name like "update" and "fix", but most of those can be unified under "significantly improved tools" and "updated C# wrapper". It might be better to ignore commits from Tools and Wrappers directories, cause otherwise you'll end with abot 900 cryptic commits.
scrawl wrote:Do you need my sourceforge account for this?
Yes, only account name.

Post Reply