查看源码 Wx 发布说明

本文档描述了对 Wx 应用程序所做的更改。

Wx 2.4.3

修复的错误和故障

  • 文档已得到改进。

    自身 ID:OTP-19190

Wx 2.4.2

改进和新功能

  • 文档已迁移为使用 Markdown 和 ExDoc。

    自身 ID:OTP-18955 辅助 ID:PR-8026

Wx 2.4.1

修复的错误和故障

  • 添加选项以静默 wx 弃用宏。

    自身 ID:OTP-18988 辅助 ID:PR-7750

Wx 2.4

改进和新功能

  • 已将保护添加到 gen_*:start* API 函数中,以便更早地捕获错误的参数。在此更改之前,在某些情况下,错误的参数可能会一直传递下去,并在启动后不久导致服务器稍后失败。

    自身 ID:OTP-18857 辅助 ID:GH-7685

Wx 2.3.1

修复的错误和故障

  • wx 应用程序在 macOS 上使用 Xcode 15 构建失败。

    自身 ID:OTP-18768 辅助 ID:PR-7670

Wx 2.3

改进和新功能

  • 运行时依赖项已更新。

    自身 ID:OTP-18350

  • 已修复实现以在适当的情况下使用 proc_lib:init_fail/2,3,而不是 proc_lib:init_ack/1,2

    *潜在的不兼容性*

    自身 ID:OTP-18490 辅助 ID:OTP-18471, GH-6339, PR-6843

Wx 2.2.2.1

修复的错误和故障

  • wx 应用程序在 macOS 上使用 Xcode 15 构建失败。

    自身 ID:OTP-18768 辅助 ID:PR-7670

Wx 2.2.2

修复的错误和故障

  • 改进了来自 nif 的调试打印。针对 wxWidgets-3.2 的一些小修复。修复了 OpenGL 调试功能。

    自身 ID:OTP-18512

Wx 2.2.1

修复的错误和故障

  • 添加环境变量 WX_MACOS_NON_GUI_APP 以允许用户覆盖 OSXIsGUIApplication 行为。

    自身 ID:OTP-18213 辅助 ID:PR-6113

Wx 2.2

改进和新功能

  • configure 脚本的输入已适应 autoconf 2.71。

    自身 ID:OTP-17414 辅助 ID:PR-4967

  • aux1Downaux2Down 字段添加到 wxMouseState 记录中。由于更改了一个记录,因此可能需要重新编译用户代码。

    *潜在的不兼容性*

    自身 ID:OTP-17950

  • 添加 Mac 特定的菜单栏功能。

    自身 ID:OTP-18008 辅助 ID:PR-5816

Wx 2.1.4

修复的错误和故障

  • 修复了使用 wxWidgets-3.1.6 构建失败的问题。

    自身 ID:OTP-18064 辅助 ID:GH-5893

改进和新功能

  • 允许在 Windows 上使用 wxWidgets-3.1.6 构建 wx。

    自身 ID:OTP-18061 辅助 ID:GH-5883

Wx 2.1.3

修复的错误和故障

  • 修复了回调处理中的一个错误,该错误可能导致 GUI 无响应。

    自身 ID:OTP-17982 辅助 ID:GH-5758

Wx 2.1.2

修复的错误和故障

  • wxImage 创建函数中删除了 static_data 选项,因为它已损坏并可能导致崩溃。现在,图像数据始终复制到 wxWidgets,就像默认行为一样。

    删除了一些不起作用的 wxGridEvent 事件类型,这些事件类型在新版本的 wxWidgets 中有自己的事件,并添加了几个在 wx 中缺失的事件类型。

    自身 ID:OTP-17947

Wx 2.1.1

修复的错误和故障

  • 修复了退出 GUI 应用程序时清理代码中的崩溃。

    修复了 OpenGL 包装器中可能导致崩溃的错误,并改进了文档。

    自身 ID:OTP-17745

Wx 2.1

