aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/plugins/Ui/skinned/listwidgetdrawer.cpp2
-rw-r--r--src/qmmpui/columnmanager.cpp5
2 files changed, 5 insertions, 2 deletions
diff --git a/src/plugins/Ui/skinned/listwidgetdrawer.cpp b/src/plugins/Ui/skinned/listwidgetdrawer.cpp
index 827639b91..1bbd33dfd 100644
--- a/src/plugins/Ui/skinned/listwidgetdrawer.cpp
+++ b/src/plugins/Ui/skinned/listwidgetdrawer.cpp
@@ -235,7 +235,7 @@ void ListWidgetDrawer::drawTrack(QPainter *painter, ListWidgetRow *row)
offset += QmmpUiSettings::instance()->columnManager()->size(i);
- if(i != QmmpUiSettings::instance()->columnManager()->count() - 1 &&
+ if(QmmpUiSettings::instance()->columnManager()->count() > 1 &&
row->x[ListWidgetRow::TITLE] + offset < row->x[ListWidgetRow::EXTRA_STRING] - m_metrics->width("9"))
{
painter->drawLine(row->x[ListWidgetRow::TITLE] + offset - m_metrics->width("9")/2, row->rect.top(),
diff --git a/src/qmmpui/columnmanager.cpp b/src/qmmpui/columnmanager.cpp
index 331a8445c..f5ba0054e 100644
--- a/src/qmmpui/columnmanager.cpp
+++ b/src/qmmpui/columnmanager.cpp
@@ -27,7 +27,7 @@ ColumnManager::ColumnManager(QObject *parent) :
{
QSettings s (Qmmp::configFile(), QSettings::IniFormat);
s.beginGroup("PlayList");
- int c = s.value("column_count", 1).toInt();
+ int c = qMax(1, s.value("column_count", 1).toInt());
for(int i = 0; i < c; ++i)
{
s.beginGroup(QString("column%1").arg(i));
@@ -72,6 +72,9 @@ void ColumnManager::remove(int index)
if(index < 0 || index >= m_columns.size())
qWarning("ColumnManager: index is out of range");
+ if(m_columns.count() == 1)
+ return;
+
delete m_columns.takeAt(index).titleFormatter;
sync();
emit removed(index);