Bug 124917 - crash selecting primary key after clicking in the reverse button
Summary: crash selecting primary key after clicking in the reverse button
Status: CLOSED WORKSFORME
Alias: None
Product: KEXI
Classification: Applications
Component: General (other bugs)
Version First Reported In: 1.0 rc1 (KOffice 1.5 rc1)
Platform: unspecified Linux
: NOR crash
Target Milestone: ---
Assignee: Jarosław Staniek
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-04-04 17:49 UTC by Jaime Torres
Modified: 2016-01-29 19:57 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments
Jaime Torres A.vcf (1.62 KB, application/octet-stream)
2006-04-05 09:23 UTC, Jaime Torres
Details
Jaime Torres A.vcf (1.62 KB, application/octet-stream)
2006-05-26 08:49 UTC, Jaime Torres
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jaime Torres 2006-04-04 17:49:31 UTC
Version:           1.0 beta 2 (KOffice 1.5 rc1) (using KDE 3.5.2, compiled sources)
Compiler:          Target: i686-pc-linux-gnu
OS:                Linux (i686) release 2.6.16

I create a new local database, create a new table, name two fields "a" (text) and "b", and play with them trying to make them primary key.

When I play several times with the primary key button (and the reverse button) in the a field, I get the following crashes:

--------------------------------------------------

Using host libthread_db library "/lib/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread -1232901568 (LWP 1629)]
[KCrash handler]
#9  0x00000000 in ?? ()
#10 0xb7415ac2 in QListViewItem::height ()
   from /usr/lib/qt3.1/lib/libqt-mt.so.3
#11 0xb60a9709 in KoProperty::EditorItem::paintCell ()
   from /usr/kde3/lib/libkoproperty.so.0
#12 0xb741edaa in QListView::drawContentsOffset ()
   from /usr/lib/qt3.1/lib/libqt-mt.so.3
#13 0xb7452838 in QScrollView::viewportPaintEvent ()
   from /usr/lib/qt3.1/lib/libqt-mt.so.3
#14 0xb6bcb454 in KListView::viewportPaintEvent ()
   from /usr/kde3/lib/libkdeui.so.4
#15 0xb7453faf in QScrollView::eventFilter ()
   from /usr/lib/qt3.1/lib/libqt-mt.so.3
#16 0xb741b1bb in QListView::eventFilter ()
   from /usr/lib/qt3.1/lib/libqt-mt.so.3
#17 0xb60a4443 in KoProperty::Editor::eventFilter ()
   from /usr/kde3/lib/libkoproperty.so.0
#18 0xb7317b86 in QObject::activate_filters ()
   from /usr/lib/qt3.1/lib/libqt-mt.so.3
#19 0xb7317c0b in QObject::event () from /usr/lib/qt3.1/lib/libqt-mt.so.3
#20 0xb7356e3c in QWidget::event () from /usr/lib/qt3.1/lib/libqt-mt.so.3
#21 0xb72aaa3b in QApplication::internalNotify ()
   from /usr/lib/qt3.1/lib/libqt-mt.so.3
#22 0xb72abf4a in QApplication::notify ()
   from /usr/lib/qt3.1/lib/libqt-mt.so.3
#23 0xb79b779e in KApplication::notify () from /usr/kde3/lib/libkdecore.so.4
#24 0xb722f481 in QETWidget::translatePaintEvent ()
   from /usr/lib/qt3.1/lib/libqt-mt.so.3
#25 0xb723b2e9 in QApplication::x11ProcessEvent ()
   from /usr/lib/qt3.1/lib/libqt-mt.so.3
#26 0xb724d477 in QEventLoop::processEvents ()
   from /usr/lib/qt3.1/lib/libqt-mt.so.3
#27 0xb72c4bd1 in QEventLoop::enterLoop ()
   from /usr/lib/qt3.1/lib/libqt-mt.so.3
#28 0xb72c4a4e in QEventLoop::exec () from /usr/lib/qt3.1/lib/libqt-mt.so.3
#29 0xb72aa46f in QApplication::exec () from /usr/lib/qt3.1/lib/libqt-mt.so.3
#30 0xb6f91540 in kdemain () from /usr/kde3/lib/libkdeinit_kexi.so
#31 0xb6f935d4 in kdeinitmain () from /usr/kde3/lib/kde3/kexi.so
#32 0x0804e0d7 in launch ()
#33 0x0804e927 in handle_launcher_request ()
#34 0x0804ef11 in handle_requests ()
#35 0x0804ffbb in main ()

-----------------------------------------------------

Using host libthread_db library "/lib/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread -1232901568 (LWP 1752)]
[KCrash handler]
#9  0xb60a5d8c in KoProperty::Editor::createWidgetForProperty ()
   from /usr/kde3/lib/libkoproperty.so.0
#10 0xb60a5ffc in KoProperty::Editor::slotClicked ()
   from /usr/kde3/lib/libkoproperty.so.0
#11 0xb60a6fb1 in KoProperty::Editor::qt_invoke ()
   from /usr/kde3/lib/libkoproperty.so.0
#12 0xb731882f in QObject::activate_signal ()
   from /usr/lib/qt3.1/lib/libqt-mt.so.3
#13 0xb76ffa3f in QListView::selectionChanged ()
   from /usr/lib/qt3.1/lib/libqt-mt.so.3
#14 0xb741a7b9 in QListView::setSelected ()
   from /usr/lib/qt3.1/lib/libqt-mt.so.3
