diff --git a/src/ncmpcpp.cpp b/src/ncmpcpp.cpp index 0464f369..419c3c20 100644 --- a/src/ncmpcpp.cpp +++ b/src/ncmpcpp.cpp @@ -1152,12 +1152,13 @@ int main(int argc, char *argv[]) *wFooter << XY(wFooter->GetWidth()-tracklength.length(), 1) << tracklength; } double progressbar_size = songpos/double(s->GetTotalLength()); - int howlong = wFooter->GetWidth()*progressbar_size; + unsigned howlong = wFooter->GetWidth()*progressbar_size; mvwhline(wFooter->Raw(), 0, 0, 0, wFooter->GetWidth()); - for (int i = 0; i < howlong; ++i) + for (unsigned i = 0; i < howlong; ++i) *wFooter << Config.progressbar[0]; - *wFooter << Config.progressbar[1]; + if (howlong < wFooter->GetWidth()) + *wFooter << Config.progressbar[1]; *wFooter << fmtBoldEnd; wFooter->Refresh(); } diff --git a/src/status.cpp b/src/status.cpp index be58cb90..f85925c3 100644 --- a/src/status.cpp +++ b/src/status.cpp @@ -497,14 +497,15 @@ void NcmpcppStatusChanged(Connection *, StatusChanges changed, void *) if (!block_progressbar_update) { double progressbar_size = elapsed/double(np.GetTotalLength()); - int howlong = wFooter->GetWidth()*progressbar_size; + unsigned howlong = wFooter->GetWidth()*progressbar_size; wFooter->SetColor(Config.progressbar_color); mvwhline(wFooter->Raw(), 0, 0, 0, wFooter->GetWidth()); if (np.GetTotalLength()) { - for (int i = 0; i < howlong; ++i) + for (unsigned i = 0; i < howlong; ++i) *wFooter << Config.progressbar[0]; - *wFooter << Config.progressbar[1]; + if (howlong < wFooter->GetWidth()) + *wFooter << Config.progressbar[1]; } wFooter->SetColor(Config.statusbar_color); }