Page: add `noexcept`
authorMax Kellermann <max@musicpd.org>
Tue, 25 Sep 2018 18:04:34 +0000 (20:04 +0200)
committerMax Kellermann <max@musicpd.org>
Tue, 25 Sep 2018 18:04:34 +0000 (20:04 +0200)
22 files changed:
src/AlbumListPage.cxx
src/AlbumListPage.hxx
src/ArtistListPage.cxx
src/ArtistListPage.hxx
src/ChatPage.cxx
src/FileBrowserPage.cxx
src/FileListPage.cxx
src/FileListPage.hxx
src/HelpPage.cxx
src/ListPage.hxx
src/LyricsPage.cxx
src/OutputsPage.cxx
src/Page.hxx
src/ProxyPage.cxx
src/ProxyPage.hxx
src/QueuePage.cxx
src/SearchPage.cxx
src/SongPage.cxx
src/TextPage.cxx
src/TextPage.hxx
src/screen_artist.cxx
src/screen_keydef.cxx

index c092618..2f92190 100644 (file)
@@ -122,13 +122,13 @@ AlbumListPage::PaintListItem(WINDOW *w, unsigned i,
 }
 
 void
-AlbumListPage::Paint() const
+AlbumListPage::Paint() const noexcept
 {
        lw.Paint(*this);
 }
 
 const char *
-AlbumListPage::GetTitle(char *str, size_t size) const
+AlbumListPage::GetTitle(char *str, size_t size) const noexcept
 {
        if (artist.empty())
                return _("Albums");
@@ -139,7 +139,7 @@ AlbumListPage::GetTitle(char *str, size_t size) const
 }
 
 void