#15 0xb60a3849 in KoProperty::Editor::selectItemLater ()
   from /usr/kde3/lib/libkoproperty.so.0
#16 0xb60a717d in KoProperty::Editor::qt_invoke ()
   from /usr/kde3/lib/libkoproperty.so.0
#17 0xb731882f in QObject::activate_signal ()
   from /usr/lib/qt3.1/lib/libqt-mt.so.3
#18 0xb76eacce in QSignal::signal () from /usr/lib/qt3.1/lib/libqt-mt.so.3
#19 0xb7337c28 in QSignal::activate () from /usr/lib/qt3.1/lib/libqt-mt.so.3
#20 0xb7340ab3 in QSingleShotTimer::event ()
   from /usr/lib/qt3.1/lib/libqt-mt.so.3
#21 0xb72aaa3b in QApplication::internalNotify ()
   from /usr/lib/qt3.1/lib/libqt-mt.so.3
#22 0xb72ac1fb in QApplication::notify ()
   from /usr/lib/qt3.1/lib/libqt-mt.so.3
#23 0xb79b779e in KApplication::notify () from /usr/kde3/lib/libkdecore.so.4
#24 0xb729e45f in QEventLoop::activateTimers ()
   from /usr/lib/qt3.1/lib/libqt-mt.so.3
#25 0xb724d4e9 in QEventLoop::processEvents ()
   from /usr/lib/qt3.1/lib/libqt-mt.so.3
#26 0xb72c4bd1 in QEventLoop::enterLoop ()
   from /usr/lib/qt3.1/lib/libqt-mt.so.3
#27 0xb72c4a4e in QEventLoop::exec () from /usr/lib/qt3.1/lib/libqt-mt.so.3
#28 0xb72aa46f in QApplication::exec () from /usr/lib/qt3.1/lib/libqt-mt.so.3
#29 0xb6f91540 in kdemain () from /usr/kde3/lib/libkdeinit_kexi.so
#30 0xb6f935d4 in kdeinitmain () from /usr/kde3/lib/kde3/kexi.so
#31 0x0804e0d7 in launch ()
#32 0x0804e927 in handle_launcher_request ()
#33 0x0804ef11 in handle_requests ()
#34 0x0804ffbb in main ()

Thanks.
Comment 1 Jarosław Staniek 2006-04-04 21:18:42 UTC
Thanks for the report. 
I may be wrong but do you use relatively old Qt 3.1 ? I can see /usr/lib/qt3.1 in your backtrace...

Could you try to reproduce the defect on another computer e.g. with different Linux distribution?

Today I fixed one possible crash that may be related the reported defect.
If you can, and want to check whether this fixes the problem please get the updated source code for KOffice 1.5 (from SVN: branches/koffice/1.5/) and compile it. Otherwise you'll need to KOffice 1.5 stable release, ~ April 11.
Comment 2 Jarosław Staniek 2006-04-04 21:33:41 UTC
UPDATE: that the fix will probably not be included in the 1.5 stable release due to time constraints. So as mentioned, the only option to get the fix is to get the source code from SVN: branches/koffice/1.5/
Comment 3 Jaime Torres 2006-04-05 09:23:51 UTC
I use Qt 3.3.6, even it is in /usr/lib/qt3.1, to not recompile everything
every time Qt changes.

I was able to reproduce the same problem at home, with an older machine, but
more or less the same configuration:
glibc 2.4, qt 3.3.6, kde 3.5.2, gcc 4.1.

I am not able to connect to SVN because I'm behind a firewall. I suppose
I'll have to wait for Koffice 1.5.1.

Thanks.

[bugs.kde.org quoted mail]

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
<META NAME="Generator" CONTENT="MS Exchange Server version 5.5.2653.12">
<TITLE>RE: [Bug 124917] crash selecting primary key after clicking in the reverse button   </TITLE>
</HEAD>
<BODY>

<P><FONT SIZE=2>I use Qt 3.3.6, even it is in /usr/lib/qt3.1, to not recompile everything every time Qt changes.</FONT>
</P>

<P><FONT SIZE=2>I was able to reproduce the same problem at home, with an older machine, but more or less the same configuration:</FONT>
<BR><FONT SIZE=2>glibc 2.4, qt 3.3.6, kde 3.5.2, gcc 4.1.</FONT>
</P>

<P><FONT SIZE=2>I am not able to connect to SVN because I'm behind a firewall. I suppose I'll have to wait for Koffice 1.5.1.</FONT>
</P>

<P><FONT SIZE=2>Thanks.</FONT>
</P>