修复的错误和故障

  • 修复了关闭应用程序时崩溃的问题。

    自身 ID:OTP-17507

  • 某些带有重载颜色参数的函数无法使用。例如,复制构造函数 wxTextAttr:new(TextAttr) 无法正常工作。

    自身 ID:OTP-17577 辅助 ID:GH-4999

改进和新功能

  • 将 Microsoft Edge WebView 加载器 dll 添加到 Windows 上的安装程序。

    自身 ID:OTP-17325

  • 处理特定的 Mac GUI 应用程序事件。

    自身 ID:OTP-17438 辅助 ID:PR-4780

Wx 2.0.1

修复的错误和故障

  • 修复了使用 -enable-std 构建 wxWidgets 时的构建问题。

    自身 ID:OTP-17407 辅助 ID:GH-4834

  • 提交生成的 configure 脚本。

    自身 ID:OTP-17420 辅助 ID:OTP-17398, GH-4821

Wx 2.0

修复的错误和故障

  • 修复了 clang 编译器生成的编译器警告。

    自身 ID:OTP-17105 辅助 ID:PR-2872

改进和新功能

  • 为了使用 wxWidgets 版本 3 作为其基础,该应用程序已完全重写。

    添加了从 wxWidgets 项目生成的基本文档。

    自身 ID:OTP-16800

  • 实验性的 HiPE 应用程序已删除,以及其他应用程序中的所有相关功能。

    *潜在的不兼容性*

    自身 ID:OTP-16963

  • 添加了对 wxWebView 的支持。

    自身 ID:OTP-17213 辅助 ID:PR-3027

  • 由于支持新的后端版本,引入了一些 API 不兼容性。更改的示例包括
    wxWindowDC 默认创建器已删除
    wxClientDC 默认创建器已删除
    wxPaintDC 默认创建器已删除
    wxWindow:setVirtualSizeHints() 在 wxWidgets 中已弃用并删除
    wxWindow:makeModal() 在 wxWidgets 中已弃用并删除
    wxToolBar:add/insertTool 没有标签在 wxWidgets 中已弃用并删除
    wxStyledTextCtrl 一些函数将参数从布尔值更改为整数
    wxSizerItem:new() 一些参数已变为选项
    删除已弃用的 wxSizerItem:setWindow() 使用 assignWindow()
    删除已弃用的 wxSizerItem:setSpacer() 使用 assignSpacer()
    删除已弃用的 wxSizerItem:setSpacer() 使用 assignSpacer()
    删除已弃用的 wxSizerItem:setSizer() 使用 assignSizer()
    wxMenu append/insert/prepend 更改了返回值并失去了 IsCheckable 参数
    wxListCtrl:setItem/4 更改了返回值
    wxImage:convertToGreyscale() 选项已更改
    wxGridSizer:wxGridSizer() 选项已更改
    wxGrid API 有许多更改
    wxGraphicsRenderer:createGradientBrush() 现在使用 GradientStops
    wxGraphicsRenderer:createPen() 已删除
    wxGraphicsRenderer:create
    GradientBrush() 现在使用 GradientStops
    wxGLCanvas API 不兼容
    wxFlexGridSizer:wxFlexGridSizer() 选项已更改
    wxDisplay:new() 选项已更改
    wxCalendarDateAttr:new(ColText [,OptList]) 已删除
    wxBitmapButton:set/getBitmapSelected() 已删除

    *潜在的不兼容性*

    自身 ID:OTP-17219 辅助 ID:OTP-16800

Wx 1.9.3.1

修复的错误和故障

  • 提交生成的 configure 脚本。

    自身 ID:OTP-17420 辅助 ID:OTP-17398, GH-4821

Wx 1.9.3

修复的错误和故障

  • 修复了 Mac 上的 wx 初始化问题,顶级菜单在较新的 MacOS 版本上并不总是有效。在这些 MacOS 版本上发布和使用 wxWidgets-3.1.5 之前,菜单将无法工作。

    自身 ID:OTP-17187

