Welcome, Guest
Username: Password: Remember me
Components and Libraries for Graphics Development, discussions, problems and suggestions.

TOPIC:

Bugs found in pl_Orca 11 years 9 months ago #3376

  • RockyLuck
  • RockyLuck's Avatar Topic Author
  • Visitor
  • Visitor
I've started this topic with the intention of gathering the bugs that users found in pl_Orca.

So, if you found a bug (not a request or an item on a wish list, just a bug) in the pl_Orca library, report it here, with a sample project showing the problem.

Please Log in or Create an account to join the conversation.

Last edit: by RockyLuck.

SIGSEGV error because of TD2Calendar 11 years 9 months ago #3377

  • RockyLuck
  • RockyLuck's Avatar Topic Author
  • Visitor
  • Visitor
Run the attached project, click on Extreme, subsequently on Modern, Default, Extreme and finally on Modern. Now close the form: SIGSEGV error.

It has to do with the TD2Calendar. I tried another compound object, but the problem did not appear.

The bug appears in procedure TD2Resources.RemoveSceneUpdater(const Scene: Id2Scene); which is called when 'self' is already freed.

Please Log in or Create an account to join the conversation.

Last edit: by RockyLuck. Reason: Clarify

SIGSEGV error because of TD2Calendar 11 years 9 months ago #3378

  • Sternas Stefanos
  • Sternas Stefanos's Avatar
  • Away
  • Moderator
  • Moderator
  • Ex Pilot, M.Sc, Ph.D
  • Posts: 4535
  • Thank you received: 1114
We must start with new ORCA Lab ver 3.0
with wide strings

-task1: to fix some errors...
-task2: to make a better OpenGL/OpenGl ES driver for win/unix/Android
-task3: to make a "software" driver, possible with Graphic32 library or BGRAbitmap Library.

Oh,
we have a experimental Linux "desktop" (like GNOME, KDE etc) with ORCA library
based on Arch-Linux with latest kernel 3.7
PilotLogic Architect and Core Programmer
Attachments:
The following user(s) said Thank You: Konstantinos Papadoulas, RockyLuck

Please Log in or Create an account to join the conversation.

Last edit: by Sternas Stefanos.

New pl_Orca 3.0 11 years 9 months ago #3379

  • RockyLuck
  • RockyLuck's Avatar Topic Author
  • Visitor
  • Visitor

sternas wrote: We must start with new ORCA Lab ver 3.0
with wide strings

-task1: to fix some errors...
-task2: to make a better OpenGL/OpenGl ES driver for win/unix/Android
-task3: to make a "software" driver, possible with Graphic32 library or BGRAbitmap Library.

Oh,
we have a experimental Linux "desktop" (like GNOME, KDE etc) with ORCA library
based on Arch-Linux with latest kernel 3.7


Thank you. It looks very promising :cheer:

As far as Task 3 is concerned: that would probably only be feasible for the 2D version. You don't want to go into all that 3D stuff without the help of DirectD or OpenGL, do you?

I'm not a Unix user. So, I cannot test your new desktop. But it does show you're a heavy pl_Orca user. That a very good thing.

Thanks again, I'll try the new library tomorrow.

Greetings ;-}
Dick

Please Log in or Create an account to join the conversation.

pl_Orca package needs two requirements 11 years 9 months ago #3382

  • RockyLuck
  • RockyLuck's Avatar Topic Author
  • Visitor
  • Visitor
Package pl_Orca, when compiled in a Windows environment, needs two extra package requirements, in order to compile:

pl_Win_DirectX and pl_Win_DirectX11

Please Log in or Create an account to join the conversation.

TD2Memo does not support Undo (Ctrl-Z) 11 years 9 months ago #3383

  • RockyLuck
  • RockyLuck's Avatar Topic Author
  • Visitor
  • Visitor
In TD2Memo and the property editors using TD2Memo, the Undo feature (Ctrl-Z) is not implemented.

Please Log in or Create an account to join the conversation.

The TD2Memo property CharCase doesn't change text 11 years 9 months ago #3384

  • RockyLuck
  • RockyLuck's Avatar Topic Author
  • Visitor
  • Visitor
The current text in a TD2Memo does not change its case when the CharCase property is set to lower or upper case.