<P><FONT SIZE=2>&gt; -----Mensaje original-----</FONT>
<BR><FONT SIZE=2>&gt; De: Jaroslaw Staniek [<A HREF="mailto:js@iidea.pl">mailto:js@iidea.pl</A>]</FONT>
<BR><FONT SIZE=2>&gt; Enviado el: martes, 04 de abril de 2006 21:19</FONT>
<BR><FONT SIZE=2>&gt; Para: jtorres@sia.es</FONT>
<BR><FONT SIZE=2>&gt; Asunto: [Bug 124917] crash selecting primary key after clicking in the</FONT>
<BR><FONT SIZE=2>&gt; reverse button </FONT>
<BR><FONT SIZE=2>&gt; </FONT>
<BR><FONT SIZE=2>&gt; </FONT>
<BR><FONT SIZE=2>&gt; ------- You are receiving this mail because: -------</FONT>
<BR><FONT SIZE=2>&gt; You reported the bug, or are watching the reporter.</FONT>
<BR><FONT SIZE=2>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT>
<BR><FONT SIZE=2>&gt; <A HREF="http://bugs.kde.org/show_bug.cgi?id=124917" TARGET="_blank">http://bugs.kde.org/show_bug.cgi?id=124917</A>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT>
<BR><FONT SIZE=2>&gt; </FONT>
<BR><FONT SIZE=2>&gt; </FONT>
<BR><FONT SIZE=2>&gt; </FONT>
<BR><FONT SIZE=2>&gt; </FONT>
<BR><FONT SIZE=2>&gt; ------- Additional Comments From js iidea pl&nbsp; 2006-04-04 21:18 -------</FONT>
<BR><FONT SIZE=2>&gt; Thanks for the report. </FONT>
<BR><FONT SIZE=2>&gt; I may be wrong but do you use relatively old Qt 3.1 ? I can </FONT>
<BR><FONT SIZE=2>&gt; see /usr/lib/qt3.1 in your backtrace...</FONT>
<BR><FONT SIZE=2>&gt; </FONT>
<BR><FONT SIZE=2>&gt; Could you try to reproduce the defect on another computer </FONT>
<BR><FONT SIZE=2>&gt; e.g. with different Linux distribution?</FONT>
<BR><FONT SIZE=2>&gt; </FONT>
<BR><FONT SIZE=2>&gt; Today I fixed one possible crash that may be related the </FONT>
<BR><FONT SIZE=2>&gt; reported defect.</FONT>
<BR><FONT SIZE=2>&gt; If you can, and want to check whether this fixes the problem </FONT>
<BR><FONT SIZE=2>&gt; please get the updated source code for KOffice 1.5 (from SVN: </FONT>
<BR><FONT SIZE=2>&gt; branches/koffice/1.5/) and compile it. Otherwise you'll need </FONT>
<BR><FONT SIZE=2>&gt; to KOffice 1.5 stable release, ~ April 11.</FONT>
<BR><FONT SIZE=2>&gt; </FONT>
</P>

<P><FONT FACE="Arial" SIZE=2 COLOR="#000000"></FONT>&nbsp;

</BODY>
</HTML>


Created an attachment (id=15468)
Jaime Torres A.vcf
Comment 4 Jarosław Staniek 2006-05-25 21:02:55 UTC
Could you try the 1.0.1 version (from KOffice 1.5.1)?
Comment 5 Jaime Torres 2006-05-26 08:49:14 UTC
I've tried at home and the bug is still there.
I've tried at work and the bug is still there.


I've created an character row, converted it to primary key, that is
converted automátically to integer. Then I change the type again to
Character, and the following crash is generated.

kexi: KexiMainWindowImpl::propertySetSwitched()
Kexi (plugins): KexiAlterTableDialog::slotPropertyChanged(): primaryKey =
[variant: bool toString=true]
Kexi (plugins): KexiAlterTableDialog::slotPropertyChanged(): subType =
[variant: QString toString=Text]
kexi: INVALID Text
kexi: 011
Kexi (plugins): KexiAlterTableDialog::slotPropertyChanged(): length =
[variant: uint toString=200]
kexi: KexiMainWindowImpl::propertySetSwitched()
kexi: 011
kexi: KexiMainWindowImpl::propertySetSwitched()
Kexi (plugins): oldRow=0 oldCol=2
Kexi (general): setCursorPosition(): old:2,0 new:2,1
kexi: KexiTableView::editorShowFocus() : IN
Kexi (plugins): NOW item at 1 (125385792) is current
kexi: KexiMainWindowImpl::propertySetSwitched()
==27171==
==27171== Invalid read of size 4
==27171==    at 0x45BCD8C:
KoProperty::Editor::createWidgetForProperty(KoProperty::Property*, bool) (in
/kde3/lib/libkoproperty.so.0.0.0)
==27171==    by 0x45BDBBB: KoProperty::Editor::slotClicked(QListViewItem*)
(in /kde3/lib/libkoproperty.so.0.0.0)
==27171==    by 0x45BECB0: KoProperty::Editor::qt_invoke(int, QUObject*) (in
/kde3/lib/libkoproperty.so.0.0.0)
==27171==    by 0x55C182E: QObject::activate_signal(QConnectionList*,
QUObject*) (in /usr/lib/qt3.1/lib/libqt-mt.so.3.3.6)
==27171==    by 0x59A8A3E: QListView::selectionChanged(QListViewItem*) (in
/usr/lib/qt3.1/lib/libqt-mt.so.3.3.6)
==27171==    by 0x56C37B8: QListView::setSelected(QListViewItem*, bool) (in
/usr/lib/qt3.1/lib/libqt-mt.so.3.3.6)
==27171==    by 0x45BB4D8: KoProperty::Editor::selectItemLater() (in
/kde3/lib/libkoproperty.so.0.0.0)
==27171==    by 0x45BEE7C: KoProperty::Editor::qt_invoke(int, QUObject*) (in
/kde3/lib/libkoproperty.so.0.0.0)
==27171==    by 0x55C182E: QObject::activate_signal(QConnectionList*,
QUObject*) (in /usr/lib/qt3.1/lib/libqt-mt.so.3.3.6)
==27171==    by 0x5993CCD: QSignal::signal(QVariant const&) (in
/usr/lib/qt3.1/lib/libqt-mt.so.3.3.6)
==27171==    by 0x55E0C27: QSignal::activate() (in
/usr/lib/qt3.1/lib/libqt-mt.so.3.3.6)
==27171==    by 0x55E9AB2: QSingleShotTimer::event(QEvent*) (in
/usr/lib/qt3.1/lib/libqt-mt.so.3.3.6)
==27171==  Address 0x0 is not stack'd, malloc'd or (recently) free'd

