Re: [Interest] invalidated copies of QString in QCommonStyle::cachedOption

2016-01-20 Thread Thiago Macieira
On Wednesday 20 January 2016 12:34:33 Mojmír Svoboda wrote: > On 20.1.2016 11:26, Igor Mironchik wrote: > > Just looked a little at your code. And that what I can say: your code > > has nothing with QStringLiteral. > > QStringDataTable uses the same technique as QStringLiteral. There's no such cl

Re: [Interest] invalidated copies of QString in QCommonStyle::cachedOption

2016-01-20 Thread Igor Mironchik
On 20.01.2016 14:34, Mojmír Svoboda wrote: On 20.1.2016 11:26, Igor Mironchik wrote: Just looked a little at your code. And that what I can say: your code has nothing with QStringLiteral. QStringDataTable uses the same technique as QStringLiteral. QStringLiteral uses static structs! You d

Re: [Interest] invalidated copies of QString in QCommonStyle::cachedOption

2016-01-20 Thread Mojmír Svoboda
On 20.1.2016 11:26, Igor Mironchik wrote: Just looked a little at your code. And that what I can say: your code has nothing with QStringLiteral. QStringDataTable uses the same technique as QStringLiteral. And I don't understand why you need such a "crazy" :) code? May be would be much more b

Re: [Interest] invalidated copies of QString in QCommonStyle::cachedOption

2016-01-20 Thread Igor Mironchik
On 20.01.2016 14:25, Mojmír Svoboda wrote: On 20.1.2016 11:38, Igor Mironchik wrote: Why are you deleting model? i am trying to remove everything i can so that there are no references to the underlying data (m_strings). Just implement clear() method and between beginResetModel(), endReset

Re: [Interest] invalidated copies of QString in QCommonStyle::cachedOption

2016-01-20 Thread Mojmír Svoboda
On 20.1.2016 11:38, Igor Mironchik wrote: Why are you deleting model? i am trying to remove everything i can so that there are no references to the underlying data (m_strings). Just implement clear() method and between beginResetModel(), endResetModel() delete your data. And I guess that thi

Re: [Interest] invalidated copies of QString in QCommonStyle::cachedOption

2016-01-20 Thread Igor Mironchik
On 20.01.2016 12:45, Mojmír Svoboda wrote: On 19.1.2016 10:37, Giuseppe D'Angelo wrote: Please trim down to a small testcase and submit a bug report. If your model is well-behaving the view can't cache the option that way. I managed to reproduce the behaviour with QStandardItemModel, so her

Re: [Interest] invalidated copies of QString in QCommonStyle::cachedOption

2016-01-20 Thread Igor Mironchik
Hi, On 20.01.2016 12:45, Mojmír Svoboda wrote: On 19.1.2016 10:37, Giuseppe D'Angelo wrote: Please trim down to a small testcase and submit a bug report. If your model is well-behaving the view can't cache the option that way. I managed to reproduce the behaviour with QStandardItemModel, so

Re: [Interest] invalidated copies of QString in QCommonStyle::cachedOption

2016-01-20 Thread Mojmír Svoboda
On 19.1.2016 10:37, Giuseppe D'Angelo wrote: Please trim down to a small testcase and submit a bug report. If your model is well-behaving the view can't cache the option that way. I managed to reproduce the behaviour with QStandardItemModel, so here is the repro case: https://bugreports.qt.io/

Re: [Interest] invalidated copies of QString in QCommonStyle::cachedOption

2016-01-19 Thread Giuseppe D'Angelo
On Mon, Jan 18, 2016 at 9:40 AM, Mojmír Svoboda wrote: > One of the copies is in QCommonStylePrivate::cachedOption::text field. I > suspect these style classes use some form of sharing, so when i close the > widget, the copy of qstring will survive the storage, and then when new > qtableview open

Re: [Interest] invalidated copies of QString in QCommonStyle::cachedOption

2016-01-19 Thread Mojmír Svoboda
On 18.1.2016 14:48, Igor Mironchik wrote: What if to change QStringLiteral with QLatin1String usage? Tried it yesterday, and it works without problems as the reference count in QStringData ensures lifetime of the QString. I also tried some very dirty way to release the cachedOption before clo

Re: [Interest] invalidated copies of QString in QCommonStyle::cachedOption

2016-01-18 Thread Igor Mironchik
On 18.01.2016 13:46, Mojmír Svoboda wrote: On 18.1.2016 10:21, Igor Mironchik wrote: Can you reset model on closing of your table view, drop any data, etc... And then close view. Yes i am doing that. I am trying to close everything i know i created (models, proxy models, context menus, dele

Re: [Interest] invalidated copies of QString in QCommonStyle::cachedOption

2016-01-18 Thread Mojmír Svoboda
On 18.1.2016 10:21, Igor Mironchik wrote: Can you reset model on closing of your table view, drop any data, etc... And then close view. Yes i am doing that. I am trying to close everything i know i created (models, proxy models, context menus, delegates). But the problem persists. While inpec

Re: [Interest] invalidated copies of QString in QCommonStyle::cachedOption

2016-01-18 Thread Igor Mironchik
Hi, I'm not sure that this will help, but... Can you reset model on closing of your table view, drop any data, etc... And then close view. If I understood your correctly you are loading model again on new show? On 18.01.2016 11:40, Mojmír Svoboda wrote: Hello, i have a crash in QCommonStyl

[Interest] invalidated copies of QString in QCommonStyle::cachedOption

2016-01-18 Thread Mojmír Svoboda
Hello, i have a crash in QCommonStyle::subElementRect case SE_ItemViewItemDecoration: case SE_ItemViewItemText: case SE_ItemViewItemFocusRect: if (const QStyleOptionViewItem *vopt = ...) { if (!d->isViewItemCached(*vopt)) { d->viewItemLayout(...);