LCUI 1.0 Beta 4
Pre-release
Pre-release
lc-soft
released this
28 Nov 15:22
·
526 commits
to develop
since this release
Changelog
Bug Fixes
- dirent: LCUI_ReadDirW() UNINITIALIZED READ (dd610ad)
- display: the renderer pauses when resizing the window (#164) (8ad667a)
- display: too many duplicate dirty rectangles in one frame (b5d9040)
- font: failed to set default font after loading font file (9b4c005)
- font: font number is not reset after module reinitialization (d75b4ca)
- gui: layout should be updated after widget display role is changed (96c1cef)
- gui: should clear trash widget when module destroyed (1ad6be1)
- gui: the block element default width should be 100% (adcb9e7)
- gui: the node should unlinked before destroying widget (3249490)
- gui: the unlink event is triggered repeatedly (89faa5d)
- gui: widget background image is not rendered (e76f3f9)
- gui: Widget_AutoSize() should not change the static width or height (8bee9c2)
- ime: non-qwerty keyboard layouts broken (#147) (4b1f050)
- layout: "left: auto" is calculated as "left: 0" (f4990da)
- platform: linux framebuffer driver has not been destroyed (#157) (87f79f0)
- renderer: problem when widget has transparency (#160) (d13b554)
- renderer: transparent widgets are rendered incorrectly (6668165)
- textlayer: chinese text line break error (1e5a262)
- textlayer: isalpha() assertion failed (cd39a46)
- textview: no effect after changing the "content" property (d1ab50d)
- textview: size not updated after setting text (31e0582)
- util: incorrect value of LCUI_DirEntry::name (367febe)
- worker: worker thread memory access violation (5a7e2c0)
- linker errors when jpeg and png are not supported (2bbabe1)
- PACKAGE_VERSION is not defined (70660de)
- the mouse cursor should be hidden when the window system exists (acf9454)
- the return value of LCUI_GetAppId() is incorrect (46ec607)
- "linux/input.h" file not found on FreeBSD (7d95f3f)
- undefined ENODATA on FreeBSD (2cd0b27)
- unresolved external symbol _Graph_IsValid (1328a2d)
Features
- builder:
<resource>
support load xml file (d5e162c) - display: auto disable window maximize button (#164) (82fad1b)
- event: add ctrl_key and shift_key to LCUI_KeyboardEvent (6f5f17c)
- gui: add Widget_SetOpacity() (e6ad163)
- gui: add Widget_SetVisibility() (145d9ee)
- gui: add Widget_SetVisible() and Widget_SetHidden() (2f581b8)
- gui: LCUIWidget_ClearTrash() will return count (6262f20)
- linux: add mouse wheel event handing for x11 (#54) (1061592)
- linux: use fontconfig to locate fonts (2932246)
- textview: refresh all textview after loading new font (3fcfa99)
- util: add OpenUri() (ec20c99)
- make LCUI_MAX_FRAMES_PER_SEC public (6fa2995)
- add LCUI_MAX_FRAME_MSEC macro (7abc901)
Performance Improvements
- charset: improve utf-8 and unicode string convert (1efd856)
- graph: improve image scaling quality (issue #39) (bbfb9af)
更新日志
问题修复
- dirent: LCUI_ReadDirW() UNINITIALIZED READ (dd610ad)
- display: 调整窗口尺寸时会暂停渲染 (#164) (8ad667a)
- display: 一帧内有过多的重复的脏矩形 (b5d9040)
- font: 在加载完字体文件后设置默认字体会失败 (9b4c005)
- font: 在模块被重新初始化后,字体编号未重置 (d75b4ca)
- gui: 当部件的显示角色改变后应该更新布局 (96c1cef)
- gui: 当模块被销毁时应该清空废弃的部件 (1ad6be1)
- gui: 块级元素的默认宽度应该为 100% (adcb9e7)
- gui: 在销毁部件前应该解除结点 (3249490)
- gui: unlink 事件被重复触发 (89faa5d)
- gui: 部件背景图未渲染 (e76f3f9)
- gui: Widget_AutoSize() 不应该改变静态的宽度或高度 (8bee9c2)
- ime: 无法正确识别非 qwerty 键盘布局的按键输入 (#147) (4b1f050)
- layout: "left: auto" 被计算为 "left: 0" (f4990da)
- platform: linux 帧缓存驱动未被销毁 (#157) (87f79f0)
- renderer: 当部件整体透明时,子级部件未正确渲染 (#160) (d13b554)
- renderer: 有透明效果的部件,渲染不正确 (6668165)
- textlayer: 中文文本断行错误 (1e5a262)
- textlayer: isalpha() 断言失败 (cd39a46)
- textview: 在改变 "content" 属性后没有效果 (d1ab50d)
- textview: 设置文本后未更新自身尺寸 (31e0582)
- util: LCUI_DirEntry::name 的值不正确 (367febe)
- worker: 工作线程内存访问越界 (5a7e2c0)
- 当不支持 jpeg 和 png 时连接器会报错 (2bbabe1)
- PACKAGE_VERSION 未定义 (70660de)
- 当系统中存在窗口管理系统时应该隐藏鼠标指针 (acf9454)
- LCUI_GetAppId() 返回值不正确 (46ec607)
- 在 FreeBSD 上编译时,"linux/input.h" 文件不存在 (7d95f3f)
- 在 FreeBSD 上编译时,ENODATA 未定义 (2cd0b27)
- 未解析的外部符号 _Graph_IsValid (1328a2d)
新特性
- builder:
<resource>
支持加载 xml 文件 (d5e162c) - display: 自动禁用窗口最大化按钮 (#164) (82fad1b)
- event: 添加 ctrl_key 和 shift_key 成员至 LCUI_KeyboardEvent (6f5f17c)
- gui: 添加 Widget_SetOpacity() (e6ad163)
- gui: 添加 Widget_SetVisibility() (145d9ee)
- gui: 添加 Widget_SetVisible() 和 Widget_SetHidden() (2f581b8)
- gui: LCUIWidget_ClearTrash() 返回值为实际销毁的部件数量 (6262f20)
- linux: 为 x11 系统添加鼠标滚轮事件处理 (#54) (1061592)
- linux: 使用 fontconfig 定位字体文件路径 (2932246)
- textview: 在加载新的字体文件后刷新所有 textview 部件 (3fcfa99)
- util: 添加 OpenUri() (ec20c99)
- 添加 LCUI_MAX_FRAMES_PER_SEC 宏定义 (6fa2995)
- 添加 LCUI_MAX_FRAME_MSEC 宏定义 (7abc901)