Using host libthread_db library "/lib/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread -1232812368 (LWP 27163)]
[KCrash handler]
#9  0x084c3343 in ?? ()
#10 0xb746b762 in QListView::setSelected ()
   from /usr/lib/qt3.1/lib/libqt-mt.so.3
#11 0xb607a4d9 in KoProperty::Editor::selectItemLater ()
   from /usr/kde3/lib/libkoproperty.so.0
#12 0xb607de7d in KoProperty::Editor::qt_invoke ()
   from /usr/kde3/lib/libkoproperty.so.0
#13 0xb736982f in QObject::activate_signal ()
   from /usr/lib/qt3.1/lib/libqt-mt.so.3
#14 0xb773bcce in QSignal::signal () from /usr/lib/qt3.1/lib/libqt-mt.so.3
#15 0xb7388c28 in QSignal::activate () from /usr/lib/qt3.1/lib/libqt-mt.so.3
#16 0xb7391ab3 in QSingleShotTimer::event ()
   from /usr/lib/qt3.1/lib/libqt-mt.so.3
#17 0xb72fba3b in QApplication::internalNotify ()
   from /usr/lib/qt3.1/lib/libqt-mt.so.3
#18 0xb72fd1fb in QApplication::notify ()
   from /usr/lib/qt3.1/lib/libqt-mt.so.3
#19 0xb7a0879e in KApplication::notify () from /usr/kde3/lib/libkdecore.so.4
#20 0xb72ef2e6 in QEventLoop::activateTimers ()
   from /usr/lib/qt3.1/lib/libqt-mt.so.3
#21 0xb729e4e9 in QEventLoop::processEvents ()
   from /usr/lib/qt3.1/lib/libqt-mt.so.3
#22 0xb607cf7b in KoProperty::Editor::fill ()
   from /usr/kde3/lib/libkoproperty.so.0
#23 0xb607d803 in KoProperty::Editor::changeSet ()
   from /usr/kde3/lib/libkoproperty.so.0
#24 0xb653322e in KexiMainWindowImpl::propertySetSwitched ()
   from /usr/kde3/lib/libkeximain.so.1
#25 0xb61c1d5d in KexiViewBase::propertySetReloaded ()
   from /usr/kde3/lib/libkexicore.so.1
#26 0xb56a3efa in KexiAlterTableDialog::slotBeforeCellChanged ()
   from /usr/kde3/lib/kde3/kexihandler_table.so
#27 0xb56a69cf in KexiAlterTableDialog::qt_invoke ()
   from /usr/kde3/lib/kde3/kexihandler_table.so
#28 0xb736982f in QObject::activate_signal ()
   from /usr/lib/qt3.1/lib/libqt-mt.so.3
#29 0xb6255a77 in KexiTableViewData::aboutToChangeCell ()
   from /usr/kde3/lib/libkexidatatable.so.1
#30 0xb62596c8 in KexiTableViewData::updateRowEditBufferRef ()
   from /usr/kde3/lib/libkexidatatable.so.1
#31 0xb623ef67 in KexiDataAwareObjectInterface::acceptEditor ()
   from /usr/kde3/lib/libkexidatatable.so.1
#32 0xb62c16b2 in KexiTableView::acceptEditor ()
   from /usr/kde3/lib/libkexiextendedwidgets.so.1
#33 0xb624db40 in KexiTableView::qt_invoke ()
   from /usr/kde3/lib/libkexidatatable.so.1
#34 0xb736982f in QObject::activate_signal ()
   from /usr/lib/qt3.1/lib/libqt-mt.so.3
#35 0xb736a29d in QObject::activate_signal ()
   from /usr/lib/qt3.1/lib/libqt-mt.so.3
#36 0xb6252e7c in KexiTableEdit::acceptRequested ()
   from /usr/kde3/lib/libkexidatatable.so.1
#37 0xb6272301 in KexiComboBoxTableEdit::slotRowAccepted ()
   from /usr/kde3/lib/libkexidatatable.so.1
#38 0xb6273222 in KexiComboBoxTableEdit::qt_invoke ()
   from /usr/kde3/lib/libkexidatatable.so.1
#39 0xb736982f in QObject::activate_signal ()
   from /usr/lib/qt3.1/lib/libqt-mt.so.3
#40 0xb6274fd0 in KexiComboBoxPopup::rowAccepted ()
   from /usr/kde3/lib/libkexidatatable.so.1
#41 0xb627512b in KexiComboBoxPopup::slotTVItemAccepted ()
   from /usr/kde3/lib/libkexidatatable.so.1
#42 0xb62751fb in KexiComboBoxPopup::qt_invoke ()
   from /usr/kde3/lib/libkexidatatable.so.1
#43 0xb736982f in QObject::activate_signal ()
   from /usr/lib/qt3.1/lib/libqt-mt.so.3
#44 0xb624554f in KexiTableView::itemMouseReleased ()
   from /usr/kde3/lib/libkexidatatable.so.1
#45 0xb624ed8d in KexiTableView::contentsMouseReleaseEvent ()
   from /usr/kde3/lib/libkexidatatable.so.1
#46 0xb74a7613 in QScrollView::viewportMouseReleaseEvent ()
   from /usr/lib/qt3.1/lib/libqt-mt.so.3
#47 0xb74a4fff in QScrollView::eventFilter ()
   from /usr/lib/qt3.1/lib/libqt-mt.so.3
