]> git.sesse.net Git - casparcg/commitdiff
2.0.2: ogl_consumer: Window is closable.
authorronag <ronag@362d55ac-95cf-4e76-9f9a-cbaa9c17b72d>
Sun, 27 Nov 2011 15:58:43 +0000 (15:58 +0000)
committerronag <ronag@362d55ac-95cf-4e76-9f9a-cbaa9c17b72d>
Sun, 27 Nov 2011 15:58:43 +0000 (15:58 +0000)
git-svn-id: https://casparcg.svn.sourceforge.net/svnroot/casparcg/server/branches/2.0.2@1680 362d55ac-95cf-4e76-9f9a-cbaa9c17b72d

modules/ogl/consumer/ogl_consumer.cpp

index 993cd5b4465a224e27696d1a991542ed92e6a116..3c9480ee1e9560cf892bdef1cbd6fc80e9289b52 100644 (file)
@@ -184,7 +184,7 @@ public:
                if(!GLEW_VERSION_2_1)\r
                        BOOST_THROW_EXCEPTION(not_supported() << msg_info("Missing OpenGL 2.1 support."));\r
 \r
-               window_.Create(sf::VideoMode(screen_width_, screen_height_, 32), narrow(print()), config_.windowed ? sf::Style::Resize : sf::Style::Fullscreen);\r
+               window_.Create(sf::VideoMode(screen_width_, screen_height_, 32), narrow(print()), config_.windowed ? sf::Style::Resize | sf::Style::Close : sf::Style::Fullscreen);\r
                window_.ShowMouseCursor(false);\r
                window_.SetPosition(screen_x_, screen_y_);\r
                window_.SetSize(screen_width_, screen_height_);\r
@@ -247,6 +247,8 @@ public:
                                        {\r
                                                if(e.Type == sf::Event::Resized)\r
                                                        calculate_aspect();\r
+                                               else if(e.Type == sf::Event::Closed)\r
+                                                       is_running_ = false;\r
                                        }\r
                        \r
                                        safe_ptr<core::read_frame> frame;\r
@@ -358,10 +360,11 @@ public:
                std::rotate(pbos_.begin(), pbos_.begin() + 1, pbos_.end());\r
        }\r
 \r
-       void send(const safe_ptr<core::read_frame>& frame)\r
+       bool send(const safe_ptr<core::read_frame>& frame)\r
        {\r
                if(!frame_buffer_.try_push(frame))\r
                        graph_->add_tag("dropped-frame");\r
+               return is_running_;\r
        }\r
                \r
        std::wstring print() const\r
@@ -447,8 +450,7 @@ public:
        \r
        virtual bool send(const safe_ptr<core::read_frame>& frame) override\r
        {\r
-               consumer_->send(frame);\r
-               return true;\r
+               return consumer_->send(frame);\r
        }\r
        \r
        virtual std::wstring print() const override\r