diff --git a/modules/highgui/src/window_QT.cpp b/modules/highgui/src/window_QT.cpp index d77975f9ba..68289eb876 100644 --- a/modules/highgui/src/window_QT.cpp +++ b/modules/highgui/src/window_QT.cpp @@ -1219,9 +1219,6 @@ void GuiReceiver::addSlider2(QString bar_name, QString window_name, void* value, if (t) //trackbar exists return; - if (!value) - CV_Error(CV_StsNullPtr, "NULL value pointer" ); - if (count <= 0) //count is the max value of the slider, so must be bigger than 0 CV_Error(CV_StsNullPtr, "Max value of the slider must be bigger than 0" ); @@ -1342,7 +1339,8 @@ void CvTrackbar::create(CvWindow* arg, QString name, int* value, int _count) slider->setMinimum(0); slider->setMaximum(_count); slider->setPageStep(5); - slider->setValue(*value); + if (dataSlider) + slider->setValue(*dataSlider); slider->setTickPosition(QSlider::TicksBelow); @@ -1409,7 +1407,8 @@ void CvTrackbar::update(int myvalue) { setLabel(myvalue); - *dataSlider = myvalue; + if (dataSlider) + *dataSlider = myvalue; if (callback) { callback(myvalue); diff --git a/modules/highgui/src/window_winrt_bridge.cpp b/modules/highgui/src/window_winrt_bridge.cpp index 13edbe5b83..6057f2d5b4 100644 --- a/modules/highgui/src/window_winrt_bridge.cpp +++ b/modules/highgui/src/window_winrt_bridge.cpp @@ -271,7 +271,7 @@ void CvWindow::createSlider(cv::String name, int* val, int count, CvTrackbarCall // Image control is loaded. See callback implementation in CvWindow ctor. slider->Width = sliderDefaultWidth; } - slider->Value = *val; + slider->Value = val ? *val : 0; slider->Maximum = count; slider->Visibility = Windows::UI::Xaml::Visibility::Visible; slider->Margin = Windows::UI::Xaml::ThicknessHelper::FromLengths(10, 10, 10, 0);