@@ -78,7 +78,7 @@ void QgsDatumTransformDialog::load( const QPair<int, int> &selectedDatumTransfor
78
78
bool itemDisabled = false ;
79
79
bool itemHidden = false ;
80
80
81
- if ( transform.sourceTransformId == -1 || transform.destinationTransformId == -1 )
81
+ if ( transform.sourceTransformId == -1 && transform.destinationTransformId == -1 )
82
82
continue ;
83
83
84
84
for ( int i = 0 ; i < 2 ; ++i )
@@ -157,8 +157,8 @@ void QgsDatumTransformDialog::load( const QPair<int, int> &selectedDatumTransfor
157
157
158
158
void QgsDatumTransformDialog::setOKButtonEnabled ()
159
159
{
160
- QTableWidgetItem *item = mDatumTransformTableWidget ->currentItem ();
161
- mButtonBox ->button ( QDialogButtonBox::Ok )->setEnabled ( mSourceCrs .isValid () && mDestinationCrs .isValid () && item );
160
+ int row = mDatumTransformTableWidget ->currentRow ();
161
+ mButtonBox ->button ( QDialogButtonBox::Ok )->setEnabled ( mSourceCrs .isValid () && mDestinationCrs .isValid () && row >= 0 );
162
162
}
163
163
164
164
QgsDatumTransformDialog::~QgsDatumTransformDialog ()
@@ -190,8 +190,10 @@ QPair<QPair<QgsCoordinateReferenceSystem, int>, QPair<QgsCoordinateReferenceSyst
190
190
191
191
if ( row >= 0 )
192
192
{
193
- sdt.first .second = mDatumTransformTableWidget ->item ( row, 0 )->data ( Qt::UserRole ).toInt ();
194
- sdt.second .second = mDatumTransformTableWidget ->item ( row, 1 )->data ( Qt::UserRole ).toInt ();
193
+ QTableWidgetItem *srcItem = mDatumTransformTableWidget ->item ( row, 0 );
194
+ sdt.first .second = srcItem ? srcItem->data ( Qt::UserRole ).toInt () : -1 ;
195
+ QTableWidgetItem *destItem = mDatumTransformTableWidget ->item ( row, 1 );
196
+ sdt.second .second = destItem ? destItem->data ( Qt::UserRole ).toInt () : -1 ;
195
197
}
196
198
else
197
199
{
0 commit comments