However, this may be OK. Accidentally changing the CharCase property in the IDE will now not ruin the memo's content. But this should be documented in the source at procedure TD2Memo.SetCharCase.

Please Log in or Create an account to join the conversation.

Last edit: by RockyLuck.

SIGSEGV error because of TD2Calendar 11 years 9 months ago #3386

  • RockyLuck
  • RockyLuck's Avatar Topic Author
  • Visitor
  • Visitor

sternas wrote: We must start with new ORCA Lab ver 3.0
with wide strings


I didn't test all ORCA aspects yet, but this version with widestrings looks very promising :)

I studied the source and found only very small points that may be improved. They're more cosmetic really.

So I attached the changed source files. All changes are marked *** DB ***

Thanks ;-}
Dick

Please Log in or Create an account to join the conversation.

SIGSEGV error because of TD2Calendar 11 years 9 months ago #3387

  • Sternas Stefanos
  • Sternas Stefanos's Avatar
  • Away
  • Moderator
  • Moderator
  • Ex Pilot, M.Sc, Ph.D
  • Posts: 4535
  • Thank you received: 1114
Thanks Sir
we will test and report
PilotLogic Architect and Core Programmer

Please Log in or Create an account to join the conversation.

SIGSEGV error because of TD2Calendar 11 years 9 months ago #3389

  • RockyLuck
  • RockyLuck's Avatar Topic Author
  • Visitor
  • Visitor

RockyLuck wrote: The bug appears in procedure TD2Resources.RemoveSceneUpdater(const Scene: Id2Scene); which is called when 'self' is already freed.

This problem has not disappeared with the WideString version. However, it was not present in Lazarus64, only in Lazarus32. It might be a timing problem.

Please Log in or Create an account to join the conversation.

Prevent SIGSEGV and AV in IDE 11 years 9 months ago #3394

  • RockyLuck
  • RockyLuck's Avatar Topic Author
  • Visitor
  • Visitor

Deletion of objects in the Style Designer may cause exceptions in the IDE.
This is a possible fix:

procedure TD2StyleDesigner.Notification(AComponent: TComponent;
  Operation: TOperation);
begin
  // Fixed to circumvent SIGSEGV or AV exceptions in the IDE.
//inherited ;           // Don't inherit first: object may become destroyed  *** DB ***
  if (Operation = opRemove)                                   and  
     (AComponent is TD2Object)                                and 
     Assigned(TD2Object(AComponent).Scene)                    and 
     (TD2Object(AComponent).Scene.GetComponent = DesignScene)     then
    DeleteObject(TD2Object(AComponent), false)                            // *** DB ***
  else                                                                    // *** DB ***
    inherited;          // In stead only inherit if object not deleted       *** DB ***             
end;

Regards ;-}

Please Log in or Create an account to join the conversation.

Last edit: by RockyLuck. Reason: Syntax error in two coding lines

Prevent SIGSEGV and AV in IDE 11 years 9 months ago #3395

  • Sternas Stefanos
  • Sternas Stefanos's Avatar
  • Away
  • Moderator
  • Moderator
  • Ex Pilot, M.Sc, Ph.D
  • Posts: 4535
  • Thank you received: 1114
Thanks Sir
PilotLogic Architect and Core Programmer

Please Log in or Create an account to join the conversation.

Bug in WordWrap property of TD2Compoundxxxx 11 years 8 months ago #3400

  • RockyLuck
  • RockyLuck's Avatar Topic Author
  • Visitor
  • Visitor
The TextLabel property of a TD2Compoundxxxx has a WordWrap property. If that's designed to be True, it looses that setting at run time :sick:

See the attached project. The word wrap is only there at run time, if you remove the comment slashes at line 39 (setting it explicitly at run time).

Further investigation showed, that the property value for WordWrap is not saved in the lfm file. If you set WordWrap to true and save the unit, then looking at the lfm the WordWrap property is not there.

This problem occurs in all compound controls.

Please Log in or Create an account to join the conversation.

Last edit: by RockyLuck. Reason: Clarification, wider specification

Bug in WordWrap property of TD2Compoundxxxx 11 years 8 months ago #3401

  • Sternas Stefanos
  • Sternas Stefanos's Avatar
  • Away
  • Moderator
  • Moderator
  • Ex Pilot, M.Sc, Ph.D
  • Posts: 4535
  • Thank you received: 1114
