【1.8.2】【标记 ctrl+E】BUG:可绕过跨段落的限制强行标记
一、问题发现
由于从网页剪贴的文本带有【超链接】,
偶然发现【Ctrl+E】可以与【超链接】冲突,导致标记后自动删除【超链接】,
于是便采用【Ctrl+E】对文本快捷删除超链接,
剪贴到附图中的文字时发生了大块文本被标记,然后【Ctrl+E】取消标记,发现失效了,【Ctrl+Z】撤销也失效,反复搞了几次,内核崩溃了。
后来测试中发现,直接重建索引后都能正常显示。
二、问题复现
第一步:鼠标框选跨段落的文本,并按住鼠标不松;
第二步:紧接着【Ctrl+E】标记,结果大块标记成功;
第三步:【Ctrl+E】取消标记,结果:失效;【Ctrl+Z】撤销,结果:失效。
第四步:手动重建索引。结果:正常显示。
复现过程中未能引起内核崩溃。
三、问题分析
【Ctrl+E】标记的设计思路是,针对文本段内的文字进行标记,即=只有在单个文本段内才能有效=使用【Ctrl+E】标记,而触发标记可被操作的条件是【文本高亮】,不是【文本段高亮】,按照这个逻辑,即使选中整个单文本段, =只要文本不高亮,就无法标记= 。
鼠标框选的过程中,一直保持了文本的高亮,因此【Ctrl+E】标记就可以被使用。
当这个标记在多个文本段中生效时, =多个文本段被合并成一个文本段= ,背后的文本 ID 是否丢失无法确定,所以再次取消标记或者撤销操作,就可能是失效的,严重的可能发生崩溃。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于