#48 0xb6242d97 in KexiTableView::eventFilter ()
   from /usr/kde3/lib/libkexidatatable.so.1
#49 0xb7368b86 in QObject::activate_filters ()
   from /usr/lib/qt3.1/lib/libqt-mt.so.3
#50 0xb7368c0b in QObject::event () from /usr/lib/qt3.1/lib/libqt-mt.so.3
#51 0xb73a7e3c in QWidget::event () from /usr/lib/qt3.1/lib/libqt-mt.so.3
#52 0xb72fba3b in QApplication::internalNotify ()
   from /usr/lib/qt3.1/lib/libqt-mt.so.3
#53 0xb72fd160 in QApplication::notify ()
   from /usr/lib/qt3.1/lib/libqt-mt.so.3
#54 0xb7a0879e in KApplication::notify () from /usr/kde3/lib/libkdecore.so.4
#55 0xb728d415 in QETWidget::translateMouseEvent ()
   from /usr/lib/qt3.1/lib/libqt-mt.so.3
#56 0xb728bf82 in QApplication::x11ProcessEvent ()
   from /usr/lib/qt3.1/lib/libqt-mt.so.3
#57 0xb729e477 in QEventLoop::processEvents ()
   from /usr/lib/qt3.1/lib/libqt-mt.so.3
#58 0xb7315bd1 in QEventLoop::enterLoop ()
   from /usr/lib/qt3.1/lib/libqt-mt.so.3
#59 0xb7315a4e in QEventLoop::exec () from /usr/lib/qt3.1/lib/libqt-mt.so.3
#60 0xb72fb46f in QApplication::exec () from
/usr/lib/qt3.1/lib/libqt-mt.so.3
#61 0xb6fdc860 in kdemain () from /usr/kde3/lib/libkdeinit_kexi.so
#62 0xb6fde944 in kdeinitmain () from /usr/kde3/lib/kde3/kexi.so
#63 0x0804e0d7 in launch ()
#64 0x0804e927 in handle_launcher_request ()
#65 0x0804ef11 in handle_requests ()
#66 0x0804ffbb in main ()



[bugs.kde.org quoted mail]

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
<META NAME="Generator" CONTENT="MS Exchange Server version 5.5.2653.12">
<TITLE>RE: [Bug 124917] crash selecting primary key after clicking in the reverse button   </TITLE>
</HEAD>
<BODY>

<P><FONT SIZE=2>I've tried at home and the bug is still there.</FONT>
<BR><FONT SIZE=2>I've tried at work and the bug is still there.</FONT>
</P>
<BR>

<P><FONT SIZE=2>I've created an character row, converted it to primary key, that is converted automátically to integer. Then I change the type again to Character, and the following crash is generated.</FONT></P>

<P><FONT SIZE=2>kexi: KexiMainWindowImpl::propertySetSwitched()</FONT>
<BR><FONT SIZE=2>Kexi (plugins): KexiAlterTableDialog::slotPropertyChanged(): primaryKey = [variant: bool toString=true]</FONT>
<BR><FONT SIZE=2>Kexi (plugins): KexiAlterTableDialog::slotPropertyChanged(): subType = [variant: QString toString=Text]</FONT>
<BR><FONT SIZE=2>kexi: INVALID Text</FONT>
<BR><FONT SIZE=2>kexi: 011</FONT>
<BR><FONT SIZE=2>Kexi (plugins): KexiAlterTableDialog::slotPropertyChanged(): length = [variant: uint toString=200]</FONT>
<BR><FONT SIZE=2>kexi: KexiMainWindowImpl::propertySetSwitched()</FONT>
<BR><FONT SIZE=2>kexi: 011</FONT>
<BR><FONT SIZE=2>kexi: KexiMainWindowImpl::propertySetSwitched()</FONT>
<BR><FONT SIZE=2>Kexi (plugins): oldRow=0 oldCol=2</FONT>
<BR><FONT SIZE=2>Kexi (general): setCursorPosition(): old:2,0 new:2,1</FONT>
<BR><FONT SIZE=2>kexi: KexiTableView::editorShowFocus() : IN</FONT>
<BR><FONT SIZE=2>Kexi (plugins): NOW item at 1 (125385792) is current</FONT>
<BR><FONT SIZE=2>kexi: KexiMainWindowImpl::propertySetSwitched()</FONT>
<BR><FONT SIZE=2>==27171==</FONT>
<BR><FONT SIZE=2>==27171== Invalid read of size 4</FONT>
<BR><FONT SIZE=2>==27171==&nbsp;&nbsp;&nbsp; at 0x45BCD8C: KoProperty::Editor::createWidgetForProperty(KoProperty::Property*, bool) (in /kde3/lib/libkoproperty.so.0.0.0)</FONT></P>

<P><FONT SIZE=2>==27171==&nbsp;&nbsp;&nbsp; by 0x45BDBBB: KoProperty::Editor::slotClicked(QListViewItem*) (in /kde3/lib/libkoproperty.so.0.0.0)</FONT>
<BR><FONT SIZE=2>==27171==&nbsp;&nbsp;&nbsp; by 0x45BECB0: KoProperty::Editor::qt_invoke(int, QUObject*) (in /kde3/lib/libkoproperty.so.0.0.0)</FONT>
<BR><FONT SIZE=2>==27171==&nbsp;&nbsp;&nbsp; by 0x55C182E: QObject::activate_signal(QConnectionList*, QUObject*) (in /usr/lib/qt3.1/lib/libqt-mt.so.3.3.6)</FONT></P>

