Seite 1 von 1

[Qt4.20] QModelIndexList Destruktor

Verfasst: 9. November 2006 15:06
von Esleborn
hi,
ich hab ein Problem, das sich mir einfach nicht klären will...
folgender Code soll aufgerufen werden, wobei mp_view ein eigenes Widget, abgeleitet von QAbstractItemView, ist:

Code: Alles auswählen

QModelIndexList indexList ( mp_view->selectionModel ( )->selectedIndexes ( ) );
if ( indexList.isEmpty ( ) )
   indexList << mp_view->currentIndex ( );

// mache etwas mit den Elementen der Liste (natürlich ohne diese oder di e Liste zu verändern)
sobald der Destruktor der QModelIndexList aufgerufen wird, stürzt das Programm ab, dagegen tut folgender Code einwandfrei (aber ist halt nicht was ich will):

Code: Alles auswählen

QModelIndexList indexList;
indexList << mp_view->currentIndex ( ) << mp_view->currentIndex ( );

// mache etwas mit den Elementen der Liste (natürlich ohne diese oder di e Liste zu verändern)
Kann mir einer erklären, warum das eine Mal der Destrukor durchläuft, das andere Mal nicht? [unabhängig von der Größe von mp_view->selectionModel ( )->selectedIndexes ( )]

Thx
Elgrimm

PS: Die Indexes die von mp_view->selectionModel ( )->selectedIndexes ( ) zurückgegeben werden, sind alle korrekt und valid

Verfasst: 18. November 2008 12:21
von Volker
Kann Dir zwar nicht erklären, woran das liegt, aber ich hatte das Problem mit Qt 4.0 auch schon mal. Irgendwann hatte es sich dann erledigt - k.A. wieso - und jetzt mit Qt 4.4.3 hab ich's wieder.

Hat mittlerweile evtl. jemand rausgefunden woran es liegt?

Selbes Problem 1
Selbes Problem 2Selbes Problem 3

Verfasst: 18. November 2008 12:30
von Volker
Evtl. kann ich mir die Antwort endlich selbst geben! :-)

Scheinbar hängt es mit den Runtime Bibliotheken von Visual Studio zusammen. Übersetze ich mein Programm mit Multithreaded Debug DLL, stürzt es nicht ab. Mit Multithreaded Debug, dagegen schon.