Wx 1.9.2

修复的错误和故障

Wx 1.9.1

修复的错误和故障

  • 修复了 64 位 Windows 上的各种编译器警告。

    自身 ID:OTP-15800

改进和新功能

  • 重构了已弃用和已删除函数的内部处理。

    自有 ID: OTP-16469

Wx 1.9.0.1

修复的错误和故障

  • 提交生成的 configure 脚本。

    自身 ID:OTP-17420 辅助 ID:OTP-17398, GH-4821

Wx 1.9

改进和新功能

  • 添加了 wxWindow:isShownOnScreen/1wxMouseEvent:getWheelAxis 以及 macOS 特定的菜单栏函数。修复了较新 wxWidgets 版本中已更改的定义,这些更改导致某些字面量在运行时依赖于 wxWidgets 版本。

    自有 ID: OTP-16285

Wx 1.8.9

修复的错误和故障

  • 修复了在分配内存时可能导致崩溃的驱动程序错误。

    自有 ID: OTP-15883 辅助 ID: PR-2261

Wx 1.8.8

修复的错误和故障

  • 所有不正确的(即所有)使用 “can not” 的地方都已更正为 “cannot”,包括源代码注释、文档、示例等。

    自有 ID: OTP-14282 辅助 ID: PR-1891

Wx 1.8.7

修复的错误和故障

  • 改进了对 wxWidgets 3.1.3 的支持,该版本更改了 wxFONTWEIGTH,还添加了 wxGCDCwxDisplay 模块。

    修复了在 Mojave 上发生的崩溃,并增加了事件检查频率。

    自有 ID: OTP-15587

Wx 1.8.6

修复的错误和故障

  • 修复了延迟删除错误,该错误导致 wx 应用程序在 Mojave 上崩溃。

    自有 ID: OTP-15426 辅助 ID: ERL-755

Wx 1.8.5

修复的错误和故障

  • 修复了在 Darwin 上的编译警告。

    自有 ID: OTP-15230 辅助 ID: PR-1860

Wx 1.8.4

改进和新功能

  • 更改了实现,因此 wx 现在可以针对 wxWidgets-3.1.1 构建。

    自有 ID: OTP-15027

Wx 1.8.3

修复的错误和故障

  • 如果将空二进制文件作为参数发送,wx 将在 otp 20.1 中崩溃。

    自有 ID: OTP-14688

Wx 1.8.2

修复的错误和故障

改进和新功能

  • 通用的 Unicode 改进。

    自有 ID: OTP-14462

Wx 1.8.1

修复的错误和故障

  • 修复了由 wx:batch/1 可能引起的活锁。

    自有 ID: OTP-14289

Wx 1.8

修复的错误和故障

  • 允许字符串参数为指定的二进制文件,即 unicode:chardata()。

    自有 ID: OTP-13934 辅助 ID: ERL-270

改进和新功能

  • 添加 wxWindow:dragAcceptFiles/2 和 wxDropFilesEvent 以支持从文件浏览器进行的简单拖放操作。

    自有 ID: OTP-13933

Wx 1.7.1

修复的错误和故障

  • 增加了 wx 线程的堆栈大小。Windows 上的默认堆栈大小为 1MB,如果用户创建了许多嵌套对话框,则该大小不足。

    自有 ID: OTP-13816

Wx 1.7

修复的错误和故障

  • 修复了当同时调用回调时,可能导致调用的函数被调用两次或根本不被调用的错误。

    自有 ID: OTP-13491

改进和新功能

  • 将 #wxMouseState{} 中的原子 'boolean' 字段更改为 'boolean()'。

    将 wxListCtrl:hitTest 中的参数移至结果中。

    删除了 wxGauge 中已从 wxWidgets-3.1 中删除的空操作函数。

    *潜在的不兼容性*

    自有 ID: OTP-13553