<P><FONT SIZE=2>==27171==&nbsp;&nbsp;&nbsp; by 0x59A8A3E: QListView::selectionChanged(QListViewItem*) (in /usr/lib/qt3.1/lib/libqt-mt.so.3.3.6)</FONT>
<BR><FONT SIZE=2>==27171==&nbsp;&nbsp;&nbsp; by 0x56C37B8: QListView::setSelected(QListViewItem*, bool) (in /usr/lib/qt3.1/lib/libqt-mt.so.3.3.6)</FONT>
<BR><FONT SIZE=2>==27171==&nbsp;&nbsp;&nbsp; by 0x45BB4D8: KoProperty::Editor::selectItemLater() (in /kde3/lib/libkoproperty.so.0.0.0)</FONT>
<BR><FONT SIZE=2>==27171==&nbsp;&nbsp;&nbsp; by 0x45BEE7C: KoProperty::Editor::qt_invoke(int, QUObject*) (in /kde3/lib/libkoproperty.so.0.0.0)</FONT>
<BR><FONT SIZE=2>==27171==&nbsp;&nbsp;&nbsp; by 0x55C182E: QObject::activate_signal(QConnectionList*, QUObject*) (in /usr/lib/qt3.1/lib/libqt-mt.so.3.3.6)</FONT></P>

<P><FONT SIZE=2>==27171==&nbsp;&nbsp;&nbsp; by 0x5993CCD: QSignal::signal(QVariant const&amp;) (in /usr/lib/qt3.1/lib/libqt-mt.so.3.3.6)</FONT>
<BR><FONT SIZE=2>==27171==&nbsp;&nbsp;&nbsp; by 0x55E0C27: QSignal::activate() (in /usr/lib/qt3.1/lib/libqt-mt.so.3.3.6)</FONT>
<BR><FONT SIZE=2>==27171==&nbsp;&nbsp;&nbsp; by 0x55E9AB2: QSingleShotTimer::event(QEvent*) (in /usr/lib/qt3.1/lib/libqt-mt.so.3.3.6)</FONT>
<BR><FONT SIZE=2>==27171==&nbsp; Address 0x0 is not stack'd, malloc'd or (recently) free'd</FONT>
</P>

