Issue #2035 Calling cv::namedWindow crashes on Android fixed.
authorAlexander Smorkalov <alexander.smorkalov@itseez.com>
Wed, 10 Oct 2012 08:40:36 +0000 (12:40 +0400)
committerAlexander Smorkalov <alexander.smorkalov@itseez.com>
Wed, 10 Oct 2012 08:40:36 +0000 (12:40 +0400)
Window-related functions is guarded from calls from application code.
Old implementations with "no-gui" exception are stell compiled and linked to OpenCV library for binary compatibility.

modules/highgui/CMakeLists.txt
modules/highgui/include/opencv2/highgui/highgui.hpp

index 30c0c82..86ad1c7 100644 (file)
@@ -70,6 +70,8 @@ set(highgui_srcs
 
 file(GLOB highgui_ext_hdrs "include/opencv2/${name}/*.hpp" "include/opencv2/${name}/*.h")
 
+add_definitions(-DHAVE_ANDROID_UI)
+
 if(HAVE_QT)
   if (HAVE_QT_OPENGL)
     set(QT_USE_QTOPENGL TRUE)
index c511beb..59be135 100644 (file)
@@ -54,6 +54,7 @@ struct CvVideoWriter;
 namespace cv
 {
 
+#if defined(ANDROID) && defined(HAVE_ANDROID_UI)
 enum { 
     // Flags for namedWindow
     WINDOW_NORMAL   = CV_WINDOW_NORMAL,   // the user can resize the window (no constraint) / also use to switch a fullscreen window to a normal size
@@ -155,6 +156,8 @@ CV_EXPORTS int createButton( const string& bar_name, ButtonCallback on_change,
                              void* userdata=NULL, int type=CV_PUSH_BUTTON,
                              bool initial_button_state=0);
 
+#endif
+
 //-------------------------
 
 enum