Wx 1.6.1

修复的错误和故障

Wx 1.6

改进和新功能

  • 添加 wxOverlay 并使 wxPostScripDC 成为可选,以便在 Windows 上更易于构建。

    更正了一些函数规范。

    驱动程序实现已得到优化,现在在将事件发送到 erlang 后调用命令。

    自有 ID: OTP-13160

Wx 1.5

改进和新功能

  • 扩展 AUI 功能。

    自有 ID: OTP-12961

Wx 1.4

修复的错误和故障

  • 删除了 gen_server 的未记录选项 generic_debug

    自有 ID: OTP-12183

  • 删除 wx 可能在模拟器停止期间崩溃的引发条件。

    自有 ID: OTP-12734

改进和新功能

  • 如果找到,则在 Windows 上默认使用 wxWidgets-3.0 作为后端。

    自有 ID: OTP-12632

  • 在某些事件记录中添加了缺少的字段。可能需要重新编译用户应用程序。

    自有 ID: OTP-12660

Wx 1.3.3

修复的错误和故障

  • 修复了 wx 应用程序停止期间的与计时相关的崩溃。

    自有 ID: OTP-12374

Wx 1.3.2

修复的错误和故障

  • 修复了 graphicsContext 示例中的一个小的拼写错误。

    自有 ID: OTP-12259

改进和新功能

  • 在构建时将 autoconf 助手分发给应用程序,而不是在存储库中提交多个相同的副本。

    自有 ID: OTP-12348

Wx 1.3.1

修复的错误和故障

  • 实现 --enable-sanitizers[=sanitizers]。类似于使用 Valgrind 进行调试,启用 -fsanitize= 开关在运行时捕获错误非常有用。

    自有 ID: OTP-12153

Wx 1.3

修复的错误和故障

  • 修复了 wxPaintDC 对象的延迟销毁,这可能导致模态对话框的无限循环。

    修复了 wxSL_LABELS 在 wxWidgets-2.8 和 wxWidgets-3.0 版本之间的兼容性

    自有 ID: OTP-11985

改进和新功能

  • 添加了缺少的类 wxPopup[Transient]Window、wxActivateEvent 和 wxTextCtrl:cahngeValue/2 函数。

    自有 ID: OTP-11986

Wx 1.2

修复的错误和故障

  • 重构了 C++ 代码,修复了 Linux 上的崩溃和死锁。

    自有 ID: OTP-11586

  • 一些从列表中删除最后一个元素的本地实现已替换为 lists:droplast/1。请注意,这需要至少 stdlib-2.0,这是 OTP 17.0 中提供的 stdlib 版本。(感谢 Hans Svensson)

    自有 ID: OTP-11678

  • 重做了内部事件处理,以避免在销毁对象时发生崩溃。感谢 Tom 的错误报告。

    自有 ID: OTP-11699

  • 以下应用程序的应用程序升级 (appup) 文件已更正

    asn1、common_test、compiler、crypto、debugger、dialyzer、edoc、eldap、erl_docgen、et、eunit、gs、hipe、inets、observer、odbc、os_mon、otp_mibs、parsetools、percept、public_key、reltool、runtime_tools、ssh、syntax_tools、test_server、tools、typer、webtool、wx、xmerl

    一个新的用于测试 appup 文件的测试实用程序已添加到 test_server 中。现在,OTP 中的大多数应用程序都使用它。

    (感谢 Tobias Schlager)

    内部 ID:OTP-11744

Wx 1.1.2

修复的错误和故障

  • 修复了关闭窗口时导致调试器崩溃的问题。修复了 Mac 上的静态链接问题。

    内部 ID:OTP-11444

Wx 1.1.1

修复的错误和故障

  • 在 Mac 上使用 wxWidgets-3.0 时,wx 初始化挂起。修复了使用 wxWidgets-3.0 时 wxListBox 崩溃的问题(感谢 Sergei Golovan)。修复了文档链接。修复了事件回调清理。

    内部 ID:OTP-11393

  • 改进文档(感谢 Boris Mühmer)

    内部 ID:OTP-11505