This is true
your sample project use style
"text style" get any design time selection

look at orca_scene2d_obj_labels.inc
Procedure TD2Label.SetWordWrap
PilotLogic Architect and Core Programmer

Please Log in or Create an account to join the conversation.

Last edit: by Sternas Stefanos.

OnBeforePaint and OnPaint do not compile 11 years 8 months ago #3402

  • RockyLuck
  • RockyLuck's Avatar Topic Author
  • Visitor
  • Visitor
When the OnBeforePaint and OnPaint events are double clicked in design time, they generate a procedure header that cannot be compiled:

     procedure CalPaint(Sender: TObject; const Canvas: TD2Canvas; const ARect: TD2Rect);
     procedure CalBeforePaint(Sender: TObject; const Canvas: TD2Canvas; const ARect: TD2Rect);

Because the Canvas parameter is global to the module, the compiler complains:

Error: Duplicate identifier "Canvas"

Changing the name Canvas to ACanvas for instance solves the problem.

So, I enclose the patched versions of orca_scene2d and orca_scene3d with the offending event definitions changed. Patches are marked with *** DB ***

Please Log in or Create an account to join the conversation.

Bug in WordWrap property of TD2Compoundxxxx 11 years 8 months ago #3403

  • RockyLuck
  • RockyLuck's Avatar Topic Author
  • Visitor
  • Visitor

sternas wrote: This is true
your sample project use style
"text style" get any design time selection


Hi Sternas,

I'm not sure what you mean. Do you consider this a bug or do you think it is by design?

Please explain.

Please Log in or Create an account to join the conversation.

Bug in WordWrap property of TD2Compoundxxxx 11 years 8 months ago #3404

  • Sternas Stefanos
  • Sternas Stefanos's Avatar
  • Away
  • Moderator
  • Moderator
  • Ex Pilot, M.Sc, Ph.D
  • Posts: 4535
  • Thank you received: 1114
We will make our tests
and I will report here Sir

We test and prepare ver 4.10 now
ETA: 3-Mar-2013
PilotLogic Architect and Core Programmer

Please Log in or Create an account to join the conversation.

Version 4.10 request 11 years 8 months ago #3405

  • RockyLuck
  • RockyLuck's Avatar Topic Author
  • Visitor
  • Visitor

sternas wrote: We test and prepare ver 4.10 now
ETA: 3-Mar-2013


Can I persuade you to include in CodeTyphon the option of installation with preservation of all user settings (in C:\Users\<username>\AppData\Roaming\Lazarus32 (and Lazarus64))?

It's such a pain to have to loose all settings every time, unless you remember to save them first.

Thanks ;-}
Dick

Please Log in or Create an account to join the conversation.

A number of patches 11 years 8 months ago #3408

  • RockyLuck
  • RockyLuck's Avatar Topic Author
  • Visitor
  • Visitor
Here is a number of patches. They are quite small, but they cure a number of problems.

The most important bug is in orca_scene2d_obj_base.inc.

You can see it for yourself:

- Put a D2Scene on a form
- Right click the D2Scene
- Choose "Edit Default Style"
- Add an object, for instance a TD2CheckBox
- Delete the object with right click and "Delete Object"

Now you have an access violation or a list index out of bounds.

This bug prevents one from editing, because one cannot delete any objects after that.

I could not really find the exact spot where it goes wrong. It's in destructor TD2Object.Destroy, where the index for FNotifyList runs out of bounds. As a stopgap, I enclosed the erroneous code in a try except block, to eliminate the IDE from aborting. It's not the correct patch, but it will allow deletion of TD2Object's.

As always, patched lines are marked with *** DB ***

Hope this makes it to your new version in time.

Cheers ;-}
Dick

Please Log in or Create an account to join the conversation.

Last edit: by RockyLuck. Reason: Clarification

A number of patches 11 years 8 months ago #3409

  • Sternas Stefanos
  • Sternas Stefanos's Avatar
  • Away
  • Moderator
  • Moderator
  • Ex Pilot, M.Sc, Ph.D
  • Posts: 4535
  • Thank you received: 1114
Thanks Sir
we have add your fixes to next CT ver
PilotLogic Architect and Core Programmer

Please Log in or Create an account to join the conversation.