Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Marco Bubke
flatpak-qt-creator
Commits
4461ec2e
Commit
4461ec2e
authored
Nov 19, 2009
by
hjk
Browse files
debugger: prevent crash when trying to view memory if bin editor is
unavailable
parent
aa3b274a
Changes
2
Hide whitespace changes
Inline
Side-by-side
src/plugins/debugger/debuggeragents.cpp
View file @
4461ec2e
...
...
@@ -44,6 +44,8 @@
#include <utils/qtcassert.h>
#include <QtCore/QDebug>
#include <QtGui/QMessageBox>
#include <QtGui/QPlainTextEdit>
#include <QtGui/QTextCursor>
#include <QtGui/QSyntaxHighlighter>
...
...
@@ -68,13 +70,13 @@ namespace Internal {
*/
MemoryViewAgent
::
MemoryViewAgent
(
DebuggerManager
*
manager
,
quint64
addr
)
:
QObject
(
manager
),
m_engine
(
manager
->
currentEngine
())
:
QObject
(
manager
),
m_engine
(
manager
->
currentEngine
())
,
m_manager
(
manager
)
{
init
(
addr
);
}
MemoryViewAgent
::
MemoryViewAgent
(
DebuggerManager
*
manager
,
const
QString
&
addr
)
:
QObject
(
manager
),
m_engine
(
manager
->
currentEngine
())
:
QObject
(
manager
),
m_engine
(
manager
->
currentEngine
())
,
m_manager
(
manager
)
{
bool
ok
=
true
;
init
(
addr
.
toULongLong
(
&
ok
,
0
));
...
...
@@ -94,11 +96,19 @@ void MemoryViewAgent::init(quint64 addr)
m_editor
=
editorManager
->
openEditorWithContents
(
Core
::
Constants
::
K_DEFAULT_BINARY_EDITOR
,
&
titlePattern
);
connect
(
m_editor
->
widget
(),
SIGNAL
(
lazyDataRequested
(
quint64
,
bool
)),
this
,
SLOT
(
fetchLazyData
(
quint64
,
bool
)));
editorManager
->
activateEditor
(
m_editor
);
QMetaObject
::
invokeMethod
(
m_editor
->
widget
(),
"setLazyData"
,
Q_ARG
(
quint64
,
addr
),
Q_ARG
(
int
,
1024
*
1024
),
Q_ARG
(
int
,
BinBlockSize
));
if
(
m_editor
)
{
connect
(
m_editor
->
widget
(),
SIGNAL
(
lazyDataRequested
(
quint64
,
bool
)),
this
,
SLOT
(
fetchLazyData
(
quint64
,
bool
)));
editorManager
->
activateEditor
(
m_editor
);
QMetaObject
::
invokeMethod
(
m_editor
->
widget
(),
"setLazyData"
,
Q_ARG
(
quint64
,
addr
),
Q_ARG
(
int
,
1024
*
1024
),
Q_ARG
(
int
,
BinBlockSize
));
}
else
{
m_manager
->
showMessageBox
(
QMessageBox
::
Warning
,
tr
(
"No memory viewer available"
),
tr
(
"The memory contents cannot be shown as no viewer plugin not "
"the BinEditor plugin could be loaded."
));
deleteLater
();
}
}
void
MemoryViewAgent
::
fetchLazyData
(
quint64
block
,
bool
sync
)
...
...
src/plugins/debugger/debuggeragents.h
View file @
4461ec2e
...
...
@@ -70,6 +70,7 @@ private:
QPointer
<
IDebuggerEngine
>
m_engine
;
QPointer
<
Core
::
IEditor
>
m_editor
;
QPointer
<
DebuggerManager
>
m_manager
;
};
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment