Repository navigation
Update cargo dependencies - #11
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
0.2.5→0.3.00.2.2→0.3.00.13.4→0.13.63.4.2→3.5.10.9.22→0.9.24Release Notes
jedisct1/rust-minisign-verify (minisign-verify)
v0.3.0Compare Source
raphlinus/pulldown-cmark (pulldown-cmark)
v0.13.6: Fix quadratic parsing of nested image wikilinksCompare Source
This version backports #1186 to fix quadratic parsing of nested image wikilinks.
Full Changelog: pulldown-cmark/pulldown-cmark@v0.13.5...v0.13.6
v0.13.5: 0.13.5Compare Source
This release fixes some security issues already fixed in
mainbranch. More details in pulldown-cmark#1181.Full Changelog: pulldown-cmark/pulldown-cmark@v0.13.4...v0.13.5
algesten/ureq (ureq)
v3.5.1Compare Source
v3.5.0Compare Source
v3.4.3Compare Source
AllenDang/wxDragon (wxdragon)
v0.9.24Compare Source
Breaking Changes
WXD_ACC_STATE_SYSTEM_*defines carried theSTATE_SYSTEM_*values fromoleacc.h, butwxAccessible::GetStatetakes wxWidgets' ownwxACC_STATE_SYSTEM_*numbering and converts it, so no state given throughAccessibleImpl::get_stateorset_accessibility_statearrived as itself:AccState::CHECKEDwas reported as busy,SELECTABLEas read only, andFOCUSED | SELECTEDas two alert levels. The defines now carry wxWidgets' values, and Windows builds check each one against wxWidgets.AccState::SIZEABLE,MOVEABLE,LINKED,TRAVERSEDandHASPOPUPand theirWXD_ACC_STATE_SYSTEM_*defines are removed: wxWidgets has no such states, so none of them ever reached a screen reader as itself, and code naming them has to drop them (#250)New Features
on_mouse_left_double_click,on_mouse_right_double_clickandon_mouse_middle_double_click, bindingwxEVT_LEFT_DCLICK,wxEVT_RIGHT_DCLICKandwxEVT_MIDDLE_DCLICK. A custom-drawn control had no way to tell a double-click from two clicks, short of timingLeftDownevents against the system double-click time and distance itself. The events carry the usualMouseButtonEventdata, andwxd_IsMouseButtonEventnow accepts themget_view_start, wrappingwxScrolled::GetViewStart. Without it a scrolled window drawn by hand couldn't find out where the user had scrolled to with the scroll bar or the mouse wheel, so it couldn't tell which part of its contents to paintset_page_textandget_page_text, wrappingwxNotebook::SetPageTextandGetPageText. Before, the text on a tab could only be set when the page was added, so an app that shows a count or a state in a tab had to remove the page and add it again to change the text. Both returnfalseorNonefor an index with no page, instead of the wxWidgets assertionWebViewEventData::get_urlandget_target, wrappingwxWebViewEvent::GetURLandGetTarget. A webview event keeps its URL and target frame in their own fields and not in the command string, which is empty for navigation events, so a handler foron_navigatinghad no way to tell where the navigation was going. The doc comment onget_stringsaid it returned the URL and now says what it does return, the body of a script message or the title of a title change.wxd_WebViewEvent_GetURLandwxd_WebViewEvent_GetTargetreturn-1for an event that isn't a webview event (#249)Bug Fixes
navigategoing the wrong way. The constant extractor hard-codedwxNAVIGATION_NEXTas 0 andwxNAVIGATION_PREVIOUSas 1, butwxWindow::NavigatetakeswxNavigationKeyEventflags, where 0 isIsBackwardand 1 isIsForward. Sonavigate(true)moved focus to the previous control andnavigate(false)to the next one. A control that handles Tab itself (withwxWANTS_CHARS) and passes it on withnavigate(!shift_down)sent Tab backwards and Shift+Tab forwards. The extractor now takes the values fromwxNavigationKeyEvent, and the generated constants are correctedPrinter::printnever starting a print job on Windows and macOS. The printout shim overrodeOnBeginDocumentandOnEndDocumentto run the Rust callbacks and never calledwxPrintout's own versions, which are the only placeStartDocandEndDocare called on the printer DC. Every page was drawn on a DC with no document open, so nothing was printed: Microsoft Print to PDF never asked where to save and wrote no file, andprintstill returnedtrue. The shim now starts the document beforeon_begin_documentruns and ends it afteron_end_document. Returningfalsefromon_begin_documentnow stops printing, which wxWidgets reports as an error ("Could not start printing.") without callingon_end_document; before, the C callback type returned nothing and the answer was dropped. A panic inon_begin_documentnow stops printing the same way instead of carrying on. Code passing its own begin-document callback towxd_Printout_CreateWithCallbacksthroughwxdragon-sysmust now returnbool(#246)vetodoing nothing on an event whose class info names a base it does not derive from.wxWebViewEventderives fromwxNotifyEventbut is registered withwxIMPLEMENT_DYNAMIC_CLASS(wxWebViewEvent, wxCommandEvent), andwxd_Event_Veto,wxd_Event_CanVeto,wxd_Event_SetCanVetoand the dispatcher'sIsEventVetoedlooked for awxNotifyEventwithwxDynamicCast, which follows that class info and never found one. So aWEBVIEW_NAVIGATINGhandler could not cancel a navigation andcan_vetoreturnedfalse. They usedynamic_castnow, which follows the real C++ hierarchy, as most other event types in that file already did (#249)Build
appindicatorfeature. wxWidgets detects Ayatana AppIndicator forwxTaskBarIcon, but the build links the bundled wxWidgets by hand and does not keep the CMake target's transitive dependencies, so a static build that detected AppIndicator failed to link. The build now probesayatana-appindicator3-0.1with pkg-config when the feature is on or the cached wxWidgets configuration haswxUSE_APPINDICATORenabled, and forwards its linker search paths and libraries. When pkg-config does not find it, the build warns instead of failing, so a wxWidgets with AppIndicator support can still be configured on a machine without itv0.9.23Compare Source
New Features
on_char_hook, bindingwxEVT_CHAR_HOOK. The hook runs on the focused window and every ancestor before the key reaches the control, which is the only way to act on combinations a control consumes itself: a multilineTextCtrlswallows Ctrl+Enter, and aListBoxanswers Alt+Enter with a system beep, so neither ever reaches akey_downhandler. Skip the event to let it carry on to the control. The C++ side already mappedWXD_EVENT_TYPE_CHAR_HOOKandwxd_IsKeyboardEventalready accepted it; only the Rust binding was missing. Seeexamples/rust/char_hook_demoappend_items,insert_itemsandset_items, wrapping thewxItemContaineroverloads that take awxArrayString, the same trioComboBoxgot in 0.9.21. Filling a list oneappendat a time costs a Rust-to-C++ call, a string conversion and wxWidgets' own per-change bookkeeping for every row, and on MSW the native list box grows its storage a little at a time; the array overloads reserve room for every row up front (LB_INITSTORAGE) and update once. Loading 26,934 rows into aListBoxwent from about 2.3 s to 1.3 s on Windows. The builder'swith_choicesnow goes throughappend_itemstoofrom_bits_retainwith the raw value.DialogStyle::NoParent(wxDIALOG_NO_PARENT) makes a dialog a top-level window of its own, so one opened from a global hotkey while another application is in front comes forward instead of opening behind it.MessageDialogStyle::NoDefaultandCancelDefault(wxNO_DEFAULT,wxCANCEL_DEFAULT) make the safe answer the default button, which matters for a question like "Do you want to exit?" where a stray Return should not be the answer that closes the app.MessageDialogStyle::StayOnTop(wxSTAY_ON_TOP) andTextEntryDialogStyle::MultiLine(wxTE_MULTILINE) complete whatwxMessageDialogandwxTextEntryDialogdocumentenable_focus_from_keyboardanddisable_focus_from_keyboardonWxWidget, including opt-in Tab access to single-line read-only text controls on Windows. Seeexamples/rust/accessibility_demo(#229).CustomDataViewTreeModel::set_container_columns, an opt-in for displaying all columns on container rows. This exposes group text to macOS accessibility when the first column is a toggle and the text/expander column is elsewhere. The default remains first-column-only; changing the setting rebuilds associated views and may reset selection/expansion (#160).TextValidatorandTextValidatorStylefor filtering text input by character class or include/exclude lists. Attach one withWxWidget::set_text_validatorand validate a window and its children withWxWidget::validate(#226).get_custom_data_direct(&TreeItemId)to read item data without converting the item ID throughu64, matchingset_custom_data_direct(#241).PaneInfo::dock_sizefor setting dock dimensions.Bug Fixes
event.cppintotaskbar.cpp, the mapper and its registrar landed inside the existing#ifdef __WXOSX__block that only guardedwx/osx/private.h, so they were compiled on macOS alone. Everywhere elseon_left_up,on_left_down,on_left_double_clickand the other taskbar handlers bound towxEVT_NULLand silently never ran. The guard now covers just the macOS header againAuiManagerleaking itswxAuiManager.AuiManagerBuilder::buildallocated the manager and the destroy handler on the managed window only removed its handle from the registry, so nothing ever deleted it. The handler now frees it throughwxd_AuiManager_Delete, which defers the delete until the next idle: floating pane frames are children of the managed window, are destroyed after its destroy event, and use the manager from their destructoron_open_files,on_open_url,on_new_file,on_reopen_app,on_print_files,on_should_terminateandon_will_terminateboxed the closure and handed it toWxdApp, which kept it in astd::vectorthat nothing ever freed, so every call leaked one closure. Each registration now carries a drop callback,~WxdApp()runs it for every stored handler, and a handler that is rejected (null app or callback) is freed right away (#239)FnMutcallback in events, drag-and-drop and IPC. A re-entered callback is skipped with a warning and an appropriate fallback; other handlers and default event processing still run. Active drag-and-drop and IPC calls also retain their callback data until they return (#238).DataViewTreeCtrl,Notebook,TreeCtrlandListCtrl(#234); stopped leaking fonts passed toset_fontandFontPickerCtrl::set_selected_font(#235); freed custom data-view renderer callbacks when the renderer is destroyed (#236).Refactoring
wxd_TreeItemData_*functions,wxd_RichTextCtrl_ShowPosition/ScrollIntoView/IsPositionVisible,wxd_SearchCtrl_GetCancelButton,wxd_DataViewCtrl_CreateTextColumn). Nine were stubs that did nothing or always returned null, such aswxd_GetCursor,wxd_Cursor_SetHotSpot,wxd_TreeCtrl_EnableItemand thewxd_DataViewCustomRenderer_Release*functions. The rest were superseded: the old drop target set indnd.cpp(replaced by the*_CreateFullfunctions), per-type windowDestroyfunctions, the flat-callbackwxd_DataViewModel_Createand its model class, and duplicates of functions the Rust side already uses. The safewxdragonAPI is unchanged; code calling these symbols throughwxdragon-sysdirectly would need updatingset_accessibility_labelthrough wxWidgets 3.3.4'sSetAccessibleNameon Windows and macOS. Removed duplicate name storage and direct Cocoa label handling; retained the other property overrides and the legacy macOS C entry point as a forwarding alias. Empty labels now restore the default accessible name (#229).event.cppinto the owning widget and grid implementation files, with a shared event-type registry (#224).Build
wx-printing,wx-tiff,wx-jpeg,wx-asserts,wx-tango-icons,wx-extra-image-formatsandwx-regexfeatures, which can be disabled to reduce bundled wxWidgets builds. Printing wrappers are omitted when printing is disabled. Addedwx-xpm, enabled when STC or extra image formats need XPM (#225).Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.