gtk绘图区域不重绘内容

问题描述 投票:0回答:1

我在Ubuntu 19.10 64位系统上

源文件:

https://drive.google.com/open?id=1I4ejOHNXqbAOkTbIyJR0lvldsAwiPPqI

问题:

我正在使用gtk和Glade与C一起开发一个简单的绘图程序。现在,我只能执行撤消行为。我有两个问题。在某些情况下,我按下撤消按钮。

1)当我在画布上抚摸一个笔触或一个点时,按照我的经验,它可以完美工作。画布会清除自身。

2)当我在画布上有两个笔触或两个点时,如果单击“撤消”一次,则画布不会重新绘制自身,除非再次绘制;否则,画布不会重新绘制。如果我单击两次,它会像第一种情况一样完美工作,画布会清除。

3)当我在画布上有两个以上的笔触或两个点时,如果单击两次“撤消”,程序将停止工作,等待我强制退出。

我是使用Glade,gtk3和cairo库的初学者。我一直在搜索有关此问题的几天。但是,与趋势框架和库相比,资源很少。此外,我找不到我需要的问题。感谢您的帮助。

EDIT我忘了补充一点,该函数[第二次退出(两次撤消单击)后出现了暂停问题。

c gtk3 cairo glade
1个回答
0
投票
我解决了问题。

在函数中,

addPoint我忘记了next结构指针的pre指针可能是悬空指针。它造成了问题。

© www.soinside.com 2019 - 2024. All rights reserved.