<P><FONT SIZE=2>Using host libthread_db library &quot;/lib/libthread_db.so.1&quot;.</FONT>
<BR><FONT SIZE=2>[Thread debugging using libthread_db enabled]</FONT>
<BR><FONT SIZE=2>[New Thread -1232812368 (LWP 27163)]</FONT>
<BR><FONT SIZE=2>[KCrash handler]</FONT>
<BR><FONT SIZE=2>#9&nbsp; 0x084c3343 in ?? ()</FONT>
<BR><FONT SIZE=2>#10 0xb746b762 in QListView::setSelected ()</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp; from /usr/lib/qt3.1/lib/libqt-mt.so.3</FONT>
<BR><FONT SIZE=2>#11 0xb607a4d9 in KoProperty::Editor::selectItemLater ()</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp; from /usr/kde3/lib/libkoproperty.so.0</FONT>
<BR><FONT SIZE=2>#12 0xb607de7d in KoProperty::Editor::qt_invoke ()</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp; from /usr/kde3/lib/libkoproperty.so.0</FONT>
<BR><FONT SIZE=2>#13 0xb736982f in QObject::activate_signal ()</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp; from /usr/lib/qt3.1/lib/libqt-mt.so.3</FONT>
<BR><FONT SIZE=2>#14 0xb773bcce in QSignal::signal () from /usr/lib/qt3.1/lib/libqt-mt.so.3</FONT>
<BR><FONT SIZE=2>#15 0xb7388c28 in QSignal::activate () from /usr/lib/qt3.1/lib/libqt-mt.so.3</FONT>
<BR><FONT SIZE=2>#16 0xb7391ab3 in QSingleShotTimer::event ()</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp; from /usr/lib/qt3.1/lib/libqt-mt.so.3</FONT>
<BR><FONT SIZE=2>#17 0xb72fba3b in QApplication::internalNotify ()</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp; from /usr/lib/qt3.1/lib/libqt-mt.so.3</FONT>
<BR><FONT SIZE=2>#18 0xb72fd1fb in QApplication::notify ()</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp; from /usr/lib/qt3.1/lib/libqt-mt.so.3</FONT>
<BR><FONT SIZE=2>#19 0xb7a0879e in KApplication::notify () from /usr/kde3/lib/libkdecore.so.4</FONT>
<BR><FONT SIZE=2>#20 0xb72ef2e6 in QEventLoop::activateTimers ()</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp; from /usr/lib/qt3.1/lib/libqt-mt.so.3</FONT>
<BR><FONT SIZE=2>#21 0xb729e4e9 in QEventLoop::processEvents ()</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp; from /usr/lib/qt3.1/lib/libqt-mt.so.3</FONT>
<BR><FONT SIZE=2>#22 0xb607cf7b in KoProperty::Editor::fill ()</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp; from /usr/kde3/lib/libkoproperty.so.0</FONT>
<BR><FONT SIZE=2>#23 0xb607d803 in KoProperty::Editor::changeSet ()</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp; from /usr/kde3/lib/libkoproperty.so.0</FONT>
<BR><FONT SIZE=2>#24 0xb653322e in KexiMainWindowImpl::propertySetSwitched ()</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp; from /usr/kde3/lib/libkeximain.so.1</FONT>
<BR><FONT SIZE=2>#25 0xb61c1d5d in KexiViewBase::propertySetReloaded ()</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp; from /usr/kde3/lib/libkexicore.so.1</FONT>
<BR><FONT SIZE=2>#26 0xb56a3efa in KexiAlterTableDialog::slotBeforeCellChanged ()</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp; from /usr/kde3/lib/kde3/kexihandler_table.so</FONT>
<BR><FONT SIZE=2>#27 0xb56a69cf in KexiAlterTableDialog::qt_invoke ()</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp; from /usr/kde3/lib/kde3/kexihandler_table.so</FONT>
<BR><FONT SIZE=2>#28 0xb736982f in QObject::activate_signal ()</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp; from /usr/lib/qt3.1/lib/libqt-mt.so.3</FONT>
<BR><FONT SIZE=2>#29 0xb6255a77 in KexiTableViewData::aboutToChangeCell ()</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp; from /usr/kde3/lib/libkexidatatable.so.1</FONT>
<BR><FONT SIZE=2>#30 0xb62596c8 in KexiTableViewData::updateRowEditBufferRef ()</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp; from /usr/kde3/lib/libkexidatatable.so.1</FONT>
<BR><FONT SIZE=2>#31 0xb623ef67 in KexiDataAwareObjectInterface::acceptEditor ()</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp; from /usr/kde3/lib/libkexidatatable.so.1</FONT>
<BR><FONT SIZE=2>#32 0xb62c16b2 in KexiTableView::acceptEditor ()</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp; from /usr/kde3/lib/libkexiextendedwidgets.so.1</FONT>
<BR><FONT SIZE=2>#33 0xb624db40 in KexiTableView::qt_invoke ()</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp; from /usr/kde3/lib/libkexidatatable.so.1</FONT>
<BR><FONT SIZE=2>#34 0xb736982f in QObject::activate_signal ()</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp; from /usr/lib/qt3.1/lib/libqt-mt.so.3</FONT>
<BR><FONT SIZE=2>#35 0xb736a29d in QObject::activate_signal ()</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp; from /usr/lib/qt3.1/lib/libqt-mt.so.3</FONT>
<BR><FONT SIZE=2>#36 0xb6252e7c in KexiTableEdit::acceptRequested ()</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp; from /usr/kde3/lib/libkexidatatable.so.1</FONT>
<BR><FONT SIZE=2>#37 0xb6272301 in KexiComboBoxTableEdit::slotRowAccepted ()</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp; from /usr/kde3/lib/libkexidatatable.so.1</FONT>
<BR><FONT SIZE=2>#38 0xb6273222 in KexiComboBoxTableEdit::qt_invoke ()</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp; from /usr/kde3/lib/libkexidatatable.so.1</FONT>
<BR><FONT SIZE=2>#39 0xb736982f in QObject::activate_signal ()</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp; from /usr/lib/qt3.1/lib/libqt-mt.so.3</FONT>
<BR><FONT SIZE=2>#40 0xb6274fd0 in KexiComboBoxPopup::rowAccepted ()</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp; from /usr/kde3/lib/libkexidatatable.so.1</FONT>
<BR><FONT SIZE=2>#41 0xb627512b in KexiComboBoxPopup::slotTVItemAccepted ()</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp; from /usr/kde3/lib/libkexidatatable.so.1</FONT>
<BR><FONT SIZE=2>#42 0xb62751fb in KexiComboBoxPopup::qt_invoke ()</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp; from /usr/kde3/lib/libkexidatatable.so.1</FONT>
<BR><FONT SIZE=2>#43 0xb736982f in QObject::activate_signal ()</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp; from /usr/lib/qt3.1/lib/libqt-mt.so.3</FONT>
<BR><FONT SIZE=2>#44 0xb624554f in KexiTableView::itemMouseReleased ()</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp; from /usr/kde3/lib/libkexidatatable.so.1</FONT>
<BR><FONT SIZE=2>#45 0xb624ed8d in KexiTableView::contentsMouseReleaseEvent ()</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp; from /usr/kde3/lib/libkexidatatable.so.1</FONT>
<BR><FONT SIZE=2>#46 0xb74a7613 in QScrollView::viewportMouseReleaseEvent ()</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp; from /usr/lib/qt3.1/lib/libqt-mt.so.3</FONT>
<BR><FONT SIZE=2>#47 0xb74a4fff in QScrollView::eventFilter ()</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp; from /usr/lib/qt3.1/lib/libqt-mt.so.3</FONT>
<BR><FONT SIZE=2>#48 0xb6242d97 in KexiTableView::eventFilter ()</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp; from /usr/kde3/lib/libkexidatatable.so.1</FONT>
<BR><FONT SIZE=2>#49 0xb7368b86 in QObject::activate_filters ()</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp; from /usr/lib/qt3.1/lib/libqt-mt.so.3</FONT>
<BR><FONT SIZE=2>#50 0xb7368c0b in QObject::event () from /usr/lib/qt3.1/lib/libqt-mt.so.3</FONT>
<BR><FONT SIZE=2>#51 0xb73a7e3c in QWidget::event () from /usr/lib/qt3.1/lib/libqt-mt.so.3</FONT>
<BR><FONT SIZE=2>#52 0xb72fba3b in QApplication::internalNotify ()</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp; from /usr/lib/qt3.1/lib/libqt-mt.so.3</FONT>
<BR><FONT SIZE=2>#53 0xb72fd160 in QApplication::notify ()</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp; from /usr/lib/qt3.1/lib/libqt-mt.so.3</FONT>
<BR><FONT SIZE=2>#54 0xb7a0879e in KApplication::notify () from /usr/kde3/lib/libkdecore.so.4</FONT>
<BR><FONT SIZE=2>#55 0xb728d415 in QETWidget::translateMouseEvent ()</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp; from /usr/lib/qt3.1/lib/libqt-mt.so.3</FONT>
<BR><FONT SIZE=2>#56 0xb728bf82 in QApplication::x11ProcessEvent ()</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp; from /usr/lib/qt3.1/lib/libqt-mt.so.3</FONT>
<BR><FONT SIZE=2>#57 0xb729e477 in QEventLoop::processEvents ()</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp; from /usr/lib/qt3.1/lib/libqt-mt.so.3</FONT>
<BR><FONT SIZE=2>#58 0xb7315bd1 in QEventLoop::enterLoop ()</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp; from /usr/lib/qt3.1/lib/libqt-mt.so.3</FONT>
<BR><FONT SIZE=2>#59 0xb7315a4e in QEventLoop::exec () from /usr/lib/qt3.1/lib/libqt-mt.so.3</FONT>
<BR><FONT SIZE=2>#60 0xb72fb46f in QApplication::exec () from /usr/lib/qt3.1/lib/libqt-mt.so.3</FONT>
<BR><FONT SIZE=2>#61 0xb6fdc860 in kdemain () from /usr/kde3/lib/libkdeinit_kexi.so</FONT>
<BR><FONT SIZE=2>#62 0xb6fde944 in kdeinitmain () from /usr/kde3/lib/kde3/kexi.so</FONT>
<BR><FONT SIZE=2>#63 0x0804e0d7 in launch ()</FONT>
<BR><FONT SIZE=2>#64 0x0804e927 in handle_launcher_request ()</FONT>
<BR><FONT SIZE=2>#65 0x0804ef11 in handle_requests ()</FONT>
<BR><FONT SIZE=2>#66 0x0804ffbb in main ()</FONT>
</P>
<BR>
<BR>