改进和新功能

  • 修复了静默 make 规则(感谢 Anthony Ramine)

    内部 ID:OTP-11515

Wx 1.0

修复的错误和故障

  • 为了能够在 wx 启动期间禁止错误消息,向 wx:new/1 添加 {silent_start, boolean()} 选项。(感谢 Håkan Mattsson)

    内部 ID:OTP-10585

  • 修复 wxTreeCtrl:getBoundingRect/2 和 wxTreeCtrl:hitTest/1。wxTreeCtrl:hitTest 现在返回一个元组,与以前的版本不兼容,但这是需要的。

    内部 ID:OTP-10743

改进和新功能

  • wx 应用程序现在可以使用 wxWidgets-2.9 的不稳定开发分支进行编译和使用。某些函数目前在 wxWidgets-2.9 中不可用,它们的 Erlang 对应项被标记为已弃用。当链接到 wxWidgets-2.9 库时,如果调用它们将生成错误。这意味着 wx 现在可以在 64 位 MacOsX 上构建,但请记住,wxWidgets-2.9 仍然是一个开发分支,在它变得稳定之前还需要(很多)工作。

    内部 ID:OTP-10407 辅助 ID:kunagi-262 [173]

Wx 0.99.2

改进和新功能

  • 修复了 wxDC 和 wxGraphicsContext API 中的错误。

    添加 wxTaskBarIcon。

    添加 wxStyledTextControl:setEdgeMode/2。

    为所有函数和记录添加类型和规范。

    内部 ID:OTP-9947

Wx 0.99.1

修复的错误和故障

  • 修复了驱动程序中的死锁,如果回调导致另一个回调被调用,则可能会发生死锁。

    内部 ID:OTP-9725

改进和新功能

  • 实现了 wxSystemOptions。

    从 libGL.so.1 加载 Opengl 而不是 libGL.so,以解决 Linux 问题。

    内部 ID:OTP-9702

Wx 0.99

修复的错误和故障

  • wx:修复过时的 guard 警告 (list/1)(感谢 Tuncer Ayaz)

    内部 ID:OTP-9513

  • XML 文件已更正。

    内部 ID:OTP-9550 辅助 ID:OTP-9541

改进和新功能

  • 支持 wxListCtrl 中的虚拟表。

    内部 ID:OTP-9415

Wx 0.98.10

修复的错误和故障

  • 修复了 Mac 和 Solaris 上的 wx 应用程序文件。感谢 Jachym Holecek 和 Joe Williams。

    内部 ID:OTP-9324

Wx 0.98.9

修复的错误和故障

  • 如果无法启动图形,例如如果 DISPLAY 不可用,wx 会崩溃。

    wx 在启动期间可能会崩溃,感谢 Boris Muhmer 的非常规测试。

    内部 ID:OTP-9080

  • MacOS X 上的 Wx 在 stderr 上生成有关某些 Cocoa 函数未从“主线程”调用的投诉。现在已更正。

    内部 ID:OTP-9081

Wx 0.98.8

改进和新功能

  • 添加了先前版本中缺失的 wxSystemSettings,尽管先前有评论。

    修复了正常停止 Erlang 时的外部循环。

    将 OpenGL 分离到其自己的动态加载库中,因此其他图形库可以重用 gl 模块,并且如果未使用它,则不会浪费内存。

    内部 ID:OTP-8951

Wx 0.98.7

修复的错误和故障

  • 修复了回调处理中的崩溃(段错误)。

    内部 ID:OTP-8766

改进和新功能

  • 添加 wxSystemSettings 模块。

    添加 wxTreeCtrl:editLabel/2。

    内部 ID:OTP-8767

Wx 0.98.6

