@@ -321,7 +321,8 @@ void LoadoutDialog::addShipButtonClicked()
321321 SCP_vector<SCP_string> list;
322322
323323 for (const auto & item : ui->listShipsNotUsed ->selectedItems ()){
324- list.emplace_back (item->text ().toStdString ());
324+ SCP_string shipName = item->text ().toUtf8 ().constData ();
325+ list.emplace_back (shipName);
325326 }
326327
327328 if (_mode == TABLE_MODE ) {
@@ -338,7 +339,8 @@ void LoadoutDialog::addWeaponButtonClicked()
338339 SCP_vector<SCP_string> list;
339340
340341 for (const auto & item: ui->listWeaponsNotUsed ->selectedItems ()){
341- list.emplace_back (item->text ().toStdString ());
342+ SCP_string weaponName = item->text ().toUtf8 ().constData ();
343+ list.emplace_back (weaponName);
342344 }
343345
344346 if (_mode == TABLE_MODE ) {
@@ -355,7 +357,8 @@ void LoadoutDialog::removeShipButtonClicked()
355357 SCP_vector<SCP_string> list;
356358
357359 for (const auto & item : ui->usedShipsList ->selectedItems ()){
358- list.emplace_back (item->text ().toStdString ());
360+ SCP_string shipName = item->text ().toUtf8 ().constData ();
361+ list.emplace_back (shipName);
359362 }
360363
361364 if (_mode == TABLE_MODE ) {
@@ -372,7 +375,8 @@ void LoadoutDialog::removeWeaponButtonClicked()
372375 SCP_vector<SCP_string> list;
373376
374377 for (const auto & item : ui->usedWeaponsList ->selectedItems ()){
375- list.emplace_back (item->text ().toStdString ());
378+ SCP_string weaponName = item->text ().toUtf8 ().constData ();
379+ list.emplace_back (weaponName);
376380 }
377381
378382 if (_mode == TABLE_MODE ) {
@@ -436,7 +440,7 @@ void LoadoutDialog::onExtraItemsViaVariableCombo()
436440 }
437441
438442 SCP_vector<SCP_string> list = (_lastSelectionChanged == USED_SHIPS ) ? getSelectedShips () : getSelectedWeapons ();
439- SCP_string chosenVariable = ui->extraItemsViaVariableCombo ->currentText ().toStdString ();
443+ SCP_string chosenVariable = ui->extraItemsViaVariableCombo ->currentText ().toUtf8 (). constData ();
440444
441445 _model->setExtraAllocatedViaVariable (list, chosenVariable, _lastSelectionChanged == USED_SHIPS , _mode == VARIABLE_MODE );
442446 updateUI ();
@@ -578,7 +582,8 @@ void LoadoutDialog::updateUI()
578582 bool found = false ;
579583
580584 for (int x = 0 ; x < ui->usedShipsList ->rowCount (); ++x){
581- if (ui->usedShipsList ->item (x,0 ) && lcase_equal (ui->usedShipsList ->item (x, 0 )->text ().toStdString (), shipName)) {
585+ SCP_string usedShipName = ui->usedShipsList ->item (x, 0 )->text ().toUtf8 ().constData ();
586+ if (ui->usedShipsList ->item (x,0 ) && lcase_equal (usedShipName, shipName)) {
582587 found = true ;
583588 // update the quantities here, and make sure it's visible
584589 ui->usedShipsList ->item (x, 1 )->setText (newShip.first .substr (divider + 1 ).c_str ());
@@ -600,7 +605,8 @@ void LoadoutDialog::updateUI()
600605
601606 // remove from the unused list
602607 for (int x = 0 ; x < ui->listShipsNotUsed ->count (); ++x) {
603- if (lcase_equal (ui->listShipsNotUsed ->item (x)->text ().toStdString (), shipName)) {
608+ SCP_string usedShipName = ui->listShipsNotUsed ->item (x)->text ().toUtf8 ().constData ();
609+ if (lcase_equal (usedShipName, shipName)) {
604610 ui->listShipsNotUsed ->setRowHidden (x, true );
605611 break ;
606612 }
@@ -610,7 +616,8 @@ void LoadoutDialog::updateUI()
610616 bool found = false ;
611617
612618 for (int x = 0 ; x < ui->listShipsNotUsed ->count (); ++x){
613- if (lcase_equal (ui->listShipsNotUsed ->item (x)->text ().toStdString (), shipName)) {
619+ SCP_string usedShipName = ui->listShipsNotUsed ->item (x)->text ().toUtf8 ().constData ();
620+ if (lcase_equal (usedShipName, shipName)) {
614621 found = true ;
615622 ui->listShipsNotUsed ->setRowHidden (x, false );
616623 break ;
@@ -623,8 +630,9 @@ void LoadoutDialog::updateUI()
623630
624631 // remove from the used list
625632 for (int x = 0 ; x < ui->usedShipsList ->rowCount (); ++x) {
633+ SCP_string usedShipName = ui->usedShipsList ->item (x, 0 )->text ().toUtf8 ().constData ();
626634 if (ui->usedShipsList ->item (x, 0 ) &&
627- lcase_equal (ui-> usedShipsList -> item (x, 0 )-> text (). toStdString () , shipName)) {
635+ lcase_equal (usedShipName , shipName)) {
628636 ui->usedShipsList ->setRowHidden (x, true );
629637 break ;
630638 }
@@ -641,7 +649,8 @@ void LoadoutDialog::updateUI()
641649
642650 // Add or update in the used list
643651 for (int x = 0 ; x < ui->usedWeaponsList ->rowCount (); ++x) {
644- if (ui->usedWeaponsList ->item (x,0 ) && lcase_equal (ui->usedWeaponsList ->item (x, 0 )->text ().toStdString (), weaponName)) {
652+ SCP_string usedWepName = ui->usedWeaponsList ->item (x, 0 )->text ().toUtf8 ().constData ();
653+ if (ui->usedWeaponsList ->item (x,0 ) && lcase_equal (usedWepName, weaponName)) {
645654 found = true ;
646655 // only need to update the quantities here.
647656 ui->usedWeaponsList ->item (x, 1 )->setText (newWeapon.first .substr (divider + 1 ).c_str ());
@@ -664,7 +673,8 @@ void LoadoutDialog::updateUI()
664673
665674 // remove from the unused list
666675 for (int x = 0 ; x < ui->listWeaponsNotUsed ->count (); ++x) {
667- if (lcase_equal (ui->listWeaponsNotUsed ->item (x)->text ().toStdString (), weaponName)) {
676+ SCP_string usedWepName = ui->listWeaponsNotUsed ->item (x)->text ().toUtf8 ().constData ();
677+ if (lcase_equal (usedWepName, weaponName)) {
668678 ui->listWeaponsNotUsed ->setRowHidden (x, true );
669679 break ;
670680 }
@@ -674,7 +684,8 @@ void LoadoutDialog::updateUI()
674684 bool found = false ;
675685
676686 for (int x = 0 ; x < ui->listWeaponsNotUsed ->count (); ++x){
677- if (ui->listWeaponsNotUsed ->item (x) && lcase_equal (ui->listWeaponsNotUsed ->item (x)->text ().toStdString (), weaponName)) {
687+ SCP_string usedWepName = ui->listWeaponsNotUsed ->item (x)->text ().toUtf8 ().constData ();
688+ if (ui->listWeaponsNotUsed ->item (x) && lcase_equal (usedWepName, weaponName)) {
678689 found = true ;
679690 ui->listWeaponsNotUsed ->setRowHidden (x, false );
680691 break ;
@@ -687,8 +698,9 @@ void LoadoutDialog::updateUI()
687698
688699 // remove from the used list
689700 for (int x = 0 ; x < ui->usedWeaponsList ->rowCount (); ++x) {
701+ SCP_string usedWepName = ui->usedWeaponsList ->item (x, 0 )->text ().toUtf8 ().constData ();
690702 if (ui->usedWeaponsList ->item (x, 0 ) &&
691- lcase_equal (ui-> usedWeaponsList -> item (x, 0 )-> text (). toStdString () , weaponName)) {
703+ lcase_equal (usedWepName , weaponName)) {
692704 ui->usedWeaponsList ->setRowHidden (x, true );
693705 break ;
694706 }
@@ -832,8 +844,8 @@ void LoadoutDialog::updateUI()
832844 ui->extraItemsViaVariableCombo ->setCurrentIndex (0 );
833845 } else {
834846 for (int x = 0 ; x < ui->extraItemsViaVariableCombo ->count (); ++x) {
835- if ( lcase_equal ( ui->extraItemsViaVariableCombo ->itemText (x).toStdString (),
836- currentVariable)) {
847+ SCP_string variableName = ui->extraItemsViaVariableCombo ->itemText (x).toUtf8 (). constData ();
848+ if ( lcase_equal (variableName, currentVariable)) {
837849 ui->extraItemsViaVariableCombo ->setCurrentIndex (x);
838850 break ;
839851 }
@@ -850,7 +862,8 @@ void LoadoutDialog::updateUI()
850862 bool found = false ;
851863
852864 for (const auto & weapon : requiredWeapons) {
853- if (ui->usedWeaponsList ->item (x, 0 ) && ui->usedWeaponsList ->item (x,2 ) && lcase_equal (ui->usedWeaponsList ->item (x, 0 )->text ().toStdString (), weapon)) {
865+ SCP_string usedWepName = ui->usedWeaponsList ->item (x, 0 )->text ().toUtf8 ().constData ();
866+ if (ui->usedWeaponsList ->item (x, 0 ) && ui->usedWeaponsList ->item (x,2 ) && lcase_equal (usedWepName, weapon)) {
854867 found = true ;
855868 ui->usedWeaponsList ->item (x, 2 )->setText (" Yes" );
856869 break ;
@@ -870,7 +883,8 @@ SCP_vector<SCP_string> LoadoutDialog::getSelectedShips()
870883
871884 for (int x = 0 ; x < ui->usedShipsList ->rowCount (); ++x) {
872885 if (ui->usedShipsList ->item (x, 0 ) && ui->usedShipsList ->item (x,0 )->isSelected ()) {
873- namesOut.emplace_back (ui->usedShipsList ->item (x, 0 )->text ().toStdString ());
886+ SCP_string shipName = ui->usedShipsList ->item (x, 0 )->text ().toUtf8 ().constData ();
887+ namesOut.emplace_back (shipName);
874888 }
875889 }
876890
@@ -883,7 +897,8 @@ SCP_vector<SCP_string> LoadoutDialog::getSelectedWeapons()
883897
884898 for (int x = 0 ; x < ui->usedWeaponsList ->rowCount (); ++x) {
885899 if (ui->usedWeaponsList ->item (x, 0 ) && ui->usedWeaponsList ->item (x, 0 )->isSelected ()) {
886- namesOut.emplace_back (ui->usedWeaponsList ->item (x, 0 )->text ().toStdString ());
900+ SCP_string weaponName = ui->usedWeaponsList ->item (x, 0 )->text ().toUtf8 ().constData ();
901+ namesOut.emplace_back (weaponName);
887902 }
888903 }
889904
0 commit comments