-AlbumListPage::Update(struct mpdclient &c, unsigned events)
+AlbumListPage::Update(struct mpdclient &c, unsigned events) noexcept
 {
        if (events & MPD_IDLE_DATABASE) {
                /* the db has changed -> update the list */
index 1bf89ae..d4ade6d 100644 (file)
@@ -66,10 +66,10 @@ private:
 
 public:
        /* virtual methods from class Page */
-       void Paint() const override;
-       void Update(struct mpdclient &c, unsigned events) override;
+       void Paint() const noexcept override;
+       void Update(struct mpdclient &c, unsigned events) noexcept override;
        bool OnCommand(struct mpdclient &c, Command cmd) override;
-       const char *GetTitle(char *s, size_t size) const override;
+       const char *GetTitle(char *s, size_t size) const noexcept override;
 
        /* virtual methods from class ListRenderer */
        void PaintListItem(WINDOW *w, unsigned i, unsigned y, unsigned width,
index c58fc22..c88b4c7 100644 (file)
@@ -103,19 +103,19 @@ ArtistListPage::PaintListItem(WINDOW *w, unsigned i,
 }
 
 void
-ArtistListPage::Paint() const
+ArtistListPage::Paint() const noexcept
 {
        lw.Paint(*this);
 }
 
 const char *
-ArtistListPage::GetTitle(char *, size_t) const
+ArtistListPage::GetTitle(char *, size_t) const noexcept
 {
        return _("All artists");
 }
 
 void
-ArtistListPage::Update(struct mpdclient &c, unsigned events)
+ArtistListPage::Update(struct mpdclient &c, unsigned events) noexcept
 {
        if (events & MPD_IDLE_DATABASE) {
                /* the db has changed -> update the list */
index c8b74a8..2b82a24 100644 (file)
@@ -51,10 +51,10 @@ private:
 
 public:
        /* virtual methods from class Page */
-       void Paint() const override;
-       void Update(struct mpdclient &c, unsigned events) override;
+       void Paint() const noexcept override;
+       void Update(struct mpdclient &c, unsigned events) noexcept override;
        bool OnCommand(struct mpdclient &c, Command cmd) override;
-       const char *GetTitle(char *s, size_t size) const override;
+       const char *GetTitle(char *s, size_t size) const noexcept override;
 
        /* virtual methods from class ListRenderer */
        void PaintListItem(WINDOW *w, unsigned i, unsigned y, unsigned width,
index c853667..b450282 100644 (file)
@@ -50,10 +50,10 @@ private:
 
 public:
        /* virtual methods from class Page */
-       void Update(struct mpdclient &c, unsigned events) override;
+       void Update(struct mpdclient &c, unsigned events) noexcept override;
        bool OnCommand(struct mpdclient &c, Command cmd) override;
 
-       const char *GetTitle(char *, size_t) const override {
+       const char *GetTitle(char *, size_t) const noexcept override {
                return _("Chat");
        }
 };
@@ -99,7 +99,7 @@ ChatPage::ProcessMessage(const struct mpd_message &message)
 }
 
 void
-ChatPage::Update(struct mpdclient &c, unsigned events)
+ChatPage::Update(struct mpdclient &c, unsigned events) noexcept
 {
        if (CheckChatSupport(c) && (events & MPD_IDLE_MESSAGE)) {
                auto *connection = c.GetConnection();
index 4f37420..fdb4861 100644 (file)
@@ -77,9 +77,9 @@ private:
 
 public:
        /* virtual methods from class Page */
-       void Update(struct mpdclient &c, unsigned events) override;
+       void Update(struct mpdclient &c, unsigned events) noexcept override;
        bool OnCommand(struct mpdclient &c, Command cmd) override;
-       const char *GetTitle(char *s, size_t size) const override;
+       const char *GetTitle(char *s, size_t size) const noexcept override;
 };
 
 static void
@@ -283,7 +283,7 @@ screen_file_init(ScreenManager &_screen, WINDOW *w, Size size)
 }
 
 const char *
-FileBrowserPage::GetTitle(char *str, size_t size) const
+FileBrowserPage::GetTitle(char *str, size_t size) const noexcept
 {
        const char *path = nullptr, *prev = nullptr, *slash = current_path.c_str();
 
@@ -304,7 +304,7 @@ FileBrowserPage::GetTitle(char *str, size_t size) const
 }
 
 void
-FileBrowserPage::Update(struct mpdclient &c, unsigned events)
+FileBrowserPage::Update(struct mpdclient &c, unsigned events) noexcept
 {
        if (events & (MPD_IDLE_DATABASE | MPD_IDLE_STORED_PLAYLIST)) {
                /* the db has changed -> update the filelist */
index 2891d26..a6eb942 100644 (file)
@@ -49,7 +49,7 @@
 #define HIGHLIGHT  (0x01)
 #endif
 
-FileListPage::~FileListPage()
+FileListPage::~FileListPage() noexcept
 {
        delete filelist;
 }
@@ -533,7 +533,7 @@ FileListPage::PaintListItem(WINDOW *w, unsigned i,
 }
 
 void
-FileListPage::Paint() const
+FileListPage::Paint() const noexcept
 {
        lw.Paint(*this);
 }
index a24d5f1..eda7681 100644 (file)
@@ -48,7 +48,7 @@ public:
                 screen(_screen),
                 song_format(_song_format) {}
 
-       ~FileListPage() override;
+       ~FileListPage() noexcept override;
 
 protected:
        gcc_pure
@@ -84,7 +84,7 @@ private:
 
 public:
        /* virtual methods from class Page */
-       void Paint() const override;
+       void Paint() const noexcept override;
        bool OnCommand(struct mpdclient &c, Command cmd) override;
 
 #ifdef HAVE_GETMOUSE
index 315c720..2dd4aa5 100644 (file)
@@ -238,10 +238,10 @@ public:
                                    unsigned i) const override;
 
        /* virtual methods from class Page */
-       void Paint() const override;
+       void Paint() const noexcept override;
        bool OnCommand(struct mpdclient &c, Command cmd) override;
 
-       const char *GetTitle(char *, size_t) const override {
+       const char *GetTitle(char *, size_t) const noexcept override {
                return _("Help");
        }
 };
@@ -302,7 +302,7 @@ HelpPage::PaintListItem(WINDOW *w, unsigned i,
 }
 
 void
-HelpPage::Paint() const
+HelpPage::Paint() const noexcept
 {
        lw.Paint(*this);
 }
index a5343f2..2eab255 100644 (file)
@@ -36,7 +36,7 @@ public:
 
 public:
        /* virtual methods from class Page */
-       void OnResize(Size size) override {
+       void OnResize(Size size) noexcept override {
                lw.Resize(size);
        }
 
index 50ced6c..08236fd 100644 (file)
@@ -115,12 +115,10 @@ private:
 
 public:
        /* virtual methods from class Page */
-       void OnOpen(struct mpdclient &c) override;
-
-       void Update(struct mpdclient &c, unsigned events) override;
+       void OnOpen(struct mpdclient &c) noexcept override;
+       void Update(struct mpdclient &c, unsigned events) noexcept override;
        bool OnCommand(struct mpdclient &c, Command cmd) override;
-
-       const char *GetTitle(char *, size_t) const override;
+       const char *GetTitle(char *, size_t) const noexcept override;
 };
 
 void
@@ -303,7 +301,7 @@ lyrics_screen_init(ScreenManager &_screen, WINDOW *w, Size size)
 }
 
 void
-LyricsPage::OnOpen(struct mpdclient &c)
+LyricsPage::OnOpen(struct mpdclient &c) noexcept
 {
        const struct mpd_song *next_song_c =
                next_song != nullptr ? next_song : c.song;
@@ -321,7 +319,7 @@ LyricsPage::OnOpen(struct mpdclient &c)
 }
 
 void
-LyricsPage::Update(struct mpdclient &c, unsigned)
+LyricsPage::Update(struct mpdclient &c, unsigned) noexcept
 {
        if (!follow)
                return;
@@ -334,7 +332,7 @@ LyricsPage::Update(struct mpdclient &c, unsigned)
 }
 
 const char *
-LyricsPage::GetTitle(char *str, size_t size) const
+LyricsPage::GetTitle(char *str, size_t size) const noexcept
 {
        if (loader != nullptr) {
                snprintf(str, size, "%s (%s)",
index b3b9209..5110360 100644 (file)
@@ -54,10 +54,10 @@ private:
 
 public:
        /* virtual methods from class Page */
-       void Paint() const override;
-       void Update(struct mpdclient &c, unsigned events) override;
+       void Paint() const noexcept override;
+       void Update(struct mpdclient &c, unsigned events) noexcept override;
        bool OnCommand(struct mpdclient &c, Command cmd) override;
-       const char *GetTitle(char *s, size_t size) const override;
+       const char *GetTitle(char *s, size_t size) const noexcept override;
 
        /* virtual methods from class ListRenderer */
        void PaintListItem(WINDOW *w, unsigned i, unsigned y, unsigned width,
@@ -140,7 +140,7 @@ outputs_init(ScreenManager &, WINDOW *w, Size size)
 }
 
 const char *
-OutputsPage::GetTitle(gcc_unused char *str, gcc_unused size_t size) const
+OutputsPage::GetTitle(char *, size_t) const noexcept
 {
        return _("Outputs");
 }
@@ -160,13 +160,13 @@ OutputsPage::PaintListItem(WINDOW *w, unsigned i,
 }
 
 void
-OutputsPage::Paint() const
+OutputsPage::Paint() const noexcept
 {
        lw.Paint(*this);
 }
 
 void
-OutputsPage::Update(struct mpdclient &c, unsigned events)
+OutputsPage::Update(struct mpdclient &c, unsigned events) noexcept
 {
        if (events & MPD_IDLE_OUTPUT) {
                Clear();
index 48648c9..f301c96 100644 (file)
@@ -49,17 +49,17 @@ class Page {
        bool dirty = true;
 
 public:
-       virtual ~Page() = default;
+       virtual ~Page() noexcept = default;
 
-       bool IsDirty() const {
+       bool IsDirty() const noexcept {
                return dirty;
        }
 
-       void SetDirty(bool _dirty=true) {
+       void SetDirty(bool _dirty=true) noexcept {
                dirty = _dirty;
        }
 
-       void Resize(Size new_size) {
+       void Resize(Size new_size) noexcept {
                if (new_size == last_size)
                        return;
 
@@ -67,25 +67,25 @@ public:
                OnResize(new_size);
        }
 
-       void AddPendingEvents(unsigned events) {
+       void AddPendingEvents(unsigned events) noexcept {
                pending_events |= events;
        }
 
-       void Update(struct mpdclient &c) {
+       void Update(struct mpdclient &c) noexcept {
                Update(c, std::exchange(pending_events, 0));
        }
 
 protected:
-       const Size &GetLastSize() const {
+       const Size &GetLastSize() const noexcept {
                return last_size;
        }
 
 public:
-       virtual void OnOpen(struct mpdclient &) {}
-       virtual void OnClose() {}
-       virtual void OnResize(Size size) = 0;
-       virtual void Paint() const = 0;
-       virtual void Update(struct mpdclient &, unsigned) {}
+       virtual void OnOpen(struct mpdclient &) noexcept {}
+       virtual void OnClose() noexcept {}
+       virtual void OnResize(Size size) noexcept = 0;
+       virtual void Paint() const noexcept = 0;
+       virtual void Update(struct mpdclient &, unsigned) noexcept {}
 
        /**
         * Handle a command.
@@ -109,7 +109,8 @@ public:
        }
 #endif
 
-       virtual const char *GetTitle(char *s, size_t size) const = 0;
+       gcc_pure
+       virtual const char *GetTitle(char *s, size_t size) const noexcept = 0;
 };
 
 #endif
index 1ff3fda..7132ea7 100644 (file)
@@ -40,7 +40,7 @@ ProxyPage::SetCurrentPage(struct mpdclient &c, Page *new_page)
 }
 
 void
-ProxyPage::OnOpen(struct mpdclient &c)
+ProxyPage::OnOpen(struct mpdclient &c) noexcept
 {
        assert(!is_open);
        is_open = true;
@@ -52,7 +52,7 @@ ProxyPage::OnOpen(struct mpdclient &c)
 }
 
 void
-ProxyPage::OnClose()
+ProxyPage::OnClose() noexcept
 {
        assert(is_open);
        is_open = false;
@@ -62,7 +62,7 @@ ProxyPage::OnClose()
 }
 
 void
-ProxyPage::OnResize(Size size)
+ProxyPage::OnResize(Size size) noexcept
 {
        if (current_page != nullptr)
                current_page->Resize(size);
@@ -71,7 +71,7 @@ ProxyPage::OnResize(Size size)
 }
 
 void
-ProxyPage::Paint() const
+ProxyPage::Paint() const noexcept
 {
        if (current_page != nullptr)
                current_page->Paint();
@@ -80,7 +80,7 @@ ProxyPage::Paint() const
 }
 
 void
-ProxyPage::Update(struct mpdclient &c, unsigned events)
+ProxyPage::Update(struct mpdclient &c, unsigned events) noexcept
 {
        if (current_page != nullptr) {
                current_page->AddPendingEvents(events);
@@ -114,7 +114,7 @@ ProxyPage::OnMouse(struct mpdclient &c, Point p, mmask_t bstate)
 #endif
 
 const char *
-ProxyPage::GetTitle(char *s, size_t size) const
+ProxyPage::GetTitle(char *s, size_t size) const noexcept
 {
        return current_page != nullptr
                ? current_page->GetTitle(s, size)
index b8b2537..db1f5cc 100644 (file)
@@ -30,7 +30,7 @@ class ProxyPage : public Page {
        bool is_open = false;
 
 public:
-       explicit ProxyPage(WINDOW *_w):w(_w) {}
+       explicit ProxyPage(WINDOW *_w) noexcept:w(_w) {}
 
        const Page *GetCurrentPage() const {
                return current_page;
@@ -52,18 +52,18 @@ private:
 
 public:
        /* virtual methods from Page */
-       void OnOpen(struct mpdclient &c) override;
-       void OnClose() override;
-       void OnResize(Size size) override;
-       void Paint() const override;
-       void Update(struct mpdclient &c, unsigned events) override;
+       void OnOpen(struct mpdclient &c) noexcept override;
+       void OnClose() noexcept override;
+       void OnResize(Size size) noexcept override;
+       void Paint() const noexcept override;
+       void Update(struct mpdclient &c, unsigned events) noexcept override;
        bool OnCommand(struct mpdclient &c, Command cmd) override;
 
 #ifdef HAVE_GETMOUSE
        bool OnMouse(struct mpdclient &c, Point p, mmask_t bstate) override;
 #endif
 
-       const char *GetTitle(char *s, size_t size) const override;
+       const char *GetTitle(char *s, size_t size) const noexcept override;
 };
 
 #endif
index a07b0bf..a461942 100644 (file)
@@ -126,17 +126,17 @@ private:
 
 public:
        /* virtual methods from class Page */
-       void OnOpen(struct mpdclient &c) override;
-       void OnClose() override;
-       void Paint() const override;
-       void Update(struct mpdclient &c, unsigned events) override;
+       void OnOpen(struct mpdclient &c) noexcept override;
+       void OnClose() noexcept override;
+       void Paint() const noexcept override;
+       void Update(struct mpdclient &c, unsigned events) noexcept override;
        bool OnCommand(struct mpdclient &c, Command cmd) override;
 
 #ifdef HAVE_GETMOUSE
        bool OnMouse(struct mpdclient &c, Point p, mmask_t bstate) override;
 #endif
 
-       const char *GetTitle(char *s, size_t size) const override;
+       const char *GetTitle(char *s, size_t size) const noexcept override;
 };
 
 const struct mpd_song *
@@ -344,7 +344,7 @@ QueuePage::OnHideCursorTimer(const boost::system::error_code &error) noexcept
 }
 
 void
-QueuePage::OnOpen(struct mpdclient &c)
+QueuePage::OnOpen(struct mpdclient &c) noexcept
 {
        playlist = &c.playlist;
 
@@ -358,7 +358,7 @@ QueuePage::OnOpen(struct mpdclient &c)
 }
 
 void
-QueuePage::OnClose()
+QueuePage::OnClose() noexcept
 {
        hide_cursor_timer.cancel();
 
@@ -369,7 +369,7 @@ QueuePage::OnClose()
 }
 
 const char *
-QueuePage::GetTitle(char *str, size_t size) const
+QueuePage::GetTitle(char *str, size_t size) const noexcept
 {
        if (connection_name.empty())
                return _("Queue");
@@ -398,7 +398,7 @@ QueuePage::PaintListItem(WINDOW *w, unsigned i, unsigned y, unsigned width,
 }
 
 void
-QueuePage::Paint() const
+QueuePage::Paint() const noexcept
 {
 #ifndef NCMPC_MINI
        if (options.scroll)
@@ -409,7 +409,7 @@ QueuePage::Paint() const
 }
 
 void
-QueuePage::Update(struct mpdclient &c, unsigned events)
+QueuePage::Update(struct mpdclient &c, unsigned events) noexcept
 {
        playing = c.playing;
 
index 13c53e2..a70f22c 100644 (file)
@@ -128,10 +128,10 @@ private:
 
 public:
        /* virtual methods from class Page */
-       void Paint() const override;
-       void Update(struct mpdclient &c, unsigned events) override;
+       void Paint() const noexcept override;
+       void Update(struct mpdclient &c, unsigned events) noexcept override;
        bool OnCommand(struct mpdclient &c, Command cmd) override;
-       const char *GetTitle(char *s, size_t size) const override;
+       const char *GetTitle(char *s, size_t size) const noexcept override;
 };
 
 /* search info */
@@ -390,7 +390,7 @@ screen_search_init(ScreenManager &_screen, WINDOW *w, Size size)
 }
 
 void
-SearchPage::Paint() const
+SearchPage::Paint() const noexcept
 {
        if (filelist) {
                FileListPage::Paint();
@@ -400,7 +400,7 @@ SearchPage::Paint() const
 }
 
 const char *
-SearchPage::GetTitle(char *str, size_t size) const
+SearchPage::GetTitle(char *str, size_t size) const noexcept
 {
        if (advanced_search_mode && !pattern.empty())
                snprintf(str, size, "%s '%s'", _("Search"), pattern.c_str());
@@ -417,7 +417,7 @@ SearchPage::GetTitle(char *str, size_t size) const
 }
 
 void
-SearchPage::Update(struct mpdclient &c, unsigned events)
+SearchPage::Update(struct mpdclient &c, unsigned events) noexcept
 {
        if (filelist != nullptr && events & MPD_IDLE_QUEUE) {
                screen_browser_sync_highlights(filelist, &c.playlist);
index eb9e22d..65a72ee 100644 (file)
@@ -141,14 +141,14 @@ private:
 
 public:
        /* virtual methods from class Page */
-       void OnClose() override {
+       void OnClose() noexcept override {
                Clear();
        }
 
-       void Paint() const override;
-       void Update(struct mpdclient &c, unsigned events) override;
+       void Paint() const noexcept override;
+       void Update(struct mpdclient &c, unsigned events) noexcept override;
        bool OnCommand(struct mpdclient &c, Command cmd) override;
-       const char *GetTitle(char *s, size_t size) const override;
+       const char *GetTitle(char *s, size_t size) const noexcept override;
 
 private:
        /* virtual methods from class ListText */
@@ -199,13 +199,13 @@ screen_song_init(ScreenManager &_screen, WINDOW *w, Size size)
 }
 
 const char *
-SongPage::GetTitle(gcc_unused char *str, gcc_unused size_t size) const
+SongPage::GetTitle(gcc_unused char *str, gcc_unused size_t size) const noexcept
 {
        return _("Song viewer");
 }
 
 void
-SongPage::Paint() const
+SongPage::Paint() const noexcept
 {
        lw.Paint(TextListRenderer(*this));
 }
@@ -436,7 +436,7 @@ audio_format_to_string(char *buffer, size_t size,
 }
 
 void
-SongPage::Update(struct mpdclient &c, unsigned)
+SongPage::Update(struct mpdclient &c, unsigned) noexcept
 {
        lines.clear();
 
index bfcb2e5..c56948f 100644 (file)
@@ -81,7 +81,7 @@ TextPage::GetListItemText(char *buffer, size_t size, unsigned idx) const
 }
 
 void
-TextPage::Paint() const
+TextPage::Paint() const noexcept
 {
        lw.Paint(TextListRenderer(*this));
 }
index 3fc90ab..865b7a2 100644 (file)
@@ -66,7 +66,7 @@ protected:
 
 public:
        /* virtual methods from class Page */
-       void Paint() const override;
+       void Paint() const noexcept override;
        bool OnCommand(struct mpdclient &c, Command cmd) override;
 
 private:
index 40d7df2..0b80af5 100644 (file)
@@ -83,13 +83,13 @@ public:
        void LoadSongList(struct mpdclient &c);
 
        /* virtual methods from class Page */
-       void Update(struct mpdclient &c, unsigned events) override;
+       void Update(struct mpdclient &c, unsigned events) noexcept override;
        bool OnCommand(struct mpdclient &c, Command cmd) override;
-       const char *GetTitle(char *s, size_t size) const override;
+       const char *GetTitle(char *s, size_t size) const noexcept override;
 };
 
 void
-SongListPage::Update(struct mpdclient &c, unsigned events)
+SongListPage::Update(struct mpdclient &c, unsigned events) noexcept
 {
        if (events & MPD_IDLE_DATABASE) {
                LoadSongList(c);
@@ -117,8 +117,8 @@ private:
 
 public:
        /* virtual methods from class Page */
-       void OnOpen(struct mpdclient &c) override;
-       void Update(struct mpdclient &c, unsigned events) override;
+       void OnOpen(struct mpdclient &c) noexcept override;
+       void Update(struct mpdclient &c, unsigned events) noexcept override;
        bool OnCommand(struct mpdclient &c, Command cmd) override;
 };
 
@@ -181,7 +181,7 @@ screen_artist_init(ScreenManager &_screen, WINDOW *w, Size size)
 }
 
 const char *
-SongListPage::GetTitle(char *str, size_t size) const
+SongListPage::GetTitle(char *str, size_t size) const noexcept
 {
        const Utf8ToLocale artist_locale(artist.c_str());
 
@@ -226,7 +226,7 @@ SongListPage::OnCommand(struct mpdclient &c, Command cmd)
 }
 
 void
-ArtistBrowserPage::OnOpen(struct mpdclient &c)
+ArtistBrowserPage::OnOpen(struct mpdclient &c) noexcept
 {
        ProxyPage::OnOpen(c);
 
@@ -235,7 +235,7 @@ ArtistBrowserPage::OnOpen(struct mpdclient &c)
 }
 
 void
-ArtistBrowserPage::Update(struct mpdclient &c, unsigned events)
+ArtistBrowserPage::Update(struct mpdclient &c, unsigned events) noexcept
 {
        artist_list_page.AddPendingEvents(events);
        album_list_page.AddPendingEvents(events);
index 98f4f4c..e37c7d8 100644 (file)
@@ -124,10 +124,10 @@ private:
 
 public:
        /* virtual methods from class Page */
-       void OnOpen(struct mpdclient &c) override;
-       void Paint() const override;
+       void OnOpen(struct mpdclient &c) noexcept override;
+       void Paint() const noexcept override;
        bool OnCommand(struct mpdclient &c, Command cmd) override;
-       const char *GetTitle(char *s, size_t size) const override;
+       const char *GetTitle(char *s, size_t size) const noexcept override;
 
 private:
        /* virtual methods from class ListText */
@@ -242,13 +242,13 @@ CommandKeysPage::GetListItemText(char *buffer, size_t size,
 }
 
 void
-CommandKeysPage::OnOpen(gcc_unused struct mpdclient &c)
+CommandKeysPage::OnOpen(gcc_unused struct mpdclient &c) noexcept
 {
        // TODO
 }
 
 const char *
-CommandKeysPage::GetTitle(char *str, size_t size) const
+CommandKeysPage::GetTitle(char *str, size_t size) const noexcept
 {
        snprintf(str, size, _("Edit keys for %s"),
                 get_key_command_name(Command(subcmd)));
@@ -256,7 +256,7 @@ CommandKeysPage::GetTitle(char *str, size_t size) const
 }
 
 void
-CommandKeysPage::Paint() const
+CommandKeysPage::Paint() const noexcept
 {
        lw.Paint(TextListRenderer(*this));
 }
@@ -367,10 +367,10 @@ public:
 
 public:
        /* virtual methods from class Page */
-       void OnOpen(struct mpdclient &c) override;
-       void Paint() const override;
+       void OnOpen(struct mpdclient &c) noexcept override;
+       void Paint() const noexcept override;
        bool OnCommand(struct mpdclient &c, Command cmd) override;
-       const char *GetTitle(char *s, size_t size) const override;
+       const char *GetTitle(char *s, size_t size) const noexcept override;
 
 private:
        /* virtual methods from class ListText */
@@ -461,7 +461,7 @@ CommandListPage::GetListItemText(char *buffer, size_t size, unsigned idx) const
 }
 
 void
-CommandListPage::OnOpen(gcc_unused struct mpdclient &c)
+CommandListPage::OnOpen(gcc_unused struct mpdclient &c) noexcept
 {
        if (bindings == nullptr)
                bindings = new KeyBindings(GetGlobalKeyBindings());
@@ -470,13 +470,13 @@ CommandListPage::OnOpen(gcc_unused struct mpdclient &c)
 }
 
 const char *
-CommandListPage::GetTitle(char *, size_t) const
+CommandListPage::GetTitle(char *, size_t) const noexcept
 {
        return _("Edit key bindings");
 }
 
 void
-CommandListPage::Paint() const
+CommandListPage::Paint() const noexcept
 {
        lw.Paint(TextListRenderer(*this));
 }
@@ -530,8 +530,8 @@ public:
 
 public:
        /* virtual methods from class Page */
-       void OnOpen(struct mpdclient &c) override;
-       void OnClose() override;
+       void OnOpen(struct mpdclient &c) noexcept override;
+       void OnClose() noexcept override;
        bool OnCommand(struct mpdclient &c, Command cmd) override;
 };
 
@@ -542,7 +542,7 @@ keydef_init(ScreenManager &screen, WINDOW *w, Size size)
 }
 
 void
-KeyDefPage::OnOpen(struct mpdclient &c)
+KeyDefPage::OnOpen(struct mpdclient &c) noexcept
 {
        ProxyPage::OnOpen(c);
 
@@ -551,7 +551,7 @@ KeyDefPage::OnOpen(struct mpdclient &c)
 }
 
 void
-KeyDefPage::OnClose()
+KeyDefPage::OnClose() noexcept
 {
        if (command_list_page.IsModified())
                screen_status_message(_("Note: Did you forget to \'Apply\' your changes?"));