改进和新功能

  • 为具有全局注册名称但不是原子的进程调用 sys:get_status() 会导致崩溃。已更正。(感谢 Steve Vinoski。)

    内部 ID:OTP-8656

Wx 0.98.5

修复的错误和故障

  • 更正了错误生成的 wxFileDialog:getPaths/1。由 Jason/hornja 报告。

    内部 ID:OTP-8330

  • 修复了内存引用错误,该错误在运行多个 wx 应用程序时会导致无法解释的 {badarg, Int} 退出。

    内部 ID:OTP-8461

改进和新功能

  • 添加了 wxListCtrl:getEditCtrl/1(在 Mac 上不可用)。

    内部 ID:OTP-8408

  • Tidier 建议的清理以及类型和规范的现代化。

    内部 ID:OTP-8455

  • 将 wxTreeItem 的表示形式更改为整数。这节省了内存,驱动程序不需要为每个树项保留对象引用。

    将 getFirstChild 和 getNextChild 添加到 wxTreeCtrl。

    内部 ID:OTP-8462

Wx 0.98.4

改进和新功能

  • 从 Mazen 添加了 wx_object 改进。

    修复了 Mazen 报告的 pid 问题。

    添加了 Amit Murthy 报告的 wxLogNull 类。

    各种配置修复。

    内部 ID:OTP-8243 辅助 ID:seq11418

  • 该文档现在使用大多数平台上都存在的开源工具(xsltproc 和 fop)构建。一个可见的变化是框架被删除。

    内部 ID:OTP-8250

  • wx 现在可以使用 wxWidgets 2.8.4 或更高版本的 2.8 版本构建,感谢 Nico Kruber。

    内部 ID:OTP-8292

Wx 0.98.3

修复的错误和故障

  • 添加了 Paul Hampson 提供的 wxListCtrl 排序和构建修复。谢谢。

    内部 ID:OTP-8126

改进和新功能

  • 实现了 wxHtmlWindow 类。

    现在会捕获并写入日志中的所有回调异常。

    一些定义在“wx.hrl”中是错误的。

    如果例如在 fun 内部设置了一个断点,wx:batch/1 及其朋友可能会永远挂起。这会导致所有 wx 应用程序挂起。

    添加了缺少的 wxAuiPaneInfo 构造函数和析构函数。

    添加了 wxAuiNotebookEvent 和 wxAuiManagerEvent。

    调用不支持的 wxWidgets 函数会挂起而不是崩溃。

    将 OpenGL 更新到版本 3.1,并添加了一些缺失的 glu 函数。

    修复了继承了错误类的 wxRadioBox,感谢 Atilla Erdodi。

    内部 ID:OTP-8083

  • 删除了应用程序退出后的一些自动垃圾回收,用户会收到警告,以便他可以更正代码。

    内部 ID:OTP-8138

Wx 0.98.2

改进和新功能

  • Olle Mattson 制作了一个大型演示,请参阅 examples/demo/,它触发了以下错误和新功能

    新的书本控件。

    添加了 wxToolbar:addTool/6。

    空二进制文件将用于在适用情况下指示 NULL。

    内部 ID:OTP-7943

  • 应用了 Nico Kruber 的补丁,该补丁修复了在某些 wxWidgets 安装上的构建问题。

    开源

Wx 0.98.1

改进和新功能

  • 在 wxXmlResource 中添加了 xrcctrl/3,并添加了一个资源示例。

    添加了多个事件类型和事件记录,并修复了一些与事件相关的错误。

    现在,事件回调可以使用 wxEvtHandler:connect/2

    改进了错误处理和调试辅助功能。

    添加了 wxSplitterWindow 和 wxGauge:pulse,以及 wx.hrl 中缺少的一些宏。

    感谢 Steve Davis 的反馈和错误报告。

    自有 ID:OTP-7875

Wx 0.98

改进和新功能

  • wxErlang 的第一个 beta 版本。

    自有 ID:OTP-7859