mirror of
https://github.com/amyinspace/MagicSetEditor2.git
synced 2026-06-12 21:47:00 -04:00
Removed some potentially unsafe smart pointer constructions
git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@710 0fc631ac-6414-0410-93d0-97cfa31319b6
This commit is contained in:
@@ -103,7 +103,8 @@ void AutoReplaceList::removeSelected() {
|
|||||||
items.erase(items.begin() + i);
|
items.erase(items.begin() + i);
|
||||||
// select next
|
// select next
|
||||||
refreshList();
|
refreshList();
|
||||||
selectItem(items.empty() ? VoidP() : VoidP(items[min(i, items.size())]), true, true);
|
selectItem(items.empty() ? VoidP() : static_pointer_cast<IntrusivePtrVirtualBase>(items[min(i, items.size())]),
|
||||||
|
true, true);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -91,20 +91,20 @@ enum WordListItemFlags
|
|||||||
, FLAG_LINE_BELOW = 0x04
|
, FLAG_LINE_BELOW = 0x04
|
||||||
};
|
};
|
||||||
struct DropDownWordListItem {
|
struct DropDownWordListItem {
|
||||||
DropDownWordListItem() : word(nullptr), flags(0) {}
|
DropDownWordListItem() : flags(0) {}
|
||||||
DropDownWordListItem(WordListWord* word, int flags = 0)
|
DropDownWordListItem(WordListWordP word, int flags = 0)
|
||||||
: word(word)
|
: word(word)
|
||||||
, name(word->name)
|
, name(word->name)
|
||||||
, flags(flags | (word->isGroup() * FLAG_SUBMENU)
|
, flags(flags | (word->isGroup() * FLAG_SUBMENU)
|
||||||
| (word->line_below * FLAG_LINE_BELOW))
|
| (word->line_below * FLAG_LINE_BELOW))
|
||||||
{}
|
{}
|
||||||
DropDownWordListItem(WordListWord* word, const String& name, int flags = 0)
|
DropDownWordListItem(WordListWordP word, const String& name, int flags = 0)
|
||||||
: word(word)
|
: word(word)
|
||||||
, name(name)
|
, name(name)
|
||||||
, flags(flags)
|
, flags(flags)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
WordListWord* word;
|
WordListWordP word;
|
||||||
String name;
|
String name;
|
||||||
int flags;
|
int flags;
|
||||||
DropDownListP submenu;
|
DropDownListP submenu;
|
||||||
@@ -177,7 +177,7 @@ void DropDownWordList::setWords(const WordListWordP& words2) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!already_added || w->isGroup()) {
|
if (!already_added || w->isGroup()) {
|
||||||
items.push_back(DropDownWordListItem(w.get()));
|
items.push_back(DropDownWordListItem(w));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -214,7 +214,7 @@ void DropDownWordList::addWordsFromScript(const WordListWordP& w) {
|
|||||||
}
|
}
|
||||||
// not a duplicate
|
// not a duplicate
|
||||||
prev = items.size();
|
prev = items.size();
|
||||||
items.push_back(DropDownWordListItem(w.get(), s, w->line_below * FLAG_LINE_BELOW));
|
items.push_back(DropDownWordListItem(w, s, w->line_below * FLAG_LINE_BELOW));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -241,7 +241,7 @@ DropDownList* DropDownWordList::submenu(size_t item) const {
|
|||||||
if (i.flags & FLAG_SUBMENU) {
|
if (i.flags & FLAG_SUBMENU) {
|
||||||
// create submenu?
|
// create submenu?
|
||||||
if (!i.submenu) {
|
if (!i.submenu) {
|
||||||
i.submenu.reset(new DropDownWordList(const_cast<DropDownWordList*>(this), true, tve, pos, WordListWordP(i.word)));
|
i.submenu.reset(new DropDownWordList(const_cast<DropDownWordList*>(this), true, tve, pos, i.word));
|
||||||
}
|
}
|
||||||
return i.submenu.get();
|
return i.submenu.get();
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user