Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenCV
opencv
提交
f5f675ef
O
opencv
项目概览
OpenCV
/
opencv
上一次同步 10 个月
通知
995
Star
71100
Fork
55580
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
O
opencv
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
f5f675ef
编写于
6月 08, 2021
作者:
A
Alexander Alekhin
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
highgui(gtk): fix NULL ptr checks
上级
1b5fe916
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
11 addition
and
7 deletion
+11
-7
modules/highgui/src/window_gtk.cpp
modules/highgui/src/window_gtk.cpp
+11
-7
未找到文件。
modules/highgui/src/window_gtk.cpp
浏览文件 @
f5f675ef
...
...
@@ -1913,17 +1913,19 @@ static gboolean icvOnClose( GtkWidget* widget, GdkEvent* /*event*/, gpointer use
static
gboolean
icvOnMouse
(
GtkWidget
*
widget
,
GdkEvent
*
event
,
gpointer
user_data
)
{
// TODO move this logic to CvImageWidget
// TODO add try-catch wrappers into all callbacks
CvWindow
*
window
=
(
CvWindow
*
)
user_data
;
if
(
!
window
||
!
widget
||
window
->
signature
!=
CV_WINDOW_MAGIC_VAL
||
window
->
widget
!=
widget
||
!
window
->
on_mouse
)
return
FALSE
;
CvPoint2D32f
pt32f
=
{
-
1.
,
-
1.
};
CvPoint
pt
=
{
-
1
,
-
1
};
int
cv_event
=
-
1
,
state
=
0
,
flags
=
0
;
CvImageWidget
*
image_widget
=
CV_IMAGE_WIDGET
(
widget
);
if
(
window
->
signature
!=
CV_WINDOW_MAGIC_VAL
||
window
->
widget
!=
widget
||
!
window
->
widget
||
!
window
->
on_mouse
/*|| !image_widget->original_image*/
)
return
FALSE
;
if
(
event
->
type
==
GDK_MOTION_NOTIFY
)
{
GdkEventMotion
*
event_motion
=
(
GdkEventMotion
*
)
event
;
...
...
@@ -2016,8 +2018,10 @@ static gboolean icvOnMouse( GtkWidget *widget, GdkEvent *event, gpointer user_da
pt
=
cvPointFrom32f
(
pt32f
);
}
if
((
unsigned
)
pt
.
x
<
(
unsigned
)(
image_widget
->
original_image
->
width
)
&&
(
unsigned
)
pt
.
y
<
(
unsigned
)(
image_widget
->
original_image
->
height
)
)
if
(
!
image_widget
->
original_image
/*OpenGL*/
||
(
(
unsigned
)
pt
.
x
<
(
unsigned
)(
image_widget
->
original_image
->
width
)
&&
(
unsigned
)
pt
.
y
<
(
unsigned
)(
image_widget
->
original_image
->
height
)
))
{
flags
|=
BIT_MAP
(
state
,
GDK_SHIFT_MASK
,
CV_EVENT_FLAG_SHIFTKEY
)
|
BIT_MAP
(
state
,
GDK_CONTROL_MASK
,
CV_EVENT_FLAG_CTRLKEY
)
|
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录