1
0
Fork 0

GUI: always loving c++ (fixed undefined behavior)

This commit is contained in:
Mr. eXoDia 2015-06-21 00:46:44 +02:00
parent ab93b41c91
commit 66fead6647
6 changed files with 21 additions and 20 deletions

View File

@ -181,10 +181,10 @@ void ReferenceView::toggleBreakpoint()
if(!this->mCurList->getRowCount())
return;
const char* addrText = this->mCurList->getCellContent(this->mCurList->getInitialSelection(), 0).toUtf8().constData();
if(!DbgIsValidExpression(addrText))
QString addrText = this->mCurList->getCellContent(this->mCurList->getInitialSelection(), 0).toUtf8().constData();
duint wVA;
if(!DbgFunctions()->ValFromString(addrText.toUtf8().constData(), &wVA))
return;
uint_t wVA = DbgValFromString(addrText);
if(!DbgMemIsValidReadPtr(wVA))
return;
@ -210,10 +210,10 @@ void ReferenceView::toggleBookmark()
if(!this->mCurList->getRowCount())
return;
const char* addrText = this->mCurList->getCellContent(this->mCurList->getInitialSelection(), 0).toUtf8().constData();
if(!DbgIsValidExpression(addrText))
QString addrText = this->mCurList->getCellContent(this->mCurList->getInitialSelection(), 0);
duint wVA;
if(!DbgFunctions()->ValFromString(addrText.toUtf8().constData(), &wVA))
return;
uint_t wVA = DbgValFromString(addrText);
if(!DbgMemIsValidReadPtr(wVA))
return;

View File

@ -7,13 +7,13 @@ SearchListView::SearchListView(QWidget* parent) :
{
ui->setupUi(this);
setContextMenuPolicy(Qt::CustomContextMenu);
// Create the reference list
mList = new SearchListViewTable();
mList->setContextMenuPolicy(Qt::CustomContextMenu);
// Create the search list
mSearchList = new SearchListViewTable();
mSearchList->setContextMenuPolicy(Qt::CustomContextMenu);
mSearchList->hide();
// Set global variables

View File

@ -15,10 +15,9 @@ QString SearchListViewTable::paintContent(QPainter* painter, int_t rowBase, int
isaddr = false;
if(!getRowCount())
isaddr = false;
const char* addrText = text.toUtf8().constData();
ULONGLONG val = 0;
uint_t wVA;
if(sscanf_s(addrText, "%llX", &val) != 1)
if(sscanf_s(text.toUtf8().constData(), "%llX", &val) != 1)
isaddr = false;
else
wVA = val;

View File

@ -13,6 +13,7 @@ ReferenceManager::ReferenceManager(QWidget* parent) : QTabWidget(parent)
mCloseAllTabs->setToolTip("Close All Tabs");
connect(mCloseAllTabs, SIGNAL(clicked()), this, SLOT(closeAllTabs()));
setCornerWidget(mCloseAllTabs, Qt::TopLeftCorner);
setContextMenuPolicy(Qt::CustomContextMenu);
connect(Bridge::getBridge(), SIGNAL(referenceInitialize(QString)), this, SLOT(newReferenceView(QString)));
connect(this, SIGNAL(tabCloseRequested(int)), this, SLOT(closeTab(int)));

View File

@ -307,10 +307,11 @@ void SymbolView::toggleBreakpoint()
if(!mSearchListView->mCurList->getRowCount())
return;
const char* addrText = mSearchListView->mCurList->getCellContent(mSearchListView->mCurList->getInitialSelection(), 0).toUtf8().constData();
if(!DbgIsValidExpression(addrText))
QString addrText = mSearchListView->mCurList->getCellContent(mSearchListView->mCurList->getInitialSelection(), 0);
duint wVA;
if(!DbgFunctions()->ValFromString(addrText.toUtf8().constData(), &wVA))
return;
uint_t wVA = DbgValFromString(addrText);
if(!DbgMemIsValidReadPtr(wVA))
return;
@ -336,10 +337,10 @@ void SymbolView::toggleBookmark()
if(!mSearchListView->mCurList->getRowCount())
return;
const char* addrText = mSearchListView->mCurList->getCellContent(mSearchListView->mCurList->getInitialSelection(), 0).toUtf8().constData();
if(!DbgIsValidExpression(addrText))
QString addrText = mSearchListView->mCurList->getCellContent(mSearchListView->mCurList->getInitialSelection(), 0);
duint wVA;
if(!DbgFunctions()->ValFromString(addrText.toUtf8().constData(), &wVA))
return;
uint_t wVA = DbgValFromString(addrText);
if(!DbgMemIsValidReadPtr(wVA))
return;

View File

@ -26,10 +26,10 @@ bool MyApplication::notify(QObject* receiver, QEvent* event)
}
catch(const std::exception & ex)
{
const char* message = QString().sprintf("Fatal GUI Exception: %s!\n", ex.what()).toUtf8().constData();
GuiAddLogMessage(message);
puts(message);
OutputDebugStringA(message);
QString message = QString().sprintf("Fatal GUI Exception: %s!\n", ex.what());
GuiAddLogMessage(message.toUtf8().constData());
puts(message.toUtf8().constData());
OutputDebugStringA(message.toUtf8().constData());
}
catch(...)
{