forked from OSchip/llvm-project
Re-order the base classes to prevent a crash in Linux.
In the initialization list of IOHandlerConfirm, *this is basically casting IOHandlerConfirm to its base IOHandlerDelegate and passing it to constructor of IOHandlerEditline which uses it and crashes as constructor of IOHandlerDelegate is still not called. Re-ordering the base classes makes sure that constructor of IOHandlerDelegate runs first. It would be good to have a test case for this case too. llvm-svn: 222816
This commit is contained in:
parent
ee5772faaa
commit
05200e3b19
|
@ -628,9 +628,11 @@ namespace lldb_private {
|
||||||
bool m_interrupt_exits;
|
bool m_interrupt_exits;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// The order of base classes is important. Look at the constructor of IOHandlerConfirm
|
||||||
|
// to see how.
|
||||||
class IOHandlerConfirm :
|
class IOHandlerConfirm :
|
||||||
public IOHandlerEditline,
|
public IOHandlerDelegate,
|
||||||
public IOHandlerDelegate
|
public IOHandlerEditline
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
IOHandlerConfirm (Debugger &debugger,
|
IOHandlerConfirm (Debugger &debugger,
|
||||||
|
|
Loading…
Reference in New Issue