Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-devel / 2010-05

Backport request for 2.4.2: Improved Interfaces support

8 messages · 3 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Graeme Geldenhuys

Hi,

I worked through the various patches in 2.5.1 to see what is required to successfully backport the improved Interfaces and Interface Delegation support into 2.4.2. Below is a list of patches that need to be applied to 2.4.1. I have done this a few times to make sure and they all applied successfully using 'patch -p1 < [patch_name]'. I have also ran numerous tests using the improved Supports() and Implements functionality and it works like a charm when Corba interfaces are used. This would be a great addition to 2.4.2, so pretty please... :-)

Patch that need to be applied to Fixes branch are:

14466 // Sergei Gorelkin
15066 // ivost did all the rest
15067
15068
15073
15077
15078
15079
15080
15081
15082
15084
15085
15086
15087

Regards, - Graeme - _______________________________________________ fpGUI - a cross-platform Free Pascal GUI toolkit http://opensoft.homeip.net/fpgui/

Reply by email

Joost van der Sluis
to Graeme Geldenhuys
Graeme Geldenhuys wrote 30 lines
Hi, I worked through the various patches in 2.5.1 to see what is required to successfully backport the improved Interfaces and Interface Delegation support into 2.4.2. Below is a list of patches that need to be applied to 2.4.1. I have done this a few times to make sure and they all applied successfully using 'patch -p1 < [patch_name]'. I have also ran numerous tests using the improved Supports() and Implements functionality and it works like a charm when Corba interfaces are used. This would be a great addition to 2.4.2, so pretty please... :-) Patch that need to be applied to Fixes branch are: 14466 // Sergei Gorelkin 15066 // ivost did all the rest 15067 15068 15073 15077 15078 15079 15080 15081 15082 15084 15085 15086 15087

2.4.2 is almost released... ;) There will probably will be a delay due to another problem. But I can guarantee you that this won't make 2.4.2.

Maybe not even 2.4.4, as it is really a new compiler-feature, not a bug-fix.

Joost.

Reply by email

Graeme Geldenhuys
to Joost van der Sluis

Op 2010-05-27 17:05, Joost van der Sluis het geskryf:

2.4.2 is almost released... ;) There will probably will be a delay due to another problem. But I can guarantee you that this won't make 2.4.2.

I requested this a week earlier, but that thread got sidetracked and I never got an answer. So I thought I would make it easier by testing what patches need to be applied, but if I'm too late... oh well.

Maybe not even 2.4.4, as it is really a new compiler-feature, not a bug-fix.

I have to disagree here. :) Interfaces have been implemented years ago, but some things were broken for so long, you might be forgiven for thinking it's a new feature instead of a bug fix.

Anyway, I was hoping to get this in the next FPC release because I want to implement something major in fpGUI that requires this. If not 2.4.2, I will have to delay this feature in fpGUI too. What is the expected (I know it might be a guess) release time for 2.4.4?

Alternatively, I guess I will have to end up doing what Martin does with MSEgui (though definitely not ideal). MSEgui includes patches for FPC which must be applied before MSEgui will work correctly.

Regards,
- Graeme -

fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://opensoft.homeip.net/fpgui/

Reply by email

Graeme Geldenhuys
to Graeme Geldenhuys: I worked through the various patches in 2.5.1 to see what is required to successfully…

---------- Forwarded message ----------

Earlier message 55 lines
From: Graeme Geldenhuys Date: 28 May 2010 11:26 Subject: Committing fixes to "fixes" branch To: Florian Klaempfl [... cut irrelevant parts ...] In the fpc-devel mailing list I was simply trying to point out that most of those patches I listed are actually fixes and not new features. The only new "feature" is the modifier 'implements' - albeit a rather important feature of Interfaces that has been missing from FPC since forever. So I don't really understand why Joost simply shot down (discarded) my request, even for 2.4.4. This is what those patches fixed for Interfaces usage: * Corrected behaviour for Supports() calls * Corrected behaviour for AS and GetInterface calls * Correct handling of casting a instance to an interfaces. Though this is only fixed for Corba-style interfaces at the moment - it still is a fix. * Correctly initialized temp variables used by interface support to prevent segfaults Mantis reports resolved: http://bugs.freepascal.org/view.php?id=15209 http://bugs.freepascal.org/view.php?id=12778 http://bugs.freepascal.org/view.php?id=16365 (partially resolved - Corba Interfaces) So like I said, the only real "new feature" is the usage of Implements, all the other patches are actual fixes. -------------------------------------------- @Joost If you actually used Interfaces in your own software you might have noticed how buggy Interfaces are in FPC. These fixes are rather critical and go a long way to to resolve many of the pitfalls experienced with FPC + Interfaces usage. -- Regards, - Graeme - _______________________________________________ fpGUI - a cross-platform Free Pascal GUI toolkit http://opensoft.homeip.net/fpgui/

