Problem mit ImageGadget

In dieser Linux-Ecke dürfen nur Themen rund um Linux geschrieben werden.
Beiträge, die plattformübergreifend sind, gehören ins 'Allgemein'-Forum.
chrissi87
Beiträge: 13
Registriert: 11.03.2009 12:04
Computerausstattung: Ubuntu Studio 12.04 x64, i386, Win7 Pro 64-Bit
Kontaktdaten:

Problem mit ImageGadget

Beitrag von chrissi87 »

Hallo,

ich hab mir neulich Ubuntu 11.04 x64 installiert und damit feststellen müssen, dass ein Programm, das mit sämtlichen Vorversionen stabil lief, sporadisch abstürzt.
Nach ein wenig Suche stellte sich heraus, dass folgende Zeile Probleme macht (hab's mal soweit vereinfacht):

Code: Alles auswählen

If IsImage(0) And IsGadget(0)
  SetGadgetState(0, ImageID(0))
  
EndIf
Laut Library-Anzeige existieren sowohl Image als auch Gadget. Trotzdem entlockt die Zuweisung der neuen ImageID dem Debugger folgende Meldung:

Code: Alles auswählen

[ERROR] Ungültiger Speicherzugriff
Im kern.log findet sich dazu folgendes:

Code: Alles auswählen

kalender[3907]: segfault at 2800b4a0 ip 00007f4d36dfdb81 sp 00007fffb0b08720 error 4 in libgobject-2.0.so.0.2800.6[7f4d36dca000+4e000]
Nach ein wenig planlosem Herumprobieren, gelang es, die Abstürze zu minimieren - doch das Problem konnte ich nicht beseitigen.
Mein Lösungsansatz war folgender:
Im Originalprogramm:
Das Image, das dem Gadget zugewiesen ist, wird gelöscht, neu gezeichnet und wieder neu zugewiesen.

Abgewandelt (mit weniger Crashes):
Es wird ein Image erstellt, zugewiesen ... ... dann wird ein neues erstellt, zugewiesen und das alte image gelöscht.



Vielleicht war es nicht die sauberste Lösung ein Image, das dem Gadget zugewiesen ist zu löschen ... aber dieser Code hat über Jahre hinweg funktioniert.
Wenn es daran liegen sollte, müsste ja wenigstens die Variante Nr. 2 funktionieren.

Ich hoffe, mir kann jemand weiterhelfen! Ich hab langsam keine Ahnung mehr, was ich noch probieren könnte!
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8807
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Re: Problem mit ImageGadget

Beitrag von NicTheQuick »

Kannst du ein kleines Beispiel machen, mit dem man das Verhalten direkt testen kann ohne selbst was coden zu müssen? Ich will es mal noch auf meinem Linux testen.
chrissi87
Beiträge: 13
Registriert: 11.03.2009 12:04
Computerausstattung: Ubuntu Studio 12.04 x64, i386, Win7 Pro 64-Bit
Kontaktdaten:

Re: Problem mit ImageGadget

Beitrag von chrissi87 »

Hallo,

ich hab gerade ein kleines Beispiel geschrieben, musste aber feststellen, dass dieses einwandfrei funktioniert....

Ich versuche es weiter ... vielleicht "crashed" es ja irgendwann mal ;-)

Ansonsten kann ich nur das "richtige" Programm anbieten. Leider ist dieses ziemlich umfangreich.

Falls trotzdem Interesse besteht:
http://desktopkalender.berlios.de

... diese Version lief z.B. unter Ubuntu 10.04 x64 sowie Ubuntu 10.04 i386 einwandfrei (ebenso unter WinXP und Win7)

Der Fehler wird in der Zeile 1321 in der Datei sources/kalender_func.pbi ausgelöst.
Antworten