Commit 6fa1da8e authored by Roman Zippel's avatar Roman Zippel Committed by Linus Torvalds
Browse files

[PATCH] qconf: (re)fix SIGSEGV on empty menu items



Back out the recent fix for this bug, fix it by correctly initialising
ConfigInfoView.sym.

Signed-off-by: default avatarRoman Zippel <zippel@linux-m68k.org>
Cc: "Cyrill V. Gorcunov" <gorcunov@gmail.com>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent a2f3aa02
Loading
Loading
Loading
Loading
+4 −11
Original line number Diff line number Diff line
@@ -917,7 +917,7 @@ void ConfigView::updateListAll(void)
}

ConfigInfoView::ConfigInfoView(QWidget* parent, const char *name)
	: Parent(parent, name), menu(0)
	: Parent(parent, name), menu(0), sym(0)
{
	if (name) {
		configSettings->beginGroup(name);
@@ -925,8 +925,6 @@ ConfigInfoView::ConfigInfoView(QWidget* parent, const char *name)
		configSettings->endGroup();
		connect(configApp, SIGNAL(aboutToQuit()), SLOT(saveSettings()));
	}

	has_dbg_info = 0;
}

void ConfigInfoView::saveSettings(void)
@@ -955,14 +953,12 @@ void ConfigInfoView::setInfo(struct menu *m)
	if (menu == m)
		return;
	menu = m;
	if (!menu) {
		has_dbg_info = 0;
	sym = NULL;
	if (!menu)
		clear();
	} else {
		has_dbg_info = 1;
	else
		menuInfo();
}
}

void ConfigInfoView::setSource(const QString& name)
{
@@ -996,9 +992,6 @@ void ConfigInfoView::symbolInfo(void)
{
	QString str;

	if (!has_dbg_info)
		return;

	str += "<big>Symbol: <b>";
	str += print_filter(sym->name);
	str += "</b></big><br><br>value: ";
+0 −2
Original line number Diff line number Diff line
@@ -273,8 +273,6 @@ protected:
	struct symbol *sym;
	struct menu *menu;
	bool _showDebug;

	int has_dbg_info;
};

class ConfigSearchWindow : public QDialog {