<P><FONT SIZE=2>&gt; -----Mensaje original-----</FONT>
<BR><FONT SIZE=2>&gt; De: Jaroslaw Staniek [<A HREF="mailto:js@iidea.pl">mailto:js@iidea.pl</A>]</FONT>
<BR><FONT SIZE=2>&gt; Enviado el: jueves, 25 de mayo de 2006 21:03</FONT>
<BR><FONT SIZE=2>&gt; Para: jtorres@sia.es</FONT>
<BR><FONT SIZE=2>&gt; Asunto: [Bug 124917] crash selecting primary key after clicking in the</FONT>
<BR><FONT SIZE=2>&gt; reverse button </FONT>
<BR><FONT SIZE=2>&gt; </FONT>
<BR><FONT SIZE=2>&gt; </FONT>
<BR><FONT SIZE=2>&gt; ------- You are receiving this mail because: -------</FONT>
<BR><FONT SIZE=2>&gt; You reported the bug, or are watching the reporter.</FONT>
<BR><FONT SIZE=2>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT>
<BR><FONT SIZE=2>&gt; <A HREF="http://bugs.kde.org/show_bug.cgi?id=124917" TARGET="_blank">http://bugs.kde.org/show_bug.cgi?id=124917</A>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT>
<BR><FONT SIZE=2>&gt; </FONT>
<BR><FONT SIZE=2>&gt; </FONT>
<BR><FONT SIZE=2>&gt; </FONT>
<BR><FONT SIZE=2>&gt; </FONT>
<BR><FONT SIZE=2>&gt; ------- Additional Comments From js iidea pl&nbsp; 2006-05-25 21:02 -------</FONT>
<BR><FONT SIZE=2>&gt; Could you try the 1.0.1 version (from KOffice 1.5.1)?</FONT>
<BR><FONT SIZE=2>&gt; </FONT>
</P>

<P><FONT FACE="Arial" SIZE=2 COLOR="#000000"></FONT>&nbsp;

</BODY>
</HTML>


Created an attachment (id=16279)
Jaime Torres A.vcf
Comment 6 Jaime Torres 2006-05-27 08:57:52 UTC
I've a patch for the crash:

in the file editor.cpp of koproperty, change the line (aprox 620)
	if(widget && !widget->property() || changeWidgetProperty)
for
	if(widget && (!widget->property() || changeWidgetProperty))

Best Regards.
Comment 7 Kevin ALLIX 2006-05-27 18:32:13 UTC
This patch doesn't seem to fix the problem: I still experience the same crash.
Comment 8 Jarosław Staniek 2006-05-27 18:44:03 UTC
SVN commit 545490 by staniek:

Possible fix for crash. Not sure this is the definitive fix for this bug.

Thanks to Jaime Torres.

1.0/2.0: ported

CCMAIL:124917@bugs.kde.org


 M  +1 -1      editor.cpp  


--- branches/koffice/1.6/koffice/lib/koproperty/editor.cpp #545489:545490
@@ -615,7 +615,7 @@
 	//update geometry earlier, because Widget::setValue() can depend on widget's geometry
 	updateEditorGeometry(d->currentItem, widget);
 
-	if(widget && !widget->property() || changeWidgetProperty)
+	if(widget && (!widget->property() || changeWidgetProperty))
 		widget->setProperty(property);
 
 //	if (!d->doNotSetFocusOnSelection) {
Comment 9 Jaime Torres 2006-07-18 12:45:54 UTC
It works for me in koffice 1.5.2