Reply by email

Joost van der Sluis
to Graeme Geldenhuys
Graeme Geldenhuys wrote 16 lines
---------- Forwarded message ---------- From: Graeme Geldenhuys Date: 28 May 2010 11:26 Subject: Committing fixes to "fixes" branch To: Florian Klaempfl [... cut irrelevant parts ...] In the fpc-devel mailing list I was simply trying to point out that most of those patches I listed are actually fixes and not new features. The only new "feature" is the modifier 'implements' - albeit a rather important feature of Interfaces that has been missing from FPC since forever. So I don't really understand why Joost simply shot down (discarded) my request, even for 2.4.4.

I did not. I said that it was too late for 2.4.2, and that it would 'maybe not even (make) 2.4.4' That's something completely different.

Show quoted text 5 lines
@Joost If you actually used Interfaces in your own software you might have noticed how buggy Interfaces are in FPC. These fixes are rather critical and go a long way to to resolve many of the pitfalls experienced with FPC + Interfaces usage.

Well, I do not use some things because I know that it won't work in fpc very well. And yes, in the future it would be easier if I could. But I have to live with the fact that I can not do that (yet). (See the code in fcl-web, that could be more efficient with this patch.) And not to forget the observers, which I use a lot. (tiOPF and others)

Joost.

Reply by email

Martin Schreiber
to Graeme Geldenhuys: Op 2010-05-27 17:05, Joost van der Sluis het geskryf: I requested this a week earlier,…
Graeme Geldenhuys wrote 6 lines
Anyway, I was hoping to get this in the next FPC release because I want to implement something major in fpGUI that requires this. If not 2.4.2, I will have to delay this feature in fpGUI too. What is the expected (I know it might be a guess) release time for 2.4.4?

Warning:
When I tried Corba interface delegation to an interface property with FPC trunk and MSEgui this week I got SIGSEGV's. I made no bug report because I was not able to reproduce the problem with a simple test program up to now, I am still investigating.

Alternatively, I guess I will have to end up doing what Martin does with MSEgui (though definitely not ideal). MSEgui includes patches for FPC which must be applied before MSEgui will work correctly.

There are no patches necessary for FPC 2.4 and 2.4.1. MSEide+MSEgui always worked with unpatched FPC releases. The provided patches for older releases were for user convenience only in order to spare workarounds.

Martin

Reply by email

Graeme Geldenhuys
to Martin Schreiber

Op 2010-05-28 13:46, Martin Schreiber het geskryf:

When I tried Corba interface delegation to an interface property with FPC trunk and MSEgui this week I got SIGSEGV's. I made no bug report because I

I have not seen this yet, and have used interface delegation quite a lot in the last two weeks.

worked with unpatched FPC releases. The provided patches for older releases were for user convenience only in order to spare workarounds.

Unfortunately I'm not going to be that lucky. What I am using it for, relies heavily on all the patches I listed in my first post, not just interface delegation. Not sure what to do at this point though, and I don't really want to force FPC 2.5.1 on everybody either.

Regards,
- Graeme -

fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://opensoft.homeip.net/fpgui/

Reply by email

Martin Schreiber
to Martin Schreiber: Warning: When I tried Corba interface delegation to an interface property with FPC trunk…
Martin Schreiber wrote 6 lines
Warning: When I tried Corba interface delegation to an interface property with FPC trunk and MSEgui this week I got SIGSEGV's. I made no bug report because I was not able to reproduce the problem with a simple test program up to now, I am still investigating.

Found the problem, it was my mistake, sorry for noise.

Martin

Reply by email