Re: AADL plugin



Hi Pierre,
your plug-in just got added to CVS cause I think the remaining issues
are better solved in smaller chunks. If we dont manage to stabalize
before the next release we can always just disable the building of AADL.
Thanks for the work so far, it is an impressive extension to the 'normal'
objects implmentation. Especially the highly dynamic nature of the objects.

The ChangeLog entry is:

2006-01-06  Hans Breuer  <hans breuer org>

        * objects/AADL/** objects/Makefile.am sheets/Makefile.am
        configure.in : AADL plug-in from Pierre Duquesne. See
        http://mail.gnome.org/archives/dia-list/2006-January/msg00005.html
        for more information
        * sheets/AADL.sheet.in : from the above patch but modified
        to become translatable like the other sheet files. That is: the
        french translation got temporary removed cause it does not belong here.


The open issues so far are :
- missing prototypes. (I'll add them cause the win32 build is configured
  to *break* on them.)

aadl.c:83: warning: no previous prototype for `aadlbox_center_text_position'
aadl.c:104: warning: no previous prototype for `aadlbox_memory_update_text_position'
aadl.c:120: warning: no previous prototype for `aadlbox_inclined_update_text_position'
aadl.c:134: warning: no previous prototype for `aadlbox_subprogram_update_text_position'
aadlbus.c:94: warning: no previous prototype for `aadlbus_project_point_on_nearest_border'
aadlprocess.c:32: warning: no previous prototype for `aadlbox_draw_inclined_box'
aadlsystem.c:31: warning: no previous prototype for `aadlbox_draw_rounded_box'
aadlthread.c:32: warning: implicit declaration of function `aadlbox_draw_inclined_box'
aadlthreadgroup.c: In function `aadlthreadgroup_draw_borders':
aadlthreadgroup.c:36: warning: implicit declaration of function `aadlbox_draw_rounded_box'
edit_port_declaration.c:122: warning: no previous prototype for `edit_port_declaration_callback'
edit_port_declaration.c: In function `edit_port_declaration_callback':
edit_port_declaration.c:206: warning: passing arg 1 of pointer to function from incompatible pointer type

- the bounding box of 'Subprogram' seems to have issues (you can drag the
  object by clicking above of it)

- I'd like if some of the huge defines (or better all ;)) would be turned into
  functions like the source already suggests.

- at least aadlbox_destroy has memory access issues

*** glibc detected *** double free or corruption (out): 0xb6d25a18 ***

Program received signal SIGABRT, Aborted.
[Switching to Thread 16384 (LWP 13093)]
0xb75616c1 in kill () from /lib/libc.so.6
(gdb) bt
#0  0xb75616c1 in kill () from /lib/libc.so.6
#1  0xb77f1ef1 in pthread_kill () from /lib/libpthread.so.0
#2  0xb77f2288 in raise () from /lib/libpthread.so.0
#3  0xb7561424 in raise () from /lib/libc.so.6
#4  0xb7562a5d in abort () from /lib/libc.so.6
#5  0xb7593dc5 in __fsetlocking () from /lib/libc.so.6
#6  0xb759da37 in mallopt () from /lib/libc.so.6
#7  0xb759c6ef in mallopt () from /lib/libc.so.6
#8  0xb759b37f in free () from /lib/libc.so.6
#9  0xb76f8764 in g_free () from /usr/lib/libglib-2.0.so.0
#10 0xb6d1f869 in aadlbox_destroy () from /opt/lib/dia/libaadl_objects.so
#11 0xb7f956e1 in destroy_object_list (list_to_be_destroyed=0x9677e1c)
    at object.c:321
#12 0xb7f82b13 in layer_destroy (layer=0x962eb20) at diagramdata.c:230
#13 0xb7f83f2c in diagram_data_finalize (object=0x967b308) at diagramdata.c:139
#14 0x0805f865 in diagram_finalize (object=0x967b308) at diagram.c:122
#15 0xb776483e in g_object_unref () from /usr/lib/libgobject-2.0.so.0
#16 0x0807354c in ddisplay_really_destroy (ddisp=0x95ff630) at display.c:1162
#17 0x08070929 in ddisplay_destroy (widget=0x961f7b8, data=0x95ff630)

- see below

On 04.01.2006 22:50, Pierre Duquesne wrote:
Happy new year to everyone!

Lars, i listened carefully to your advices, and here it is:
http://ocarina.enst.fr/dia-aadl.diff
> [...]
 >> I'm not too happy about the line you've added to modify_tool.c, it looks
 >> like a random kludge - I can't tell what it's supposed to do and it
 >> doesn't seem to generalize well, once I understand it I'll see if
 >> there's a more generic way to do the same thing.


- Fire up Dia and insert a 'data' element from the AADL sheet.
- right-click --> add in data port
- Now insert a 'data' element inside the previous one.
- Move the port on the borders.

Do this with and without the line, and you'll get the point.

Although I see the need of handling the issue of connections being dragged
into the box adding the random condition in app/modify_tool.c is not the
way to solve it.
Without looking too deep into it just now:
If I understand correctly you could also work-around by not enable
parenting for aadlbox.c ?

Hope to hear from you soon.

Ditto :-)

        Hans

-------- Hans "at" Breuer "dot" Org -----------
Tell me what you need, and I'll tell you how to
get along without it.                -- Dilbert



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]