On Tue, Dec 20, 2011 at 06:52:42PM +0200, Uri Lublin wrote: > RedWindow::set_menu() can fail (on Windows when in fullscreen mode). > For Windows spice-client, when in fullscreen mode, the system-menu > is NULL. >
ACK both. > Returns 0 upon success, non-0 (currently only -1) upon failure. > --- > client/red_window.h | 2 +- > client/windows/red_window.cpp | 14 +++++++++++--- > client/x11/red_window.cpp | 3 ++- > 3 files changed, 14 insertions(+), 5 deletions(-) > > diff --git a/client/red_window.h b/client/red_window.h > index 3dea26b..82353aa 100644 > --- a/client/red_window.h > +++ b/client/red_window.h > @@ -70,7 +70,7 @@ public: > void release_mouse(); > void start_key_interception(); > void stop_key_interception(); > - void set_menu(Menu* menu); > + int set_menu(Menu* menu); > > #ifdef USE_OPENGL > void untouch_context(); > diff --git a/client/windows/red_window.cpp b/client/windows/red_window.cpp > index 1345e91..981fe9a 100644 > --- a/client/windows/red_window.cpp > +++ b/client/windows/red_window.cpp > @@ -1064,18 +1064,26 @@ void RedWindow_p::release_menu(Menu* menu) > } > } > > -void RedWindow::set_menu(Menu* menu) > +int RedWindow::set_menu(Menu* menu) > { > release_menu(_menu); > _menu = NULL; > > if (!menu) { > - return; > + return 0; > } > - _menu = menu->ref(); > + > _sys_menu = GetSystemMenu(_win, FALSE); > + if (! _sys_menu) { > + return -1; > + } > + > + _menu = menu->ref(); > + > insert_separator(_sys_menu); > insert_menu(_menu, _sys_menu, _commands_map); > + > + return 0; > } > > static LRESULT CALLBACK MessageFilterProc(int nCode, WPARAM wParam, LPARAM > lParam) > diff --git a/client/x11/red_window.cpp b/client/x11/red_window.cpp > index 0c95925..2d179f8 100644 > --- a/client/x11/red_window.cpp > +++ b/client/x11/red_window.cpp > @@ -2218,8 +2218,9 @@ void RedWindow::on_pointer_leave() > } > } > > -void RedWindow::set_menu(Menu* menu) > +int RedWindow::set_menu(Menu* menu) > { > + return 0; > } > > void RedWindow::init() > -- > 1.7.1 > > _______________________________________________ > Spice-devel mailing list > Spice-devel@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/spice-devel _______________________________________________ Spice-devel mailing list Spice-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/spice-devel