View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3160 | [NoesisGUI] Studio | minor | always | 2024-03-11 14:12 | 2024-03-28 16:21 |
Reporter: | maherne | Platform: | |||
Assigned To: | maherne | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Dynamic Type Extends property not saving when changing for an existing type | ||||
Description: | If you try to change the Extends property on an existing type, one you created previously, the value is not actually updated (not in Studio, and not in the XAML). | ||||
Tags: | |||||
Steps To Reproduce: |
Create a project Go to Data panel Create a class "BaseType" Create a class "DerivedType" Save the project Close and reopen project Set DerivedType Extends property to BaseType Save the project Close and reopen project DerivedType will still be set to the default DynamicObject |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3201 | [NoesisGUI] Studio | minor | sometimes | 2024-03-26 11:44 | 2024-03-27 20:04 |
Reporter: | dstewart | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Components within Components Fail to Maintain Navigator Layer Hierarchy | ||||
Description: |
See the attached video; the scenario is as follows: The 'Level' Instrument Component contains: A LevelBubbleHolder Component, which contains: A LevelBubble Component. When the layer ordering of the LevelBubble within the LevelBubbleHolder is changed, it succesfully changes within this component. However, when visiting the highest Level 'Instrument' Component, the LevelBubble appears behind elements it was set to appear in front of at the LevelBubbleHolder Component level. When revisiting the LevelBubbleHolder, the layer order changes despite no action being taken on my part. |
||||
Tags: | |||||
Steps To Reproduce: |
Change layer hierarchy of a Component within a Component, and observe how the layer changes position when visiting the grandparent Component. I captured a back-up of the file at the time when this was occurring. Please reach out if you'd like a copy. |
||||
Additional Information: | |||||
Attached Files: |
LayerOrderingBug.mp4 (2,242,271 bytes) 2024-03-26 11:44 https://www.noesisengine.com/bugs/file_download.php?file_id=2269&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3202 | [NoesisGUI] Studio | minor | always | 2024-03-26 15:30 | 2024-03-27 19:37 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | ImageBrush editor's Viewport and Viewbox are broken | ||||
Description: | ImageBrush editor's Viewport and Viewbox are not showing any image | ||||
Tags: | |||||
Steps To Reproduce: |
1. Select an element with an ImageBrush, or create one 2. In the Brush editor, expand either Viewport or Viewbox properties |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0009346)
dfranjic 2024-03-26 15:39 |
This should be fixed with r13635. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3203 | [NoesisGUI] Studio | major | always | 2024-03-26 15:57 | 2024-03-27 19:37 |
Reporter: | dstewart | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Non-Destructive Assets Folder/File Renaming is Not Possible | ||||
Description: |
Currently, it's prohibitively difficult to rename any folders created in the Assets panel without breaking the UI. The only way to rename a Folder currently, is to perform the Folder rename, watch everything break, and then to dig through every single layer across every Page/Component, to find where something was used, and to update the Path or Delete the Old, and drag in the New. Renaming a Folder, or Renaming an Asset should be accompanied by references to it being updated in all cases. |
||||
Tags: | |||||
Steps To Reproduce: |
Repro Steps: 1) Create a Page 2) Create a new folder in the Assets panel, and name it "MyStuff". 3) Create a couple Components within this "MyStuff" folder. (ensuring that the Components have changes made that makes them visually visible) 4) Place the components on the canvas of the Page created in Step 1. 5) Return to the Navigator, and rename the "MyStuff" folder to "Components". Observe how all components on the Page, break, and disappear from view. Expected Result: Renaming Assets, or their Folders, should not break previously-constructed UI. |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3204 | [NoesisGUI] Studio | minor | sometimes | 2024-03-26 17:13 | 2024-03-27 19:37 |
Reporter: | dstewart | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Dragging Storyboard Playhead Creates Keyframes | ||||
Description: |
I can't repro this reliably, but I managed to capture a bug where the act of clicking and dragging the playhead back and forth across the timeline, created keyframes without action on my part. I'm not sure if this is important, but this occured in a Storyboard within a Component. Video attached! |
||||
Tags: | |||||
Steps To Reproduce: | No clear repro steps, but this occured to me within a Component, and in particular within an animation that dealt with Visibility Property changes along the timeline. See attached video | ||||
Additional Information: | |||||
Attached Files: |
GhostKeyframes.mp4 (4,158,924 bytes) 2024-03-26 17:13 https://www.noesisengine.com/bugs/file_download.php?file_id=2270&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3206 | [NoesisGUI] Studio | minor | always | 2024-03-26 18:44 | 2024-03-27 19:34 |
Reporter: | fllorens | Platform: | |||
Assigned To: | maherne | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Crash when adding DataTrigger to a DataTemplate root | ||||
Description: | as seen here: https://youtu.be/kv2sJhouz7Y?feature=shared&t=50 | ||||
Tags: | |||||
Steps To Reproduce: |
1. Create a dataTemplate 2. Edit it and select the root in the navigator panel 3. Go to interactivity and try to add a DataTrigger |
||||
Additional Information: | |||||
Attached Files: |
20240326_184311.dmp (277,991 bytes) 2024-03-26 18:44 https://www.noesisengine.com/bugs/file_download.php?file_id=2271&type=bug |
||||
Notes | |
(0009349)
dfranjic 2024-03-26 20:22 |
Interactivity triggers can't be added to the template as far as I know so the solution here would maybe be to disable the addition if a template is selected. |
(0009350)
fllorens 2024-03-27 11:01 |
Thanks Dario, you're totally correct. I've mistaken 'normal' DataTriggers for Interactivity DataTriggers. Thanks. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3205 | [NoesisGUI] Studio | major | always | 2024-03-26 18:39 | 2024-03-27 15:40 |
Reporter: | dstewart | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Components Are Not Able To Serve as Trigger Targets for Storyboard Animations | ||||
Description: | See Repro Steps below! | ||||
Tags: | |||||
Steps To Reproduce: |
Repro Steps: 1) Create a Page 2) Create a Component containing any element, and create a Storyboard for this Component, which features any visible animation in it. Set it to infinitely loop. 3) Within the Component, set a Trigger on the ComponentRoot, which on 'Loaded', Begins playing the Storyboard animation. Observe how the animation plays infinitely. 4) Drag the Component onto the Page. Observe how no animations are visible. Expected Result: Component Animations are Triggered as any other Element. ---------- How a Temporary "Fix" was applied: Remove the non-functioning trigger, and instead of setting the Trigger to the Component Root, set it the next highest Element in the Navigator hierarchy (ie a parent Grid). Observe how the animation now plays in the page. |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3209 | [NoesisGUI] Studio | crash | have not tried | 2024-03-27 12:05 | 2024-03-27 14:23 |
Reporter: | dstewart | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Creating Binding Directly on Brushes Crashes Studio | ||||
Description: |
Dumps and Images Attached of two separate instances of this occurring: The first, occurred selecting "Create Binding" on an ImageBrush of a Grid Element. The second, occurred selecting "Create Binding" on a TextBlock's Foreground SolidColourBrush. |
||||
Tags: | |||||
Steps To Reproduce: |
Repro Steps: 1) Create a Page 2) Create a Component, rename the Root to "TestComponent" 3) Within the component, place a TextBlock with some text in it. 4) On the root Component titled "TestComponent", create an Attached Property of name "Foreground" and Type "Brush". 4) Select the "Foreground" Property of the TextBlock, and within the Foreground Popout Panel, under the SolidColorBrush tab, select the 3-Dot menu to the right of the "Color" Property, and select "Create Binding". Observe how the application crashes. Expected Result: Bindings can be created without crashing the application. |
||||
Additional Information: | |||||
Attached Files: |
20240327_060843.dmp (130,481 bytes) 2024-03-27 12:05 https://www.noesisengine.com/bugs/file_download.php?file_id=2274&type=bug CreateBindingOnTextBlock.jpg (488,285 bytes) 2024-03-27 12:05 https://www.noesisengine.com/bugs/file_download.php?file_id=2275&type=bug 20240327_061546.dmp (78,828 bytes) 2024-03-27 12:05 https://www.noesisengine.com/bugs/file_download.php?file_id=2276&type=bug CreateBindingOnImageFill.jpg (1,116,624 bytes) 2024-03-27 12:05 https://www.noesisengine.com/bugs/file_download.php?file_id=2277&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3208 | [NoesisGUI] Studio | major | always | 2024-03-27 11:59 | 2024-03-27 13:23 |
Reporter: | dstewart | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Image Bindings Unassign Themselves from the Currently-Edited Item | ||||
Description: |
See attached video. This issue pertains to an issue where when assigning an Image Binding to an Element within an ItemsControl/Item, the image appears to unassign itself as soon as the Background selection popup is closed. |
||||
Tags: | |||||
Steps To Reproduce: |
Repro Steps: 1) Create a Page 2) Create an ItemsControl composed of a couple Items. 3) Create an ItemsControl/Item Template, and enter it to edit it. 4) Create a Data Structure which contains an Image Data item. 5) Create a ViewModel for the Page, and assign to to the page. 6) Within the Page's ViewModel, create a ViewModel for the ItemsControl/Item to use for the population of the images. 7) Re-Enter the ItemsControl/Item Template, and attempt to assign the ItemsControl/Item Image Data Item to the Background of a Grid. Observe how the correct ViewModel is accessible from the Binding list. Observe how it correctly populates the ItemsControl/Items 8) Close the Background Property Popout Panel. Observe how the image unassigns itself from the Background Property. 9) Play the Page. Observe how the image displays properly at runtime. Expected result: Bound Images display in all instances. |
||||
Additional Information: | |||||
Attached Files: |
DissapearingImageBinding.mp4 (4,365,334 bytes) 2024-03-27 11:59 https://www.noesisengine.com/bugs/file_download.php?file_id=2273&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3183 | [NoesisGUI] Studio | feature | always | 2024-03-15 16:45 | 2024-03-27 13:06 |
Reporter: | fllorens | Platform: | |||
Assigned To: | maherne | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Rotating a grid with the transform tool affects also the adorner's menu | ||||
Description: | Unlike a control's adorner, the row/col menu will get rotated with the grid. | ||||
Tags: | |||||
Steps To Reproduce: |
1. Create a grid with some columns or rows 2. Using the transform tool rotate the grid 3. click on a column or row adorner |
||||
Additional Information: | |||||
Attached Files: |
Adorner.jpg (21,318 bytes) 2024-03-15 16:45 https://www.noesisengine.com/bugs/file_download.php?file_id=2257&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3192 | [NoesisGUI] Studio | minor | always | 2024-03-20 11:16 | 2024-03-27 13:06 |
Reporter: | dstewart | Platform: | |||
Assigned To: | maherne | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Grid Definition Adorners Dissapear Below a Certain Grid Pixel Size | ||||
Description: |
Under a certain pixel dimension, Grid Row/Column definitions disappear and are not visible, nor editable. I haven't been able to find the exact value that seems to trigger this as it seems to change from element to element, but I have reliably been able to reproduce this going from 33x32 (Adorners Visible) to 32x32 (Adorners Invisible) |
||||
Tags: | |||||
Steps To Reproduce: |
Repro Steps: 1) Create a new Page 2) Create a large Grid element (512x512 should work here), and assign it 2 Rows of value 1* each. 3) Whilst keeping the Grid in your view, place the mouse over the Width Property of the Grid containing the Rows. 4) Click-and-Drag the mouse leftwards to reduce the Width value. Observe how at a certain pixel size, the Grid's Row adorners disappear altogether. Expected Result: Grid and Row Definitions are always accessible no matter the pixel size of the component. |
||||
Additional Information: | |||||
Attached Files: |
GridAdorners.jpg (167,899 bytes) 2024-03-20 11:16 https://www.noesisengine.com/bugs/file_download.php?file_id=2261&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3207 | [NoesisGUI] Studio | major | always | 2024-03-27 11:51 | 2024-03-27 12:33 |
Reporter: | dstewart | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Attached Properties Not Accessible Within Component Until Component's Tab Closed and ReOpened | ||||
Description: | Video attached. This is a new issue where created Attached Properties are not visible in the list of Bindings until the Component file/tab is closed, and re-opened. | ||||
Tags: | |||||
Steps To Reproduce: |
Repro Steps: 1) Create a Page 2) Create a Component, rename the Root to "TestComponent" 3) Within the component, place a TextBlock with some text in it. 4) On the root Component titled "TestComponent", create an Attached Property of name "Foreground" and Type "Brush". 5) Select the TextBlock, and for the Foreground Property, Create a Binding. 6) Under the "Binding, select the "Name" tab, then find and select the "TestComponent" under the "ElementName" input. 7) Expand the list of available bindings, and search for for "Foreground_Brush" binding that was created in Step 4. Observe how the "Foreground_Brush" attached property is not present. 8) Close the Component's tab in Studio, and re-open it from the Assets Panel. 9) Repeat steps 5-7. Observe how the "Foreground_Brush" is now present. Expected result: Attached Properties are immediately accessible within the component as soon as created. |
||||
Additional Information: | |||||
Attached Files: |
AttachedPropertiesNotUpdating.mp4 (4,920,625 bytes) 2024-03-27 11:51 https://www.noesisengine.com/bugs/file_download.php?file_id=2272&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2915 | [NoesisGUI] C++ SDK | major | always | 2023-12-04 13:01 | 2024-03-27 12:33 |
Reporter: | anton.sodergren_pdx | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.4 | ||
Target Version: | 3.2.4 | ||||
Platform: | Any | ||||
Summary: | Unloaded event not invoked for inlines added through code | ||||
Description: |
When a view is closed/destroyed, it is expected that the Unloaded event is called for all child elements of the view. However, this event is not called for Inline elements inside of a TextBlock, which can result in some cleanup code not being executed. Specifically, the event is not called on the inlines if they were added through code, but the event seems to be called as expected if the inlines were added in XAML. The inlines were added to the TextBlock in this manner: Noesis::InlineCollection& Inlines = *GetInlines(); const auto Run = Noesis::MakePtr<Noesis::Run>(); Run->SetText( Text ); Inlines.Add( Run ); |
||||
Tags: | C++ | ||||
Steps To Reproduce: |
These are not the exact steps for reproduction that we used, but this should reproduce the issue: 1. Create a view containing a TextBlock 2. Add some code behind that creates and adds some inline elements to the TextBlock 3. Add an event listener that listens for the Unloaded event on the inline elements and that does something that can be observed 4. Invoke some code that closes the view containing the TextBlock and verify whether the Unloaded event was called or not |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0009001)
sfernandez 2023-12-05 11:26 (Last edited: 2023-12-05 11:26) |
When you say "invoke some code that closes the view" you mean destroying the IView, or just taking the TextBlock out of the UI tree? Anyway, I'm not able to reproduce the issue in any of those cases. I am using the following xaml: <UserControl x:Class="Testing.TestInlines" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <Grid> <TextBlock x:Name="txt" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="50"/> <Button x:Name="btn" Content="Button" HorizontalAlignment="Center" VerticalAlignment="Bottom" Margin="20"/> </Grid> </UserControl> And this code-behind: struct TestInlines: public UserControl { TestInlines() { InitializeComponent(); Button* btn = FindName<Button>("btn"); btn->Click() += [this](BaseComponent*, const RoutedEventArgs&) { TextBlock* txt = FindName<TextBlock>("txt"); InlineCollection& inlines = *txt->GetInlines(); Ptr<Run> run = Noesis::MakePtr<Noesis::Run>(); run->SetText("Hello World!"); run->Unloaded() += [](BaseComponent*, const RoutedEventArgs&) { NS_LOG_INFO("Run Unloaded"); }; inlines.Add(run); }; } void InitializeComponent() { GUI::LoadComponent(this, "InlinesUnloaded.xaml"); } NS_IMPLEMENT_INLINE_REFLECTION_(TestInlines, UserControl, "Testing.TestInlines") }; Could you reproduce it for example in the Hello World sample included in our SDK? |
(0009004)
anton.sodergren_pdx 2023-12-08 13:49 |
Just destroying the UI element and thus taking it out of the UI tree, not destroying the top-level IView. I'll see if I can do a repro you can easily test. |
(0009005)
anton.sodergren_pdx 2023-12-08 13:51 |
I do agree that your provided code should repro the issue based on my conclusions and what I wrote in the ticket, so I'll have to take a closer look at this. |
(0009098)
sfernandez 2024-01-22 12:07 |
Did you find a way to reproduce this behavior? |
(0009224)
anton.sodergren_pdx 2024-02-20 17:27 (Last edited: 2024-02-20 17:28) |
Hi, sorry that it took so long for me to get back to you. I have now managed to reproduce the issue in a more isolated manner. Try this code and see if it reproduces it for you: // .h struct TestInlines: public UserControl { TestInlines(); static void OnRegisterUnloadedEventsChanged( Noesis::DependencyObject* pSender, const Noesis::DependencyPropertyChangedEventArgs& EventArgs ); static const Noesis::DependencyProperty* _pRegisterUnloadedEventsProperty; NS_DECLARE_REFLECTION( TestInlines, UserControl ) }; // .cpp TestInlines::TestInlines() { Noesis::GUI::LoadComponent( this, "InlinesUnloaded.xaml" ); } void TestInlines::OnRegisterUnloadedEventsChanged( Noesis::DependencyObject* pSender, const Noesis::DependencyPropertyChangedEventArgs& EventArgs ) { Noesis::TextBlock* txt = Noesis::DynamicCast<Noesis::TextBlock*>( pSender ); if ( !txt ) { return; } InlineCollection& inlines = *txt->GetInlines(); Ptr<Run> run = Noesis::MakePtr<Noesis::Run>(); run->SetText("Hello World!"); run->Unloaded() += [](BaseComponent*, const RoutedEventArgs&) { NS_LOG_INFO("Run Unloaded"); }; inlines.Add(run); } NS_IMPLEMENT_REFLECTION( CFleetOrderControl, "Testing.TestInlines" ) { Noesis::UIElementData* pData = NsMeta<Noesis::UIElementData>( Noesis::TypeOf<SelfClass>() ); pData->RegisterProperty<bool>( MessageBoxTextProperty, "RegisterUnloadedEvents", Noesis::PropertyMetadata::Create( false, &OnRegisterUnloadedEventsChanged ) ); } The dependency property is not the main issue here, I just added it for testing purposes. This XAML works fine: <UserControl x:Class="Testing.TestInlines" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:test="clr-namespace:Testing"> <Grid> <TextBlock x:Name="txt" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="50" test:TestInlines.RegisterUnloadedEvents="True" /> </Grid> </UserControl> While this does not. <UserControl x:Class="Testing.TestInlines" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:test="clr-namespace:Testing"> <Grid> <Control> <Control.Template> <ControlTemplate> <TextBlock x:Name="txt" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="50" test:TestInlines.RegisterUnloadedEvents="True" /> </ControlTemplate> </Control.Template> </Control> </Grid> </UserControl> So something seems to go wrong when the text block is inside of a control template. It doesn't have to be the direct child of the control template, but it seems like it needs to be directly in the control template's scope, and not eg. be wrapper in a user control that is inside of the control template. |
(0009292)
anton.sodergren_pdx 2024-03-07 16:23 |
Hello, just wanted to check, has there been another attempt at reproducing this issue? |
(0009305)
sfernandez 2024-03-08 17:28 |
Here is a patch that fixes the issue with inlines not being Loaded/Unloaded when created inside a template (the changes are on TextBlock::OnPostInit() method).Index: TextBlock.cpp =================================================================== --- TextBlock.cpp (revision 13486) +++ TextBlock.cpp (working copy) @@ -498,6 +498,18 @@ if (mInlines != 0) { ConnectInlines(); + + if (IsConnectedToView()) + { + IView* view = GetView(); + int numInlines = mInlines->Count(); + for (int i = 0; i < numInlines; ++i) + { + Inline* inline_ = mInlines->Get(i); + inline_->OnConnectToView(view); + inline_->OnConnectToViewChildren(); + } + } } mTextFlags |= TextFlags_InitializeFinished; If you are not building Noesis from code, I can generate a patched Noesis library for you to try, which version would you need? |
(0009311)
anton.sodergren_pdx 2024-03-11 12:53 |
Thank you, I will try this out today! We are not building Noesis from source in our usual build setup, but I think I can apply the patch and build Noesis locally. |
(0009313)
anton.sodergren_pdx 2024-03-11 14:18 |
Nice, it does appear to fix this issue indeed, thanks! :) I'm supposing this will also get into Noesis 3.2.4? We also have some different issues related to inlines, I was hoping that this fix would fix that too, but it seems that's not the case unfortunately. We're getting a heap corruption when calling Clear() on a Noesis::InlineCollection in some cases (it's related to bindings that we are doing in those inlines). But we'll continue investigating that a bit separately and see if that is also a Noesis bug or if we're doing something wrong with it. |
(0009351)
sfernandez 2024-03-27 12:33 |
Yes, this will be included in the next 3.2.4 version. Please open a new ticket regarding the heap corruption deleting inlines if you find it is a Noesis issue, thanks! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3161 | [NoesisGUI] C# SDK | major | always | 2024-03-11 14:16 | 2024-03-27 11:03 |
Reporter: | Demond | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.3 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.4 | ||
Target Version: | 3.2.4 | ||||
Platform: | Any | ||||
Summary: | Low performance when using BackgroundEffectBehavior.BlurEffect on many elements | ||||
Description: |
I noticed in RenderDoc how the background is rendered several times in the offscreen. Each background is rendered into its own separate offscreen texture. The number of textures corresponds to the number of elements with this effect. Is this behavior advisable and am I using this effect correctly? Why is the background re-rendered into a separate offscreen texture? Why can't I use the background texture directly? <Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:b="http://schemas.microsoft.com/xaml/behaviors" xmlns:noesis="clr-namespace:NoesisGUIExtensions;assembly=NoesisGUI.GUI.Extensions"> <Grid.Resources> <ResourceDictionary> <Style TargetType="Rectangle"> <Setter Property="Width" Value="100" /> <Setter Property="Height" Value="32" /> <Setter Property="Margin" Value="0 4 0 0" /> <Setter Property="Fill" Value="#40FFFFFF" /> <Setter Property="noesis:StyleInteraction.Behaviors"> <Setter.Value> <noesis:StyleBehaviorCollection> <noesis:BackgroundEffectBehavior Source="{Binding ElementName=BGImage}"> <BlurEffect Radius="10"/> </noesis:BackgroundEffectBehavior> </noesis:StyleBehaviorCollection> </Setter.Value> </Setter> </Style> </ResourceDictionary> </Grid.Resources> <Border> <Image x:Name="BGImage" Source="Background.jpg" Stretch="Fill"/> </Border> <StackPanel Orientation="Horizontal"> <StackPanel> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> </StackPanel> <Span Width="40" /> <StackPanel> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> </StackPanel> <Span Width="40" /> <StackPanel> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> </StackPanel> <Span Width="40" /> <StackPanel> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> </StackPanel> <Span Width="40" /> <StackPanel> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> <Rectangle/> </StackPanel> </StackPanel> </Grid> |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2000 | [NoesisGUI] C# SDK | minor | have not tried | 2021-05-04 18:30 | 2024-03-26 18:04 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.12 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Convert Noesis.GUI.Extension package to .NET 5 | ||||
Description: |
As discussed here: https://www.noesisengine.com/forums/posting.php?mode=reply&f=3&t=2088#pr12651 We should move the extension nuget to .NET 5 because framework versions are no longer on development. Also update the interactivity dependency to use the new behaviors: https://www.nuget.org/packages/Microsoft.Xaml.Behaviors.Wpf |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0009347)
sfernandez 2024-03-26 18:04 |
Fixed in 3.0.9 version. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2429 | [NoesisGUI] C++ SDK | minor | always | 2022-09-23 11:18 | 2024-03-26 17:17 |
Reporter: | Luke Yen | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1.5 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1.7 | ||||
Platform: | Any | ||||
Summary: | OpenMoji font does not render colored glyphs | ||||
Description: |
The colored version of OpenMoji font (https://openmoji.org/ -> Get OpenMoji-Color.ttf), renders as outlines only (it should render outlines + colored fills) when used in our TextEmojis.xaml sample. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
OpenMoji-outlinesonly-wrong.png (16,773 bytes) 2022-09-23 11:28 https://www.noesisengine.com/bugs/file_download.php?file_id=1687&type=bug OpenMoji-colored-good.png (7,699 bytes) 2022-09-23 11:28 https://www.noesisengine.com/bugs/file_download.php?file_id=1688&type=bug OpenMoji.png (14,639 bytes) 2024-03-26 02:27 https://www.noesisengine.com/bugs/file_download.php?file_id=2268&type=bug |
||||
Notes | |
(0008082)
sfernandez 2022-09-23 11:28 |
|
(0009344)
jsantos 2024-03-26 02:22 (Last edited: 2024-03-26 17:17) |
Just a clarification here: - COLRv0 is supported - COLRV1 is not supported - SVG is not supported - SBIX is not supported (Apple format) Downloading OpenMoji COLRv0 version works (https://github.com/hfg-gmuend/openmoji/blob/master/font/OpenMoji-color-glyf_colr_0) <TextBlock FontSize="20" FontFamily="./#OpenMoji Color">��</TextBlock> |
(0009345)
jsantos 2024-03-26 02:27 |
|
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3178 | [NoesisGUI] VSCode | feature | always | 2024-03-14 19:05 | 2024-03-26 00:17 |
Reporter: | nate.deselms@iracing.com | Platform: | |||
Assigned To: | maherne | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2.3 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2.4 | ||||
Platform: | Any | ||||
Summary: | Auto Completion in VSCode Extension for Resources and Data Context | ||||
Description: | The Noesis VSCode extension has auto completion for custom Noesis classes but not for static/dynamic resources or a data context. Having auto completion for resources and data contexts would allow for our team to migrate from Blend but have references to what we need. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3187 | [NoesisGUI] Studio | minor | always | 2024-03-19 14:33 | 2024-03-25 23:40 |
Reporter: | dstewart | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Gauge Elements Cannot be Copy-Pasted | ||||
Description: |
There appears to not be any support for the copy-pasting of Gauges within Studio. |
||||
Tags: | |||||
Steps To Reproduce: |
Repro Steps: 1) Create a new page 2) Create two new Components (Component_A and Component_B) 3) Inside of Component A, create a Gauge of your choice (I used RadialTicks). 4) Copy the Gauge layer from the Navigator. 5) Open Component_B, and attempt to paste Component_A's Gauge into Component_B. Observe how no pasting takes place. Expected Result: Gauges can be copy-pasted like any other component type. |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0009338)
dfranjic 2024-03-25 14:39 |
Fixed but hardcoded for "noesis:" namespace... For future: The clipboard contains something like `<noesis:RadialTicks/>` with no information as to what namespace "noesis" prefix actually points. Maybe iterating over all classes and finding the one which contains "RadialTicks" in it's name (but then what if there are two RadialTicks objects but from different namespaces...?). |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3188 | [NoesisGUI] Studio | minor | always | 2024-03-19 15:17 | 2024-03-25 23:39 |
Reporter: | dstewart | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Component Attached Properties Break when a Component is Renamed | ||||
Description: |
Renaming the Root of the Component breaks any previously-associated bindings in the Attached Properties. IMO, users should be able to perform renames freely without having to re-link every Attached Property binding. (ie: Renaming a Component should automatically update all paths where it's employed) |
||||
Tags: | |||||
Steps To Reproduce: |
Repro Steps: 1) Create a new Page 2) Create a new Component, and place it within the Page. 3) Within the Component, place a TextBlock of a visible colour and visible size. 4) Rename the Root of the Component to "Component_NameA". 5) Create an Attached Property in the Component of type 'String' and of name 'Label'. 6) In the Page, set whichever you text you like in the field for the 'Label' Attached Property of the Component. At this point, the text on the Page should render the text that was typed in the field. 7) Return inside the Component and rename the Root of the Component to "Component_NameB". 8) Return to the Page view. Observe how the text no longer is rendered. Expected Results: Renames within a Component should not break bindings: any name changes automatically update the binding path. Users should "Clear Bindings" if they wish to decouple (or couple to another layer). |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3189 | [NoesisGUI] Studio | minor | always | 2024-03-19 15:40 | 2024-03-25 23:39 |
Reporter: | dstewart | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | All Transforms should come with a Default Origin of 0.5,0.5 | ||||
Description: |
99% of all Transforms I ever perform across any application are from the centre of the object. I find myself constantly forgetting to change Studio's default transform from Upper Left (0,0) to Centre (0.5,0.5). I would really appreciate if all Origins had a default of Centre (0.5, 0.5) |
||||
Tags: | |||||
Steps To Reproduce: | N/A | ||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3191 | [NoesisGUI] Studio | minor | always | 2024-03-19 16:37 | 2024-03-25 23:39 |
Reporter: | dstewart | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Standalone Lines are not Geometrically Centred | ||||
Description: |
See attached screenshot. Lines placed on the Canvas are not geometrically centred, and are instead shifted left by 1/4 of the width (thickness) of the line. This makes it incredibly difficult to use lines as a visual element since the moment the thickness changes, so must an artificial offset (counter-margin) This can be resolved in a couple ways: 1) Standalone Lines (not part of a connecting shape) are Centred. 2) There exists an option to set Line Stroke Alignment to "Centre", "Inside", or "Outside. |
||||
Tags: | |||||
Steps To Reproduce: | N/A | ||||
Additional Information: | |||||
Attached Files: |
LineCentreBug.jpg (360,245 bytes) 2024-03-19 16:37 https://www.noesisengine.com/bugs/file_download.php?file_id=2260&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3193 | [NoesisGUI] Studio | minor | always | 2024-03-20 11:26 | 2024-03-25 23:34 |
Reporter: | dstewart | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Ctrl+Z Does not work on Active Input Field | ||||
Description: |
Undoing (Ctrl+Z) does not function if the user is inside of an active input field (ie Text/Number input). The only way to currently 'undo' a property change, is to click outside of the input field, and then press Ctrl+Z, requiring 2 steps compared to what most applications accomplish in 1. |
||||
Tags: | |||||
Steps To Reproduce: |
Repro Steps: 1) Click on the Height property input field. 2) Input a value of 32 into the Height Property input field. 3) Click outside of the input field. The 32 value will now set. 4) Click back into the Height. 5) Input a new value of 16 into the Height Property Field. Do not click away or perform any other keystrokes than typing '16'. 6) Press Ctrl+Z on the keyboard. Observe how the value does not 'undo' back to 32. Expected Result: 'Undoing' works inside active input fields. |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3194 | [NoesisGUI] Studio | crash | N/A | 2024-03-20 15:13 | 2024-03-25 23:31 |
Reporter: | dstewart | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Studio Crashes Switching Between Components | ||||
Description: |
I'm not completely certain, but I believe this crash is a result of switching tabs between [Component_B] and [Component_A], where [Component_A] contains an instance of [Component_B]. For example, [Component_A], a watch, contains [Component_B], which is the hands of the clock. Dump Attached. |
||||
Tags: | |||||
Steps To Reproduce: | No clear repro steps other than changing tabs between two open Components; one which contains the other. | ||||
Additional Information: | |||||
Attached Files: |
20240320_100625.dmp (96,401 bytes) 2024-03-20 15:13 https://www.noesisengine.com/bugs/file_download.php?file_id=2262&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3195 | [NoesisGUI] Studio | minor | always | 2024-03-25 10:51 | 2024-03-25 22:56 |
Reporter: | dstewart | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Renamed Gradients Do Not Update Where Used | ||||
Description: | Renaming a Gradient in the Global Resources panel breaks it and does not display properly wherever it's used. | ||||
Tags: | |||||
Steps To Reproduce: |
Repro Steps: 1) Create a new Gradient Background Fill on any Element (A Grid Element works well) 2) From the 3-Dot menu for the 'Background', select 'Convert to Resource' 3) Navigate to the Resources tab, find the newly-created Resource, and rename it to any name of your choice. Observe how the Gradient on the original Element it was created on, ceases to display. Upon further observation, notice how the Background Fill is still assigned to the Original/Old Gradient name from when it was first created as a Global Resource. Expected Result: Renamed Global Resources are automatically renamed in every instance they are used. If a user wishes to break them apart, they can do so manually by Clearing Binding. |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0009340)
dfranjic 2024-03-25 15:02 |
Currently when renaming resources the usages of it will be renamed only in the document that it's defined in.. I can't do as simple solution as project global search and replace since an element can use a resource with the exact name defined in some completely different merged resource dictionary. So a solution be to do project-wide search for the resource name, check if the referenced resource is actually the one that's being renamed, and if so rename it in the code. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3196 | [NoesisGUI] Studio | crash | have not tried | 2024-03-25 11:17 | 2024-03-25 22:56 |
Reporter: | dstewart | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Ctrl+D to Duplicate a Component Crashes Studio | ||||
Description: |
Using the [Ctrl+D] Shortcut on a Component results in crashing Studio. Dump attached. |
||||
Tags: | |||||
Steps To Reproduce: |
Repro Steps: 1) Create a Component. 2) Drag it to the current Page. 3) In the Navigator, select the Component. 4) Press Ctrl+D on the keyboard to duplicate it. Observe Studio crashing. Expected Result: Components can be duplicated like any other element. |
||||
Additional Information: | |||||
Attached Files: |
20240325_061441.dmp (232,962 bytes) 2024-03-25 11:17 https://www.noesisengine.com/bugs/file_download.php?file_id=2263&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3190 | [NoesisGUI] Studio | crash | always | 2024-03-19 16:02 | 2024-03-25 22:48 |
Reporter: | dstewart | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | high | OS Version: | |||
Status: | assigned | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Setting a Gauge Spacing Value of '0' Crashes Studio. | ||||
Description: |
Setting the 'Spacing' value of a Gauge crashes Studio. Dump attached. EDIT: This bug is quite serious in that it has the ability to corrupt AutoSaves/Backups, resulting in not being able to open up the project at all without purging the NoesisStudio backups found in \AppData\Roaming\NoesisStudio\Backups |
||||
Tags: | |||||
Steps To Reproduce: |
Repro Steps: 1) Create a new Page 2) Add a RadialTicks Gauge to the Page. 3) In the 'Spacing' value of the Gauge Element, set it to '0' Observe Studio crashing. Expected Results: Values of 0 are gracefully accepted (with no visual result, similar to not setting a no-value Background). |
||||
Additional Information: | |||||
Attached Files: |
20240319_105924.dmp (136,702 bytes) 2024-03-19 16:02 https://www.noesisengine.com/bugs/file_download.php?file_id=2259&type=bug |
||||
Notes | |
(0009339)
dfranjic 2024-03-25 14:44 |
The issue is in the implementation of the Radial Ticks control. Setting the spacing to 0 creates an infinite loop in the code. RadialTicks.cpp @ L164: for (float i = minimum; i <= maximum; i += spacing) Variable "i" never gets increased thus the loop is never exited. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3198 | [NoesisGUI] Studio | minor | have not tried | 2024-03-25 15:14 | 2024-03-25 22:47 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Crash after creating a style inside a DataTemplate | ||||
Description: | As seen here: https://youtu.be/fiL-KMqsvao?feature=shared&t=788 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
StyleInsideDataTemplate.dmp (222,985 bytes) 2024-03-25 15:14 https://www.noesisengine.com/bugs/file_download.php?file_id=2264&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3199 | [NoesisGUI] Studio | minor | have not tried | 2024-03-25 15:16 | 2024-03-25 22:46 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Crash deleting a resource | ||||
Description: | As seen here: https://youtu.be/fiL-KMqsvao?feature=shared&t=962 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
CrashDeletingResource.dmp (195,385 bytes) 2024-03-25 15:16 https://www.noesisengine.com/bugs/file_download.php?file_id=2265&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3200 | [NoesisGUI] Studio | crash | sometimes | 2024-03-25 15:35 | 2024-03-25 22:46 |
Reporter: | dstewart | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Crash Editing EllipseGeometry Clip Transform Properties | ||||
Description: |
I don't have a reliable way to reproduce this one, but this crash occurs in my case, in a scenario where there are 3 Elements: A Grid with an EllipseGeometryClip, containing: A Grid with an EllipseGeometryClip, containing: A Border element. The crash occurs when adjust the Transform values of the two EllipseGeometry Clips. EDIT: I have this narrowed donwn to manipulating the TranslateY Property across both EllipseGeometry clips. Dump Attached |
||||
Tags: | |||||
Steps To Reproduce: | Playing around with all EllipseGeometryClip properties - with a particular emphasis on the Transform controls. | ||||
Additional Information: | |||||
Attached Files: |
20240325_102656.dmp (85,681 bytes) 2024-03-25 15:35 https://www.noesisengine.com/bugs/file_download.php?file_id=2266&type=bug ClipTransformCrash.mp4 (2,047,481 bytes) 2024-03-25 15:35 https://www.noesisengine.com/bugs/file_download.php?file_id=2267&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3179 | [NoesisGUI] Studio | trivial | always | 2024-03-15 16:32 | 2024-03-25 15:17 |
Reporter: | fllorens | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Crash when creating page in a special chacter-named folder | ||||
Description: | A folder with a special character in its name, for example an accent ('ó') , will create a crash when trying to create something inside. | ||||
Tags: | |||||
Steps To Reproduce: |
1. Create a folder and rename it with a special character (ó, à, ç, ñ..) 2. Try to create a page inside |
||||
Additional Information: | |||||
Attached Files: |
NewPage_fromSpecialCharcterFolder.dmp (302,570 bytes) 2024-03-15 16:32 https://www.noesisengine.com/bugs/file_download.php?file_id=2256&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3184 | [NoesisGUI] Studio | minor | always | 2024-03-15 16:49 | 2024-03-25 15:14 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Crash when adding a Tooltip to the viewport | ||||
Description: | Dragging and dropping a tooltip from Add Element panel will crash the Studio | ||||
Tags: | |||||
Steps To Reproduce: |
1. Create page 2. Add Element Panel > Click and drag ToolTip to viewport |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0009342)
dfranjic 2024-03-25 15:14 |
ToolTip can't be directly added to the view. It must be set through the FrameworkElement.ToolTip property... I'm not sure as to how to handle tooltips... This is maybe a topic for a meeting |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3185 | [NoesisGUI] Studio | minor | always | 2024-03-15 16:55 | 2024-03-25 15:11 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Crash when trying to create a ComboBox's SelectionBoxItem template | ||||
Description: | when trying to create a ComboBox's SelectionBoxItem template, the Studio crashes | ||||
Tags: | |||||
Steps To Reproduce: |
1. Create a ComboBox 2. Context Menu > Templates > SelectionBoxItem > Create new |
||||
Additional Information: | |||||
Attached Files: |
SelectionBoxItemTemplate.zip (24,860 bytes) 2024-03-15 16:55 https://www.noesisengine.com/bugs/file_download.php?file_id=2258&type=bug |
||||
Notes | |
(0009341)
dfranjic 2024-03-25 15:11 |
SelectionBoxItemTemplate is a read-only property and thus it can't be modified. It's not shown anymore in the context menu. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3197 | [NoesisGUI] C++ SDK | minor | always | 2024-03-25 14:11 | 2024-03-25 14:12 |
Reporter: | dfranjic | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | RadialTicks has two Width properties | ||||
Description: |
One is FrameworkElement::WidthProperty (width of the element) and the other is RadialTicks::WidthProperty (width of the ticks) Having <RadialTicks Width="300"/> in the XAML code will set the tick width to 300 but element's width (desired behavior) won't be set. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3171 | [NoesisGUI] Studio | major | always | 2024-03-13 13:54 | 2024-03-15 18:53 |
Reporter: | dstewart | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | MediaElements do not render inside of their destination until the page is closed and reopened. | ||||
Description: |
MediaElements do not render on the stage where they are supposed to appear until the document in question is closed, and then re-opened. Video attached. |
||||
Tags: | |||||
Steps To Reproduce: |
Repro Steps: 1) Open a new project, and create a 'Master' page. 2) Create a Component, and place a Video file within it. Observe how the video is not visible on the stage. 3) Close the Component file, then re-open it from the Resources panel Observe how the video now plays within the page. 4) Within the 'Master' page, drag the Component containing the video, onto the stage. Observe how the video is not visible on the stage. 5) Close the Master page, and re-open it via the Resources panel. Observe how the video within the component now displays. Expected Result: All videos are visible and play when they are placed within a stage. |
||||
Additional Information: | |||||
Attached Files: |
MediaElementBug.mp4 (4,145,726 bytes) 2024-03-13 13:54 https://www.noesisengine.com/bugs/file_download.php?file_id=2247&type=bug |
||||
Notes | |
(0009328)
dfranjic 2024-03-14 02:16 |
What Studio version are you using in this video? 0.0.81 or 0.0.82? As this should be fixed in 0.0.82 and I can't seem to reproduce it, but I might be wrong here.. |
(0009330)
dstewart 2024-03-14 10:03 |
Hey Dario, This was 0.81 or below. If you're unable to repro and are confident its fixed, please feel free to mark as Resolved and if it comes up again I'll re-open or create a new one! It appears fixed to me as well from 0.82. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3155 | [NoesisGUI] Studio | crash | always | 2024-03-11 13:22 | 2024-03-15 18:51 |
Reporter: | maherne | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Crash when loading XAML with GlobalResources | ||||
Description: |
When loading resources in GlobalResources, there is a failed assert. Gui.Studio.dll!Editor::ResourceMapper::MapTemplateChildren(Editor::Resource * parent) Line 2264 at C:\Source\Noesis\NoesisEditor\NoesisSDK\Native\Src\Packages\Gui\Studio\Src\ResourceMapper.cpp(2264) Gui.Studio.dll!Editor::ResourceMapper::ProcessResource(Editor::Resource * resource) Line 2415 at C:\Source\Noesis\NoesisEditor\NoesisSDK\Native\Src\Packages\Gui\Studio\Src\ResourceMapper.cpp(2415) Gui.Studio.dll!Editor::ResourceMapper::AddResource(Noesis::BaseComponent * res, const char * key, Noesis::NodeObject * node, Noesis::ResourceDictionary * dict, Noesis::NodeObject * owner, Editor::ProjectFile * file, Editor::ProjectFile * source, bool process) Line 392 at C:\Source\Noesis\NoesisEditor\NoesisSDK\Native\Src\Packages\Gui\Studio\Src\ResourceMapper.cpp(392) Gui.Studio.dll!Editor::ResourceMapper::ProcessDictionary::__l5::<lambda>(const char * key, Noesis::BaseComponent * value) Line 2032 at C:\Source\Noesis\NoesisEditor\NoesisSDK\Native\Src\Packages\Gui\Studio\Src\ResourceMapper.cpp(2032) Gui.Studio.dll!Noesis::DelegateImpl<void __cdecl(char const *,Noesis::BaseComponent *)>::FunctorStub<void <lambda>(const char *, Noesis::BaseComponent *)>::Invoke(const char * && <args_0>, Noesis::BaseComponent * && <args_1>) Line 162 at C:\Source\Noesis\NoesisEditor\NoesisSDK\Native\Src\Packages\Core\Kernel\Include\NsCore\Delegate.inl(162) Gui.Core.dll!Noesis::Delegate<void __cdecl(char const *,Noesis::BaseComponent *)>::operator()(const char * <args_0>, Noesis::BaseComponent * <args_1>) Line 522 at C:\Source\Noesis\NoesisEditor\NoesisSDK\Native\Src\Packages\Core\Kernel\Include\NsCore\Delegate.inl(522) Gui.Core.dll!Noesis::ResourceDictionary::EnumKeyValues(const Noesis::Delegate<void __cdecl(char const *,Noesis::BaseComponent *)> & callback) Line 142 at C:\Source\Noesis\NoesisEditor\NoesisSDK\Native\Src\Packages\Gui\Core\Src\ResourceDictionary.cpp(142) Gui.Studio.dll!Editor::ResourceMapper::ProcessDictionary(Editor::ProjectFile * source, Editor::ProjectFile * file, Noesis::NodeObject * owner, Noesis::ResourceDictionary * dict, Editor::Resource * parent) Line 2030 at C:\Source\Noesis\NoesisEditor\NoesisSDK\Native\Src\Packages\Gui\Studio\Src\ResourceMapper.cpp(2030) Gui.Studio.dll!Editor::ResourceMapper::MapApplicationResources(Editor::ResourceContainerTreeItem * container) Line 273 at C:\Source\Noesis\NoesisEditor\NoesisSDK\Native\Src\Packages\Gui\Studio\Src\ResourceMapper.cpp(273) Gui.Studio.dll!Editor::ResourceMapper::MapApplicationResources() Line 261 at C:\Source\Noesis\NoesisEditor\NoesisSDK\Native\Src\Packages\Gui\Studio\Src\ResourceMapper.cpp(261) Gui.Studio.dll!Editor::Project::Load(const char * projectFile) Line 512 at C:\Source\Noesis\NoesisEditor\NoesisSDK\Native\Src\Packages\Gui\Studio\Src\Project.cpp(512) Gui.Studio.dll!Noesis::Studio::Create(const char * projectPath, const Noesis::Studio::Options & options) Line 192 at C:\Source\Noesis\NoesisEditor\NoesisSDK\Native\Src\Packages\Gui\Studio\Src\Studio.cpp(192) App.StudioTool.exe!StudioTool::MainWindow::LoadProject(const char * projectPath) Line 338 at C:\Source\Noesis\NoesisEditor\NoesisSDK\Native\Src\Packages\App\StudioTool\Src\MainWindow.xaml.cpp(338) |
||||
Tags: | |||||
Steps To Reproduce: |
Open the attached project Open Engineering.xaml |
||||
Additional Information: | |||||
Attached Files: |
UoNEngineering_GlobalResCrash.zip (3,919,105 bytes) 2024-03-11 13:22 https://www.noesisengine.com/bugs/file_download.php?file_id=2235&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3180 | [NoesisGUI] Studio | feature | always | 2024-03-15 16:35 | 2024-03-15 18:51 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Main menu's Exit command should be working | ||||
Description: | Main menu> File> Exit command is not working. Shortcut does work, though. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3186 | [NoesisGUI] Studio | minor | have not tried | 2024-03-15 18:50 | 2024-03-15 18:51 |
Reporter: | dfranjic | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Using {DynamicResource} inside of a Style Setter doesn't update all elements using that Style when updating the resource | ||||
Description: |
When mapping resources, we create a map resource -> style so when the resource is changed all elements using the style can be updated. This works fine using {StaticResource} inside of a Setter.Value, but when using {DynamicResource} the resource can't be linked with a style since we can't Evaluate() the Expression. POSSIBLE SOLUTION: Call ResourceMapper::LinkStyle() only when creating a element -> style map, rather than how it's done now (unrelated to which element it's applied and when). |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3182 | [NoesisGUI] Studio | minor | always | 2024-03-15 16:40 | 2024-03-15 18:36 |
Reporter: | fllorens | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Crash when dragging a rive to a rive | ||||
Description: | Dragging a rive asset from the assets panel to an existing rive in the viewport will crash the Studio. | ||||
Tags: | |||||
Steps To Reproduce: |
1. Import some rive files 2. Drag one into the viewport 3. Now drag another one into the first one |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3181 | [NoesisGUI] Studio | trivial | always | 2024-03-15 16:38 | 2024-03-15 18:36 |
Reporter: | fllorens | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Ctrl+W is showing a wire overlay of the Studio | ||||
Description: | When there's nothing selected, Ctrl+W instead of closing an asset will change the entire rendering of the studio to some kind of wireframe. | ||||
Tags: | |||||
Steps To Reproduce: |
1. Open the studio 2. Press Ctrl+W |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2807 | [NoesisGUI] Studio | trivial | always | 2023-11-02 11:52 | 2024-03-15 18:35 |
Reporter: | fllorens | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Entire studio showing Overdraw helper | ||||
Description: | When hitting Ctrl+Shift+O, the Overdraw debug helper is overlayed over the entire Studio. | ||||
Tags: | |||||
Steps To Reproduce: |
1. open the Studio 2. Hit Ctrl+Shift+O |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3057 | [NoesisGUI] Unreal | minor | always | 2024-02-01 08:24 | 2024-03-14 14:40 |
Reporter: | mprey | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.4 | ||
Target Version: | 3.2.4 | ||||
Platform: | Any | ||||
Summary: | Bound Image Texture Source does not update correctly at runtime | ||||
Description: |
Runtime redrawing of a Texture2D is not correctly recognized by Noesis as a change, even with On Notify Changed (See also https://www.noesisengine.com/forums/viewtopic.php?t=3196) |
||||
Tags: | |||||
Steps To Reproduce: |
1) Bind Image Source of a Image control to a BP Texture2D variable 2) At runtime I overwrite the Texture2D and re-set the BP variable with Notify Changed but Noesis will not recognize the change and update the Image after the first time |
||||
Additional Information: | |||||
Attached Files: |
heightmapBP (1).png (40,453 bytes) 2024-02-01 08:24 https://www.noesisengine.com/bugs/file_download.php?file_id=2130&type=bug TextureStreaming.patch (2,253 bytes) 2024-02-28 23:48 https://www.noesisengine.com/bugs/file_download.php?file_id=2212&type=bug |
||||
Notes | |
(0009150)
hcpizzi 2024-02-01 17:55 |
When you say you're overwriting the Texture2D object, do you mean that it is the same Texture2D object and you're replacing the internal TextureRHI? |
(0009151)
mprey 2024-02-01 18:42 |
That is correct, I am operating on the same object and just calling UpdateResource at the end |
(0009264)
hcpizzi 2024-02-28 23:48 |
Sorry this took so long. Could you please try the attached patch? This fixes a similar issue we have when new texture mip levels are streamed in or out. |
(0009329)
mprey 2024-03-14 04:10 |
Sorry late for response. Yes this works now, thanks! |
(0009331)
hcpizzi 2024-03-14 14:40 |
Brilliant! Marking this as resolved. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3172 | [NoesisGUI] Studio | crash | have not tried | 2024-03-13 14:12 | 2024-03-14 12:46 |
Reporter: | dstewart | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Studio Crashes when Dragging a Second Component to the Stage (that contains Blending Modes) | ||||
Description: |
I'm unsure if this is due to: a) Since Components can only be dragged to the stage, if this is a case of the second component trying to become a child of a first component already present. b) If this is a case where we can't process blending modes set inside of a Component, and not performed at the root where it blends with the background behind it. c) Other. Video and Crash Dump attached. EDIT: After further attempts. This appears to be very potentially related to a Blending Mode used within the Component. |
||||
Tags: | |||||
Steps To Reproduce: |
Repro Steps: 1) Create a new file, and a new 'Master' page 2) Create a Component, inside of which, is a video file. 3) Drag the Component with the Video file onto the stage. 4) Close both the Master, and the Component containing the video file. 5) Re-Open the Master file. The video should now be displaying. 6) Create a second Component. Inside of it, set a couple Grid layers with ImageFills. Set one of the layers to have a Blending Mode of your choice. 7) Return to the Master File, and drag onto the canvas this second Component. Observe how Studio crashes. Expected result: Multiple components can be added to the page without causing a crash. |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3174 | [NoesisGUI] Studio | major | always | 2024-03-13 15:23 | 2024-03-14 12:39 |
Reporter: | dstewart | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Global Dictionary Content Isn't Accessible Within Newly-Created Components | ||||
Description: |
Global Dictionary Colour Resources are not accessible within a newly-created component. This is not solved by merging the GlobalDictionary to the Component either. Video Attached. |
||||
Tags: | |||||
Steps To Reproduce: |
Repro Steps: 1) In a new Project, create a 'Master' page. 2) Create a couple Colors inside the Project's Global Dictionary. 3) Create a new Component. 4) Attempt to apply one of the Global Dictionary Colours to any element within the Component. Observe that none of the Global Dictionary Colours are visible in the Colour Picker. 5) Within the Component, go to the Resources tab, and select the Component. 6) Merge the Global Dictionary to the Component. 7) Open the Colour Picker for an Element within the Component, and attempt to apply a Global Dictionary colour. Observe that none of the Global Dictionary Colours are visible in the Colour Picker. Expected Result: All Global Dictionary Resources are universally-accessible. |
||||
Additional Information: | |||||
Attached Files: |
GlobalResourcesNotAppearing.mp4 (1,172,898 bytes) 2024-03-13 15:23 https://www.noesisengine.com/bugs/file_download.php?file_id=2252&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3175 | [NoesisGUI] Studio | minor | have not tried | 2024-03-13 15:56 | 2024-03-14 12:38 |
Reporter: | dstewart | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Renaming a Component does not Rename them Where They Are Employed | ||||
Description: |
Any Component that is renamed in the central Assets panel, does not also get renamed in instances where it is used, resulting in permanent breakage of the Component Display Image attached. These are supposed to be named the same. |
||||
Tags: | |||||
Steps To Reproduce: |
Repro Steps 1) Create a new 'Master' Page. 2) Create 3 Components (Component_A, Component_B, and Component_C). Fill each with any content (a border will do the trick) 3) Put 'Component_A' onto the Stage of the 'Master' Page 4) Put both 'Component_B' and 'Component_C' inside of 'Component_A'. Ensure that everything is rendering as expected on the main stage of the 'Master' Page. In the Assets Panel, rename 'Component_B' to 'Component_Test'. Observe how within 'Component_A', Component_B no longer displays, and the Element which should contain Component_B is still called '[/Component_B] instead of 'Component_Test'. Expected Result: Renaming a Component in the Assets Panel, renames it in every instance where its used. |
||||
Additional Information: | |||||
Attached Files: |
ComponentsNotRenaming.jpg (182,397 bytes) 2024-03-13 15:56 https://www.noesisengine.com/bugs/file_download.php?file_id=2253&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3177 | [NoesisGUI] Studio | trivial | always | 2024-03-13 18:21 | 2024-03-14 12:35 |
Reporter: | dstewart | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Open Document Tabs Cannot be Re-Ordered | ||||
Description: |
It is currently not possible to re-order tabs of various open Documents in studio. Currently, the only way to set a desired order, is to close all tabs, and re-open them strictly in the order they should appear at the top. |
||||
Tags: | |||||
Steps To Reproduce: |
Repro Steps: 1) Open any Project file. 2) Open multiple XAMLs within the project at once. 3) Attempt to move the position of any of the open tabs. Observe how tabs are not drag-and-droppable. Expected Result: Tabs can be re-ordered at any time. |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3167 | [NoesisGUI] Studio | minor | always | 2024-03-13 12:48 | 2024-03-14 03:35 |
Reporter: | dstewart | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Resources Created in Global Resources do not Immediately Appear in Resources | ||||
Description: | New Global Resources do not appear in the Resources list of their parent unless an other Parent is selected first. | ||||
Tags: | |||||
Steps To Reproduce: |
Repro Steps: 1) Create a new page, in a fresh project. 2) Navigate to the Data panel, and under ApplicationResources, select GlobalResources.xaml 3) With GlobalResources selected, under the Resource Creation panel, type 'Color' and add a new Color. 4) Edit the values of the Color in the right-side properties panel. Observe how Color.001 does not appear in the list of resources. 5) Within the Resources panel, click on the 'Page' under the parentship of the created page. 6) Click back on 'GlobalResources.xaml'. Observe how Color.001 now does appear in the list of resources as expected. Expected Results: Newly-created Global Resources appear in the Resources list at creation. |
||||
Additional Information: | |||||
Attached Files: |
ResourceUpdateBug.mp4 (4,509,136 bytes) 2024-03-13 12:48 https://www.noesisengine.com/bugs/file_download.php?file_id=2242&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3176 | [NoesisGUI] Studio | crash | have not tried | 2024-03-13 16:08 | 2024-03-14 03:22 |
Reporter: | dstewart | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Studio Crashes Clicking on a Component in the Assets Panel | ||||
Description: |
I'm unsure of what exactly caused this, but it occurred directly after the sequence found in this bug: https://www.noesisengine.com/bugs/view.php?id=3175 The file in question can be found here: https://drive.google.com/file/d/1PJFYf-xzMOm3EfS_5fCzabn-7aTqVQwm/view?usp=drive_link To make it crash, simply click on 'Instrument_Compass' in the Assets Panel Video and Dump Attached |
||||
Tags: | |||||
Steps To Reproduce: | Clicked on a Component in the Assets panel. Unsure of repro steps leading up to this otherwise. | ||||
Additional Information: | |||||
Attached Files: |
20240313_093621.dmp (145,726 bytes) 2024-03-13 16:08 https://www.noesisengine.com/bugs/file_download.php?file_id=2254&type=bug ComponentClickCrash.mp4 (5,127,223 bytes) 2024-03-13 16:08 https://www.noesisengine.com/bugs/file_download.php?file_id=2255&type=bug |
||||
Notes | |
(0009327)
dfranjic 2024-03-14 01:25 |
The <Component/> references itself, so the Studio enters in an infinite loop: <Component> <Grid> <Component Source="Instrument_Compass.xaml"/> </Grid> </Component> It would be good if we could show an error (and prevent this from being doable inside of Studio, maybe), rather than crashing... |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3168 | [NoesisGUI] Studio | major | always | 2024-03-13 13:20 | 2024-03-14 02:22 |
Reporter: | dstewart | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | high | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Studio Crashes when Toggling Layer Visibility of Layers within a Component | ||||
Description: |
Within a Component, Studio crashes when toggling layer visibility after selecting a path within it. Videos and Dump attached. |
||||
Tags: | |||||
Steps To Reproduce: |
Repro Steps: 1) Create a Component 2) Import multiple SVGs within the component, each on their own Grid. 3) Create a Storyboard within the Component. 4) Select a path, then click off of it. 5) Toggle the visibility of the Grids containing the SVGs. Observe the application crashing. Expected result: Studio doesn't crash when toggling layer visibility. EDIT: This issue occurs independently of whether you are in Record Mode or not. |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3149 | [NoesisGUI] Studio | minor | always | 2024-03-06 13:41 | 2024-03-14 01:27 |
Reporter: | dstewart | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Certain International Keyboard Key Presses Do Not Register in Input Fields | ||||
Description: |
The following international keyboard keys do not type/register inside of Studio's text fields, and render as empty characters. ' (single quote) " (double quote) ` (apostrophe) ~ (tilde) |
||||
Tags: | |||||
Steps To Reproduce: |
Repro Steps: 1) In Windows, switch your Keyboard to United States - International This can be done by typing "Edit Language and Keyboard Options" in the Start Menu, and clicking on the Start Menu Result wit this name. Then, in the 'Language' section, in the active 'Language' module, click the 3 little dots on the right. (screenshot attached). Then, under the 'Keyboards' section, select 'Add a Keyboard', and select 'United States-International' in the list. Then, ensure this United States-International keyboard is your active Keyboard layout. This can typically be seen in the bottom-of-screen Taskbar (screenshot attached). If ENG INTL is not active, click on the Taskbar shortcut to change it. 2) Verify that the Keyboard is indeed active by opening Notepad and typing the following: ' (Single press of the '/" key + spacebar ) " (Shift+single press of the '/" key + spacebar) ` (Single press of the `/~ key + spacebar) ~ (Shift+single press of the `/~ key + spacebar) 3) Open any project in Studio, and create a TextBlock. 4) In the 'Text' field, repeat the same keyboard presses to render the 4 characters that successfully rendered in Notepad in Step 2. Observe how the Studio textfield does not render the characters asked and renders a blank/space character instead. However, if they are copy-pasted, they render in the field without issue. Expected Results: All characters typed on a keyboard render inside an Input Field |
||||
Additional Information: | |||||
Attached Files: |
LanguageOptions.jpg (61,600 bytes) 2024-03-06 13:41 https://www.noesisengine.com/bugs/file_download.php?file_id=2226&type=bug KeyboardTaskbar.jpg (21,043 bytes) 2024-03-06 13:41 https://www.noesisengine.com/bugs/file_download.php?file_id=2227&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3173 | [NoesisGUI] Studio | crash | always | 2024-03-13 14:34 | 2024-03-13 20:59 |
Reporter: | dstewart | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Studio Crashes when Right-Clicking on a Row Definition containing a Component Containing a MediaElement | ||||
Description: |
Studio crashes when manipulating a parent Grid with Row Definitions in which a Component with a Video is contained. Please refer to this file which has a 100% Crash Repro rate which can be triggered by right-clicking on a 'Screen_Master' Grid Adorner: https://drive.google.com/file/d/1VUKhIYZq4BQc9-Y7LnEvIVoWLOzA_lzK/view?usp=drive_link Crash Dump and Video attached. |
||||
Tags: | |||||
Steps To Reproduce: |
Repro Steps (I don't know about how reliable these are, but this is how it occured for me) 1) Create a new Page ('Master') 2) Create a new Component ('Background'). Add a video file inside it. 3) Create a new Component ('Midground') 4) Add both Components to the 'Master' page, both within the same Grid. Close all open tabs to refresh them. 5) Open the Master, and add 3 rows to the Grid containing both Components. Make each row 1* each. 6) Assign the Background Component to span the top 2 Rows. 7) Play around with the Alignments and dimensions of the Component, randomly click between Alignment modes, and type in a fixed width of 1920. 8) Revert all of the things played with to what they originally were. 9) Right-Click on any of two first row Adorners of the Grid containing both Components (to attempt to delete a row) Observe Studio crashes. Expected Results: Grid Row Definitions can be adjusted at any time without crashing. |
||||
Additional Information: | |||||
Attached Files: |
20240313_092359.dmp (234,527 bytes) 2024-03-13 14:34 https://www.noesisengine.com/bugs/file_download.php?file_id=2250&type=bug GridManipulationCrash.mp4 (1,493,108 bytes) 2024-03-13 14:34 https://www.noesisengine.com/bugs/file_download.php?file_id=2251&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3170 | [NoesisGUI] Studio | minor | always | 2024-03-13 13:46 | 2024-03-13 14:02 |
Reporter: | dstewart | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Media Elements cannot be Dragged to the Navigator | ||||
Description: |
MediaElements cannot be dragged directly to a destination within the Navigator. Currently, they can only be dragged to the Stage. |
||||
Tags: | |||||
Steps To Reproduce: |
Repro Steps: 1) With a Video file inside your project resources, navigate to it in the Resources panel. 2) Attempt to drag the .mp4 file onto any parent element within the Layer Navigator. Observe how it is not permitted to drag. 3) Attempt to drag the .mp4 file onto the stage. Observe how the video is placed in place within a destination layer. Expected Result: MediaElements, like all other types of elements, can be dragged onto a Parent layer in the Navigator. |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3166 | [NoesisGUI] C# SDK | minor | always | 2024-03-13 04:47 | 2024-03-13 12:26 |
Reporter: | Demond | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2.3 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2.4 | ||||
Platform: | Any | ||||
Summary: | Incorrect behavior of inline text when using special characters | ||||
Description: |
I discovered the following behavior of inline text. Special characters block part of the area for clicking on a hyperlink. The example below reproduces this problem. Tested in XamlPlayer v3.2.3 <TextBlock> <Run Text=" ͡ ͡ ͡ ͡ ͡ ͡ ͡ ͡ ͡ ͡ ͡ ͡" /><Hyperlink NavigateUri="https://www.noesisengine.com/">NoesisEngine.com</Hyperlink> </TextBlock> |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0009321)
jsantos 2024-03-13 11:47 |
Thanks for the repro XAML. I understand your scenario is different right? Could you share it here too to understand a bit more what you want to achieve? |
(0009322)
Demond 2024-03-13 12:26 |
I don’t have an example of a layout as such. I was just testing the behavior of RichText, how it would behave with various specific characters. And I noticed that one of the special characters used is not displayed, although using Background="Red" I was able to see that these characters are taking up space. I have a RichText where there may be similar characters and this could become a problem. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2612 | [NoesisGUI] Unity3D | crash | always | 2023-05-29 13:36 | 2024-03-13 09:54 |
Reporter: | nadjibus | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.3 | ||
Target Version: | 3.2.4 | ||||
Platform: | Any | ||||
Summary: | Crash reloading assembly with xaml containing bindings | ||||
Description: | From forum post: https://www.noesisengine.com/forums/viewtopic.php?t=2950 | ||||
Tags: | |||||
Steps To Reproduce: |
<Grid x:Name="NotificationsGrid" Margin="10,20" HorizontalAlignment="Left" VerticalAlignment="Top"> <Grid x:Name="NestedGrid" Visibility="{Binding ObjectivesViewModel.HasObjectives, Converter={StaticResource BoolToVisibilityConverter}}"> </Grid> </Grid> |
||||
Additional Information: |
It happens when using a nested binding: ObjectivesViewModel.HasObjectives |
||||
Attached Files: | |||||
Notes | |
(0008913)
nadjibus 2023-10-31 11:38 |
Update post: https://www.noesisengine.com/forums/viewtopic.php?p=16216#p16216 |
(0009164)
sfernandez 2024-02-06 10:58 |
Hello, For the next version we did some changes that could have fixed this issue but I was never able to reproduce it. Would it be possible for you to prepare a small sample where you can reproduce the crash so we can verify the issue has been solved? Thanks a lot for your help. |
(0009270)
nadjibus 2024-03-05 10:41 |
I will try to create a small sample reproducing the problem, if not I will share my project no problem. |
(0009275)
nadjibus 2024-03-05 18:20 |
OK it seems the issue has been fixed in v3.2.2+ as I can't reproduce it either. |
(0009314)
jsantos 2024-03-12 12:20 |
Thanks for the feedback, can we close this then? |
(0009316)
nadjibus 2024-03-12 19:30 |
Yes I think it's fixed. I'll test more with the provided patch at 0002921 and let you know. |
(0009319)
nadjibus 2024-03-12 20:28 |
Tested with the patched DLL and everything seems to work and no crashes so far! I think you can close the issue and I really wanted to thank you guys for the quick fix I really appreciate it. |
(0009320)
sfernandez 2024-03-13 09:54 |
Thanks for your feedback helping us find the source of the problem! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2921 | [NoesisGUI] Unity3D | crash | sometimes | 2023-12-06 13:04 | 2024-03-12 20:28 |
Reporter: | nadjibus | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2.2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2.4 | ||||
Platform: | Any | ||||
Summary: | Unity Editor Crash during Domain Reload | ||||
Description: |
Unity Editor crashes during domain reload, does not happen always, but it's quite common (2-3 times / day). Full log and dump attached. Unity log: ================================================================= Native Crash Reporting ================================================================= Got a UNKNOWN while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= ================================================================= Managed Stacktrace: ================================================================= at <unknown> <0xffffffff> at Noesis.NoesisGUI_PINVOKE:BaseComponent_Release <0x00089> at Noesis.BaseComponent:Release <0x0002a> at Noesis.Extend:ReleasePending <0x001c2> at Noesis.Extend:Shutdown <0x00aba> at Noesis.Extend:OnDomainUnload <0x00072> at <Module>:invoke_void_object_EventArgs <0x002d4> at System.AppDomain:DoDomainUnload <0x00099> at System.Object:runtime_invoke_void__this__ <0x00087> ================================================================= Received signal SIGSEGV Obtained 126 stack frames 0x00007ffa2eaa8a30 (Noesis) QueryCursorEventArgs_Cursor_get 0x00007ffa2eaa8e27 (Noesis) QueryCursorEventArgs_Cursor_get 0x00007ffa2eaa91af (Noesis) QueryCursorEventArgs_Cursor_get 0x00007ffa2eaa98c1 (Noesis) Noesis_GetPlatformID 0x00007ffa2ebfaf3f (Noesis) Boxed_Point_GetStaticType 0x00007ffa2eb0a07b (Noesis) Color_GetStaticType 0x00007ffa2ea8be74 (Noesis) KeyEventArgs_IsToggled_get 0x00007ffa2ec0dfb5 (Noesis) InertiaExpansionBehavior_DesiredExpansion_get 0x00007ffa2ebfa830 (Noesis) Boxed_Point_GetStaticType 0x00007ffa2eb10791 (Noesis) BindingOperations_GetBindingExpression 0x00007ffa2eb78f25 (Noesis) ItemsChangedEventArgs_ItemCount_get 0x00007ffa2eb142d8 (Noesis) BindingOperations_SetBinding 0x00007ffa2eb0b735 (Noesis) Color_GetStaticType 0x00007ffa2eb107b6 (Noesis) BindingOperations_GetBindingExpression 0x00007ffa2eb78f25 (Noesis) ItemsChangedEventArgs_ItemCount_get 0x00007ffa2eb142d8 (Noesis) BindingOperations_SetBinding 0x00007ffa2eb0b735 (Noesis) Color_GetStaticType 0x00007ffa2eb107b6 (Noesis) BindingOperations_GetBindingExpression 0x00007ffa2eacf22a (Noesis) Boxed_Rect_GetStaticType 0x00007ffa2eac77a5 (Noesis) DataObjectPastingEventArgs_GetDataObjectHelper 0x00007ffa2eb142d8 (Noesis) BindingOperations_SetBinding 0x00007ffa2eb1446f (Noesis) BindingOperations_SetBinding 0x00007ffa2eb0cd11 (Noesis) Color_GetStaticType 0x00007ffa2eb10f6d (Noesis) BindingOperations_GetBindingExpression 0x00007ffa2ec0ea3b (Noesis) InertiaExpansionBehavior_DesiredExpansion_get 0x00007ffa2eb11bf5 (Noesis) BindingOperations_SetBinding 0x00007ffa2eac877b (Noesis) DataObjectPastingEventArgs_GetDataObjectHelper 0x00007ffa2eac8a63 (Noesis) DataObjectPastingEventArgs_GetDataObjectHelper 0x00007ffa2ea8bc96 (Noesis) KeyEventArgs_IsToggled_get 0x00007ffa2ea8b6da (Noesis) String_GetStaticType 0x00007ffa2eb09949 (Noesis) Color_GetStaticType 0x00007ffa2ec646a2 (Noesis) Rect_GetStaticType 0x00007ffa2eac87d8 (Noesis) DataObjectPastingEventArgs_GetDataObjectHelper 0x00007ffa2eb1036f (Noesis) BindingOperations_GetBindingExpression 0x00007ffa2eb108dd (Noesis) BindingOperations_GetBindingExpression 0x00007ffa2eac8a35 (Noesis) DataObjectPastingEventArgs_GetDataObjectHelper 0x00007ffa2ea8bc96 (Noesis) KeyEventArgs_IsToggled_get 0x00007ffa2ea8b6da (Noesis) String_GetStaticType 0x00007ffa2eb09949 (Noesis) Color_GetStaticType 0x00007ffa2eb0bae6 (Noesis) Color_GetStaticType 0x00007ffa2eac8769 (Noesis) DataObjectPastingEventArgs_GetDataObjectHelper 0x00007ffa2eac8a63 (Noesis) DataObjectPastingEventArgs_GetDataObjectHelper 0x00007ffa2ea8bc96 (Noesis) KeyEventArgs_IsToggled_get 0x00007ffa2ea8b6da (Noesis) String_GetStaticType 0x00007ffa2eab27ba (Noesis) Thickness_GetStaticType 0x00007ffa2ea8ebb9 (Noesis) KeyEventArgs_IsToggled_get 0x00007ffa2ea8b23d (Noesis) String_GetStaticType 0x00007ffa2ea8adc6 (Noesis) String_GetStaticType 0x00007ffa2ea8b789 (Noesis) String_GetStaticType 0x00007ffa2ebc93ee (Noesis) Boxed_Point_GetStaticType 0x00007ffa2eabff53 (Noesis) ManipulationDeltaEventArgs_Velocities_get 0x00007ffa2ea8be85 (Noesis) KeyEventArgs_IsToggled_get 0x00007ffa2ec0dfb5 (Noesis) InertiaExpansionBehavior_DesiredExpansion_get 0x00007ffa2ebfa830 (Noesis) Boxed_Point_GetStaticType 0x00007ffa2eb10791 (Noesis) BindingOperations_GetBindingExpression 0x00007ffa2eacf22a (Noesis) Boxed_Rect_GetStaticType 0x00007ffa2eac77a5 (Noesis) DataObjectPastingEventArgs_GetDataObjectHelper 0x00007ffa2ea8bc96 (Noesis) KeyEventArgs_IsToggled_get 0x00007ffa2ea8b6da (Noesis) String_GetStaticType 0x00007ffa2ec32d1f (Noesis) UIElement_InvalidateMeasure 0x00007ffa2ea8b10c (Noesis) String_GetStaticType 0x00007ffa2ea8adc6 (Noesis) String_GetStaticType 0x00007ffa2ea8b789 (Noesis) String_GetStaticType 0x00007ffa2eaa9257 (Noesis) QueryCursorEventArgs_Cursor_get 0x00007ffa2ebfaf3f (Noesis) Boxed_Point_GetStaticType 0x00007ffa2eb0a07b (Noesis) Color_GetStaticType 0x00007ffa2ea8be74 (Noesis) KeyEventArgs_IsToggled_get 0x00007ffa2ec0dfb5 (Noesis) InertiaExpansionBehavior_DesiredExpansion_get 0x00007ffa2ebfa830 (Noesis) Boxed_Point_GetStaticType 0x00007ffa2eb10791 (Noesis) BindingOperations_GetBindingExpression 0x00007ffa2eacf22a (Noesis) Boxed_Rect_GetStaticType 0x00007ffa2eac77a5 (Noesis) DataObjectPastingEventArgs_GetDataObjectHelper 0x00007ffa2ea8bc96 (Noesis) KeyEventArgs_IsToggled_get 0x00007ffa2ea8b6da (Noesis) String_GetStaticType 0x00007ffa2ec32d1f (Noesis) UIElement_InvalidateMeasure 0x00007ffa2eb142ac (Noesis) BindingOperations_SetBinding 0x00007ffa2eb0b735 (Noesis) Color_GetStaticType 0x00007ffa2eb107b6 (Noesis) BindingOperations_GetBindingExpression 0x00007ffa2eb78f25 (Noesis) ItemsChangedEventArgs_ItemCount_get 0x00007ffa2eb142d8 (Noesis) BindingOperations_SetBinding 0x00007ffa2eb1446f (Noesis) BindingOperations_SetBinding 0x00007ffa2eb0cd11 (Noesis) Color_GetStaticType 0x00007ffa2eb111e8 (Noesis) BindingOperations_GetBindingExpression 0x00007ffa2eac76e8 (Noesis) DataObjectPastingEventArgs_GetDataObjectHelper 0x00007ffa2eac77df (Noesis) DataObjectPastingEventArgs_GetDataObjectHelper 0x00007ffa2ea8bc96 (Noesis) KeyEventArgs_IsToggled_get 0x00007ffa2ea8b6da (Noesis) String_GetStaticType 0x00007ffa2eb09949 (Noesis) Color_GetStaticType 0x00007ffa2ec646a2 (Noesis) Rect_GetStaticType 0x00007ffa2eac7778 (Noesis) DataObjectPastingEventArgs_GetDataObjectHelper 0x00007ffa2ecbd710 (Noesis) SizeChangedInfo_PreviousSize_get 0x00007ffa2eada014 (Noesis) Int32Rect_GetStaticType 0x00007ffa2ea930d4 (Noesis) KeyEventArgs_IsToggled_get 0x00007ffa2ec009a7 (Noesis) Boxed_Point_GetStaticType 0x00007ffa2ec00c54 (Noesis) Boxed_Point_GetStaticType 0x00007ffa2ea8be3b (Noesis) KeyEventArgs_IsToggled_get 0x00007ffa2ec00aef (Noesis) Boxed_Point_GetStaticType 0x00007ffa2ec00ca4 (Noesis) Boxed_Point_GetStaticType 0x00007ffa2ea72493 (Noesis) BaseComponent_GetStaticType 0x0000028677b5a12a (Mono JIT Code) (wrapper managed-to-native) Noesis.NoesisGUI_PINVOKE:BaseComponent_Release (intptr) 0x0000028677b59f9b (Mono JIT Code) Noesis.BaseComponent:Release (intptr) (at ./Noesis/Runtime/API/Proxies/BaseComponent.cs:66) 0x00000286c3e1afd3 (Mono JIT Code) Noesis.Extend:ReleasePending () (at ./Noesis/Runtime/API/Core/Extend.cs:6109) 0x00000286e8e4c13b (Mono JIT Code) Noesis.Extend:Shutdown () (at ./Noesis/Runtime/API/Core/Extend.cs:86) 0x00000286e8e4b613 (Mono JIT Code) Noesis.Extend:OnDomainUnload (object,System.EventArgs) (at ./Noesis/Runtime/API/Core/Extend.cs:38) 0x00000286e8e42e55 (Mono JIT Code) (wrapper delegate-invoke) <Module>:invoke_void_object_EventArgs (object,System.EventArgs) 0x00000286e8e42b1a (Mono JIT Code) System.AppDomain:DoDomainUnload () 0x00000285bfeef0c8 (Mono JIT Code) (wrapper runtime-invoke) object:runtime_invoke_void__this__ (object,intptr,intptr,intptr) 0x00007ffa2e034b6e (mono-2.0-bdwgc) mono_jit_runtime_invoke (at C:/build/output/Unity-Technologies/mono/mono/mini/mini-runtime.c:3445) 0x00007ffa2df6d204 (mono-2.0-bdwgc) do_runtime_invoke (at C:/build/output/Unity-Technologies/mono/mono/metadata/object.c:3066) 0x00007ffa2de446d5 (mono-2.0-bdwgc) mono_domain_try_unload (at C:/build/output/Unity-Technologies/mono/mono/metadata/appdomain.c:3485) 0x00007ffa2e01df1a (mono-2.0-bdwgc) mono_unity_domain_unload (at C:/build/output/Unity-Technologies/mono/mono/metadata/unity-utils.c:765) 0x00007ff7ac8a7870 (Unity) UnloadDomain 0x00007ff7ac8977db (Unity) MonoManager::CreateAndSetChildDomain 0x00007ff7ac89634c (Unity) MonoManager::BeginReloadAssembly 0x00007ff7ac8a1408 (Unity) MonoManager::ReloadAssembly 0x00007ff7ad83f89d (Unity) Internal_ADB_Only_ReloadAllUsedAssemblies 0x00007ff7adcf629a (Unity) DomainReloadIfAllowed 0x00007ff7adcf43eb (Unity) CompileAndDomainReload 0x00007ff7add12f82 (Unity) RefreshInternalV2 0x00007ff7add1b1df (Unity) StopAssetImportingV2Internal 0x00007ff7ad523911 (Unity) Application::TickTimer 0x00007ff7ad99d26a (Unity) MainMessageLoop 0x00007ff7ad9a2ad0 (Unity) WinMain 0x00007ff7aed861be (Unity) __scrt_common_main_seh 0x00007ffaa1887344 (KERNEL32) BaseThreadInitThunk 0x00007ffaa38626b1 (ntdll) RtlUserThreadStart |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
crash.dmp (2,471,863 bytes) 2023-12-06 13:04 https://www.noesisengine.com/bugs/file_download.php?file_id=2041&type=bug Editor.log (877,756 bytes) 2023-12-06 13:04 https://www.noesisengine.com/bugs/file_download.php?file_id=2042&type=bug EventsShutdownReset.patch (9,143 bytes) 2024-03-08 11:56 https://www.noesisengine.com/bugs/file_download.php?file_id=2232&type=bug crash-2.dmp (1,373,854 bytes) 2024-03-08 19:05 https://www.noesisengine.com/bugs/file_download.php?file_id=2233&type=bug Editor-2.log (77,541 bytes) 2024-03-08 19:05 https://www.noesisengine.com/bugs/file_download.php?file_id=2234&type=bug |
||||
Notes | |
(0009273)
nadjibus 2024-03-05 18:05 |
Check https://www.noesisengine.com/bugs/view.php?id=3136#c9272 for a sample project + steps to reproduce. |
(0009276)
sfernandez 2024-03-05 18:44 |
Thanks a lot for the repro project, I'll let you know what I can find. |
(0009299)
sfernandez 2024-03-08 11:56 |
This crash seems to be resolved with something we fixed for 3.2.3. I included the patch here (you need to apply the changes to NoesisGUI 3.2.2 version). |
(0009302)
nadjibus 2024-03-08 12:49 |
I applied the patch but unfortunately the crash still happens. As I stated in the reproduction steps, it does not happen at the first run, but a the 2nd (Play -> Stop -> Play -> Edit MainView.xaml -> Crash). |
(0009303)
sfernandez 2024-03-08 16:00 |
Yes, that is what I did. I have your sample project with the patch applied and I'm not able to crash it by doing: Play > Stop > Play > Change MainWindow.xaml > Back to Unity And even doing Play/Stop more times. Is it crashing for you in the sample project, or in your complete project? |
(0009304)
nadjibus 2024-03-08 17:02 |
Yes, it's crashing in the sample project. Here's a screen recording: https://drive.google.com/file/d/17OUACfOXbKvguECqwD4NQrWpA-gL5g_s/view?usp=drive_link Did you manage to reproduce the crash without the patch? |
(0009306)
sfernandez 2024-03-08 17:41 |
Yes, without the patch it crashed, and I'm doing exactly the same as you showed in the video. Could you please send me the crash dump with the patch applied? Just to confirm is the same thing I was seeing. |
(0009307)
nadjibus 2024-03-08 19:05 |
OK |
(0009308)
nadjibus 2024-03-08 20:32 (Last edited: 2024-03-08 20:35) |
Just to let you know, I don't know if this changes anything, I applied the patch provided in https://www.noesisengine.com/bugs/view.php?id=3136 I'm updating to Noesis 3.2.3 and let you know if it sill happens. |
(0009309)
nadjibus 2024-03-08 20:43 |
I can confirm that the crash does not happen in v3.2.3. But unfortunately we cannot update since crash 0003136 happens in v3.2.3, unless you provide a patched version including the fix for it. |
(0009310)
sfernandez 2024-03-11 11:15 |
I generated a patched 3.2.3 library for issue 3136: https://drive.google.com/file/d/1awpvV059eVlotvAejQaIsGlt-7VBcph_/view?usp=sharing Please let me know if this works for you. |
(0009315)
jsantos 2024-03-12 12:21 |
can we close this? |
(0009317)
nadjibus 2024-03-12 19:30 |
I will test and let you know if we can close this issue and 0002612 |
(0009318)
nadjibus 2024-03-12 20:28 |
Tested with the patched DLL and everything seems to work and no crashes so far! I think you can close the issue and I really wanted to thank you guys for the quick fix I really appreciate it. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3159 | [NoesisGUI] Studio | crash | always | 2024-03-11 14:04 | 2024-03-12 18:27 |
Reporter: | maherne | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Crash when generating random data for complex dynamic type | ||||
Description: |
When generating random values for a complex type, an assert is hit. Gui.Studio.dll!Noesis::Ptr<Noesis::BaseObservableCollection>::operator->() Line 195 at C:\Source\Noesis\NoesisEditor\NoesisSDK\Native\Src\Packages\Core\Kernel\Include\NsCore\Ptr.inl(195) Gui.Studio.dll!Editor::Helper::FillDynamicObject(Editor::Project * proj, Editor::DynamicObject * obj, Noesis::NodeObject * objNode, int depth, Editor::TextEditor * txt, Noesis::Vector<Editor::IMemento *,0> & mementos) Line 2213 at C:\Source\Noesis\NoesisEditor\NoesisSDK\Native\Src\Packages\Gui\Studio\Src\Helper.cpp(2213) Gui.Studio.dll!Editor::Helper::FillDynamicObject(Editor::Project * proj, Editor::DynamicObject * obj, Noesis::NodeObject * objNode, int depth, Editor::TextEditor * txt, Noesis::Vector<Editor::IMemento *,0> & mementos) Line 2243 at C:\Source\Noesis\NoesisEditor\NoesisSDK\Native\Src\Packages\Gui\Studio\Src\Helper.cpp(2243) Gui.Studio.dll!Editor::Helper::FillDynamicObject(Editor::Project * proj, Editor::DynamicObject * obj, Noesis::NodeObject * objNode, int depth, Editor::TextEditor * txt, Noesis::Vector<Editor::IMemento *,0> & mementos) Line 2175 at C:\Source\Noesis\NoesisEditor\NoesisSDK\Native\Src\Packages\Gui\Studio\Src\Helper.cpp(2175) Gui.Studio.dll!Editor::GenerateDataContextCommand::Execute() Line 68 at C:\Source\Noesis\NoesisEditor\NoesisSDK\Native\Src\Packages\Gui\Studio\Src\GenerateDataContextCommand.cpp(68) Gui.Studio.dll!Editor::DataContextTreeItem::Generate(Noesis::BaseComponent * __formal) Line 224 at C:\Source\Noesis\NoesisEditor\NoesisSDK\Native\Src\Packages\Gui\Studio\Src\DataContextTreeItem.cpp(224) Gui.Studio.dll!Noesis::DelegateImpl<void __cdecl(Noesis::BaseComponent *)>::MemberFuncStub<Editor::DataContextTreeItem,void (__cdecl Editor::DataContextTreeItem::*)(Noesis::BaseComponent *)>::Invoke(Noesis::BaseComponent * && <args_0>) Line 202 at C:\Source\Noesis\NoesisEditor\NoesisSDK\Native\Src\Packages\Core\Kernel\Include\NsCore\Delegate.inl(202) App.ApplicationLauncher.dll!Noesis::Delegate<void __cdecl(Noesis::BaseComponent *)>::operator()(Noesis::BaseComponent * <args_0>) Line 522 at C:\Source\Noesis\NoesisEditor\NoesisSDK\Native\Src\Packages\Core\Kernel\Include\NsCore\Delegate.inl(522) App.ApplicationLauncher.dll!NoesisApp::DelegateCommand::Execute(Noesis::BaseComponent * param) Line 52 at C:\Source\Noesis\NoesisEditor\NoesisSDK\Native\Src\Packages\App\ApplicationLauncher\Src\DelegateCommand.cpp(52) Gui.Core.dll!Noesis::CommandHelper::ExecuteCommand(const Noesis::ICommandSource * source, Noesis::UIElement * target) Line 317 at C:\Source\Noesis\NoesisEditor\NoesisSDK\Native\Src\Packages\Gui\Core\Src\CommandHelper.cpp(317) Gui.Core.dll!Noesis::BaseButton::OnClick() Line 424 at C:\Source\Noesis\NoesisEditor\NoesisSDK\Native\Src\Packages\Gui\Core\Src\BaseButton.cpp(424) |
||||
Tags: | |||||
Steps To Reproduce: |
Open the attached project Create a page Go to the Data panel Assign ShipViewModel to the Page Click the generate random values button |
||||
Additional Information: | |||||
Attached Files: |
UoNEngineering_DataGenFail.zip (1,245 bytes) 2024-03-11 14:05 https://www.noesisengine.com/bugs/file_download.php?file_id=2237&type=bug |
||||
Notes | |
(0009312)
maherne 2024-03-11 14:05 |
Project. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3156 | [NoesisGUI] Studio | minor | always | 2024-03-11 13:29 | 2024-03-12 16:01 |
Reporter: | maherne | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | ResourceDictionary fails to merge in Studio | ||||
Description: | A merged dictionary in the root Page of my XAML documents fails in Studio, the resources are used in the view, but are not recognised by Studio. Editing the document fails as it cannot find any of the resources in the merged dictionary. | ||||
Tags: | |||||
Steps To Reproduce: |
Open the attached project Open Engineering.xaml Go to the Resources panel, no merged dictionary is shown for the Page resources Try to edit Engineering.xaml, validation will fail |
||||
Additional Information: | |||||
Attached Files: |
UoNEngineering_ResMergeFail.zip (4,749,630 bytes) 2024-03-11 13:29 https://www.noesisengine.com/bugs/file_download.php?file_id=2236&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3157 | [NoesisGUI] Studio | crash | always | 2024-03-11 13:38 | 2024-03-11 15:29 |
Reporter: | maherne | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Crash when trying to create a binding in a Style | ||||
Description: |
When trying to create a binding for a property in a Style, Studio locks up (infinite loop?). When creating a binding for a ItemsControl ItemSource, or a ControlControl Content, an assert is hit: Gui.DependencySystem.dll!Noesis::HashMapImpl<Noesis::HashBucket_KV<Noesis::DependencyProperty const *,Noesis::StoredValue *,Noesis::HashKeyInfo<Noesis::DependencyProperty const *>>>::FindBucket<Noesis::DependencyProperty const *>(unsigned int hash, const Noesis::DependencyProperty * const & key) Line 792 at C:\Source\Noesis\NoesisEditor\NoesisSDK\Native\Src\Packages\Core\NSTL\Include\NsCore\HashMap.inl(792) Gui.DependencySystem.dll!Noesis::HashMapImpl<Noesis::HashBucket_KV<Noesis::DependencyProperty const *,Noesis::StoredValue *,Noesis::HashKeyInfo<Noesis::DependencyProperty const *>>>::FindBucket<Noesis::DependencyProperty const *>(unsigned int hash, const Noesis::DependencyProperty * const & key) Line 822 at C:\Source\Noesis\NoesisEditor\NoesisSDK\Native\Src\Packages\Core\NSTL\Include\NsCore\HashMap.inl(822) Gui.DependencySystem.dll!Noesis::HashMapImpl<Noesis::HashBucket_KV<Noesis::DependencyProperty const *,Noesis::StoredValue *,Noesis::HashKeyInfo<Noesis::DependencyProperty const *>>>::Find<Noesis::DependencyProperty const *>(const Noesis::DependencyProperty * const & key) Line 430 at C:\Source\Noesis\NoesisEditor\NoesisSDK\Native\Src\Packages\Core\NSTL\Include\NsCore\HashMap.inl(430) Gui.DependencySystem.dll!Noesis::DependencyObject::InternalGetValue(const Noesis::DependencyProperty * dp, unsigned int sizeOfT) Line 1221 at C:\Source\Noesis\NoesisEditor\NoesisSDK\Native\Src\Packages\Gui\DependencySystem\Src\DependencyObject.cpp(1221) Gui.Core.dll!Noesis::DependencyObject::GetValue<Noesis::Ptr<Noesis::BaseComponent>>(const Noesis::DependencyProperty * dp) Line 46 at C:\Source\Noesis\NoesisEditor\NoesisSDK\Native\Src\Packages\Gui\DependencySystem\Include\NsGui\DependencyObject.inl(46) Gui.Core.dll!Noesis::ValueStorageManagerImpl<Noesis::Ptr<Noesis::BaseComponent>>::GetValue(const Noesis::DependencyObject * dob, const Noesis::DependencyProperty * dp) Line 181 at C:\Source\Noesis\NoesisEditor\NoesisSDK\Native\Src\Packages\Gui\DependencySystem\Include\NsGui\ValueStorageManagerImpl.inl(181) Gui.DependencySystem.dll!Noesis::DependencyProperty::GetValueObject(const Noesis::DependencyObject * obj) Line 186 at C:\Source\Noesis\NoesisEditor\NoesisSDK\Native\Src\Packages\Gui\DependencySystem\Include\NsGui\DependencyProperty.inl(186) Gui.DependencySystem.dll!Noesis::DependencyObject::GetValueObject(const Noesis::DependencyProperty * dp) Line 139 at C:\Source\Noesis\NoesisEditor\NoesisSDK\Native\Src\Packages\Gui\DependencySystem\Src\DependencyObject.cpp(139) Gui.Studio.dll!Editor::UpdatePropertyBindingCommand::Execute() Line 64 at C:\Source\Noesis\NoesisEditor\NoesisSDK\Native\Src\Packages\Gui\Studio\Src\UpdatePropertyBindingCommand.cpp(64) Gui.Studio.dll!Editor::Property::CreateExpression(Noesis::BaseComponent * param) Line 1018 at C:\Source\Noesis\NoesisEditor\NoesisSDK\Native\Src\Packages\Gui\Studio\Src\Property.cpp(1018) Gui.Studio.dll!Noesis::DelegateImpl<void __cdecl(Noesis::BaseComponent *)>::MemberFuncStub<Editor::Property,void (__cdecl Editor::Property::*)(Noesis::BaseComponent *)>::Invoke(Noesis::BaseComponent * && <args_0>) Line 202 at C:\Source\Noesis\NoesisEditor\NoesisSDK\Native\Src\Packages\Core\Kernel\Include\NsCore\Delegate.inl(202) App.ApplicationLauncher.dll!Noesis::Delegate<void __cdecl(Noesis::BaseComponent *)>::operator()(Noesis::BaseComponent * <args_0>) Line 522 at C:\Source\Noesis\NoesisEditor\NoesisSDK\Native\Src\Packages\Core\Kernel\Include\NsCore\Delegate.inl(522) App.ApplicationLauncher.dll!NoesisApp::DelegateCommand::Execute(Noesis::BaseComponent * param) Line 52 at C:\Source\Noesis\NoesisEditor\NoesisSDK\Native\Src\Packages\App\ApplicationLauncher\Src\DelegateCommand.cpp(52) Gui.Core.dll!Noesis::CommandHelper::ExecuteCommand(const Noesis::ICommandSource * source, Noesis::UIElement * target) Line 317 at C:\Source\Noesis\NoesisEditor\NoesisSDK\Native\Src\Packages\Gui\Core\Src\CommandHelper.cpp(317) Gui.Core.dll!Noesis::BaseButton::OnClick() Line 424 at C:\Source\Noesis\NoesisEditor\NoesisSDK\Native\Src\Packages\Gui\Core\Src\BaseButton.cpp(424) Gui.Core.dll!Noesis::Button::OnClick() Line 66 at C:\Source\Noesis\NoesisEditor\NoesisSDK\Native\Src\Packages\Gui\Core\Src\Button.cpp(66) |
||||
Tags: | |||||
Steps To Reproduce: |
Create a new Page Add a Button Create a Style Create a binding for a property |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3158 | [NoesisGUI] Studio | minor | always | 2024-03-11 13:41 | 2024-03-11 15:29 |
Reporter: | maherne | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Properties panel design time data editor does not scroll | ||||
Description: | When editing the data of a design time viewmodel, the Properties panel does not scroll if the contents overflow the panel. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3162 | [NoesisGUI] Studio | crash | always | 2024-03-11 14:29 | 2024-03-11 15:28 |
Reporter: | maherne | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Crash when changing a property of a Dynamic Type from a value type to an object type, when used in a collection | ||||
Description: | See steps to reproduce. | ||||
Tags: | |||||
Steps To Reproduce: |
Open the attached project Create a Page Go to Data panel Assign an EngineeringViewModel to the Page Add any item to the Systems collection Go to the SystemViewModel dynamic type and change the Name property Type from String to an object (any SubType) Click on the Page EngineeringViewModel data set Click on the previously created Systems entry |
||||
Additional Information: | |||||
Attached Files: |
UoNEngineering_DataEditFail.zip (1,249 bytes) 2024-03-11 14:29 https://www.noesisengine.com/bugs/file_download.php?file_id=2238&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3163 | [NoesisGUI] Studio | minor | have not tried | 2024-03-11 14:53 | 2024-03-11 15:28 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Crash when changing keyframe value in the properties panel | ||||
Description: | As seen here: https://youtu.be/h6Q7OWI1eO4?feature=shared&t=3435 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
Adding_Keyframe.dmp (252,924 bytes) 2024-03-11 14:53 https://www.noesisengine.com/bugs/file_download.php?file_id=2239&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3164 | [NoesisGUI] Studio | minor | have not tried | 2024-03-11 14:55 | 2024-03-11 15:27 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Crash duplicating a selection of keyframes | ||||
Description: | Shown here: https://youtu.be/h6Q7OWI1eO4?feature=shared&t=3544 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
Duplicating_Keyframes.dmp (261,620 bytes) 2024-03-11 14:55 https://www.noesisengine.com/bugs/file_download.php?file_id=2240&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3165 | [NoesisGUI] Studio | minor | have not tried | 2024-03-11 14:57 | 2024-03-11 15:27 |
Reporter: | fllorens | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Weird number and crash when changing Saturation effect value | ||||
Description: | As seen here: https://youtu.be/h6Q7OWI1eO4?feature=shared&t=4063 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
Changing_effect_Value.dmp (275,620 bytes) 2024-03-11 14:57 https://www.noesisengine.com/bugs/file_download.php?file_id=2241&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3138 | [NoesisGUI] Studio | minor | have not tried | 2024-03-05 10:53 | 2024-03-08 12:31 |
Reporter: | fllorens | Platform: | |||
Assigned To: | maherne | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Crash when reordering element | ||||
Description: |
As seen here: https://youtu.be/V8Wa9-UFoVc?feature=shared&t=2382 Trying to reorder an ItemsControl dragging it in the navigator panel |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
ReorderingItemsControl.dmp (258,400 bytes) 2024-03-05 10:53 https://www.noesisengine.com/bugs/file_download.php?file_id=2220&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3136 | [NoesisGUI] Unity3D | crash | always | 2024-03-04 19:14 | 2024-03-08 12:28 |
Reporter: | nadjibus | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.4 | ||
Target Version: | 3.2.4 | ||||
Platform: | Any | ||||
Summary: | Unity Editor crash | ||||
Description: | Upon displaying a relatively complex View, Unity Editor crashes. Attached the dump file + log. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
crash.dmp (2,197,232 bytes) 2024-03-04 19:14 https://www.noesisengine.com/bugs/file_download.php?file_id=2217&type=bug Editor.log (405,879 bytes) 2024-03-04 19:14 https://www.noesisengine.com/bugs/file_download.php?file_id=2218&type=bug |
||||
Notes | |
(0009298)
sfernandez 2024-03-08 10:58 |
Fixed 3136, there was a problem with the ImageSourceConverter used in the binding. Please test it with this patched library: https://drive.google.com/file/d/1yNS7dlMrs-2qSTpPT7bQDLTQ3SYoWQd1/view?usp=sharing |
(0009301)
nadjibus 2024-03-08 12:12 |
I confirm that it does not crash anymore with this patch! great work and thank you so much for the quick fix! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3150 | [NoesisGUI] Studio | crash | always | 2024-03-06 14:05 | 2024-03-08 11:29 |
Reporter: | dstewart | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Pressing Ctrl+W Whilst Inside of an Empty Active TextField Crashes Studio | ||||
Description: |
Closing a XAML Window using the Ctrl+W keyboard shortcut, whilst inside of an empty active text field crashes the application. Dump attached. |
||||
Tags: | |||||
Steps To Reproduce: |
Repro Steps: 1) Within Studio, create a TextBlock. 2) Fill the 'Text' field of the TextBlock with any text you desire. ("Hello" for example). 3) Click off of the TextBlock's text field to set the text. 4) Click back on the TextBlock's text field, which will automatically select the entire previously-typed text string. 5) Press Backspace to delete the text within, but do not click outside of the field (keep the input field 'active', as visible by a blue outline around it, and a blinking text cursor within it) 6) Without moving the mouse, or clicking anywhere else, press Ctrl+W on the keyboard. Observe how the application crashes. Expected Result: Pressing Ctrl+W after a field has been cleared should either: A) Set the field as 'blank' before attempting to close the XAML Window (it should have a confirmation asking to save, similar to if you pressed the 'x' on the window to close it after making a change. B) Function similarly to pressing 'Escape' - as in, reverting the field to its previous value, then attempting to close the XAML Window (and it should also present a Save confirmation modal if changes have been made since the last save) I'm personally more tempted to go for B), but potentially to be discussed. |
||||
Additional Information: | |||||
Attached Files: |
20240306_075602.dmp (189,844 bytes) 2024-03-06 14:05 https://www.noesisengine.com/bugs/file_download.php?file_id=2228&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2763 | [NoesisGUI] Studio | minor | always | 2023-10-24 14:02 | 2024-03-07 18:07 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Resource panel not updating when moving resources around | ||||
Description: | As shown here https://youtu.be/v3ZB3N6p970?feature=shared&t=198 a newly created resource dictionary shows nothing when a resource is moved there. | ||||
Tags: | |||||
Steps To Reproduce: |
1. in a page with at least one resource, go to resources panel 2. Create dictionary with the page's plus icon 3. Move a resource to the newly created dictionary 4. Click in the resource dictionary to inspect it. |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3139 | [NoesisGUI] Studio | minor | have not tried | 2024-03-05 11:04 | 2024-03-07 17:54 |
Reporter: | fllorens | Platform: | |||
Assigned To: | maherne | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Crash when selecting an ImageSource | ||||
Description: |
As shown here: https://youtu.be/V8Wa9-UFoVc?feature=shared&t=635 Just expanding the ImageSource combobx in the brush editor and trying to select an image |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
SelectingImageSource.zip (36,207 bytes) 2024-03-05 11:04 https://www.noesisengine.com/bugs/file_download.php?file_id=2221&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3079 | [NoesisGUI] Studio | minor | have not tried | 2024-02-12 15:34 | 2024-03-06 22:50 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Merging resource dictionary while editing template crashes the Studio | ||||
Description: | As seen here: https://youtu.be/NIlOeJELuhQ?feature=shared&t=547 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
MergingDictionary.dmp (272,861 bytes) 2024-02-12 15:34 https://www.noesisengine.com/bugs/file_download.php?file_id=2160&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3147 | [NoesisGUI] Studio | minor | always | 2024-03-05 18:19 | 2024-03-06 21:25 |
Reporter: | jsantos | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Renaming assets shouldn't not select the extension | ||||
Description: |
When clicking on an asset to change its name, the whole name including the extension is selected. The extension must not be selected. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3152 | [NoesisGUI] Studio | minor | always | 2024-03-06 16:58 | 2024-03-06 21:13 |
Reporter: | fllorens | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Viewport elements can't be selected after merge dictionary | ||||
Description: | As seen here for example: https://youtu.be/1d4vVbNXPxY?feature=shared&t=57 | ||||
Tags: | |||||
Steps To Reproduce: |
1. Create a new page 2. In the Resources panel create a new dictionary 3. try to select the page's grid, for example |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3083 | [NoesisGUI] Studio | minor | have not tried | 2024-02-13 13:28 | 2024-03-06 21:13 |
Reporter: | fllorens | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Moving resource to page made viewport element unselectable and eventually crashed the Studio | ||||
Description: |
Seen here https://youtu.be/-pcq9TTrCOI?feature=shared&t=1452 This is probably related to 3078 |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
MovingResource.dmp (256,404 bytes) 2024-02-13 13:28 https://www.noesisengine.com/bugs/file_download.php?file_id=2164&type=bug MovingresourcePage.dmp (260,311 bytes) 2024-02-14 13:32 https://www.noesisengine.com/bugs/file_download.php?file_id=2175&type=bug |
||||
Notes | |
(0009187)
fllorens 2024-02-14 13:32 |
Also seen here: https://youtu.be/1QvVFp6DYF8?feature=shared&t=836 |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3064 | [NoesisGUI] Studio | minor | have not tried | 2024-02-05 11:58 | 2024-03-06 21:13 |
Reporter: | fllorens | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Selecting a grid in the viepoort crashed the Studio | ||||
Description: | As seen here: https://youtu.be/sjX1ioMZoKA?feature=shared&t=176 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
WeirdGridPositioning.dmp (278,008 bytes) 2024-02-05 11:58 https://www.noesisengine.com/bugs/file_download.php?file_id=2140&type=bug |
||||
Notes | |
(0009209)
dfranjic 2024-02-16 19:10 |
The crashed occurred due to the merging of a resource dictionary. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3143 | [NoesisGUI] Studio | minor | always | 2024-03-05 17:25 | 2024-03-06 21:10 |
Reporter: | jsantos | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | When editing properties, Escape should restore previous value | ||||
Description: | Right now, Escape is doing the same as Enter. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3151 | [NoesisGUI] Studio | minor | always | 2024-03-06 14:36 | 2024-03-06 15:22 |
Reporter: | maherne | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Resources panel does not update when creating a new template | ||||
Description: | When creating a new template, while the Resources panel is in view, the panel does not update with the new resource. | ||||
Tags: | |||||
Steps To Reproduce: |
Create a Page Open the Resources panel Create a Button Use the context menu to create a new template (of any kind) The new template does not appear in Resources until a refresh is forced, e.g. by selecting another element in the Resources panel, and then selecting Page again |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3020 | [NoesisGUI] Studio | minor | always | 2024-01-17 19:32 | 2024-03-06 15:22 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | A newly created TextBlock style is not shown in the resources panel | ||||
Description: |
as seen here: https://youtu.be/6iouSTq37aM?feature=shared&t=862 |
||||
Tags: | |||||
Steps To Reproduce: |
1. create a textblock style 2. look for it in the resources panel |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3141 | [NoesisGUI] Studio | minor | have not tried | 2024-03-05 15:32 | 2024-03-06 15:09 |
Reporter: | dfranjic | Platform: | |||
Assigned To: | maherne | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Resource name not updated in resource panel UI after a rename | ||||
Description: | Renaming a resource generates correct XAML code, updates names in correct places, etc.. but the Key change is not reflected in resources panel UI. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3104 | [NoesisGUI] Studio | crash | always | 2024-02-20 19:12 | 2024-03-06 14:58 |
Reporter: | dstewart | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Curly Brackets Typed Inside Content Fields Crash Studio | ||||
Description: | Typing curly brackets { } into the content field crashes studio. | ||||
Tags: | |||||
Steps To Reproduce: |
Repro Steps: 1) Drag any button onto the canvas 2) In the 'Content' field, type: "{ test }" (without quotes) Observe Studio crashing with an :""Unknown Element type" error. |
||||
Additional Information: | |||||
Attached Files: |
CurlyBrackets.jpg (54,112 bytes) 2024-02-20 19:12 https://www.noesisengine.com/bugs/file_download.php?file_id=2193&type=bug |
||||
Notes | |
(0009287)
dfranjic 2024-03-06 14:58 |
Fixed by writing '{}' at the start of the value to escape the curly brackets. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2399 | [NoesisGUI] Inspector | minor | have not tried | 2022-08-17 10:50 | 2024-03-06 13:20 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1.5 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2 | ||||
Platform: | Any | ||||
Summary: | Show control's active visual states to help with debugging | ||||
Description: |
From forum post: https://www.noesisengine.com/forums/viewtopic.php?t=2685 We have to find a way to expose in the inspector the CurrentState that is active for each visual state group in a Control or UserControl. Perhaps we can even allow changing current state from the inspector. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3088 | [NoesisGUI] Studio | minor | unable to reproduce | 2024-02-14 12:32 | 2024-03-06 12:02 |
Reporter: | maherne | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | unable to reproduce | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Access violation in BindingExpression OnDataContextChanged | ||||
Description: | See attached file for xaml and call stack. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
AccessViolation.txt (41,707 bytes) 2024-02-14 12:32 https://www.noesisengine.com/bugs/file_download.php?file_id=2172&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2885 | [NoesisGUI] Studio | minor | always | 2023-11-23 13:47 | 2024-03-06 12:02 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Duplicated resource names in different dictionaries | ||||
Description: | As seen here https://youtu.be/nyaiHuqcR08?feature=shared&t=5642 the Studio creates sequential brush names without checking merged dictionaries, thus binding the brush to the former resource | ||||
Tags: | |||||
Steps To Reproduce: |
1. Create a brush resource 2. Create a merged dictionary 3. Create another brush resource with the new dictionary selected |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0009278)
dfranjic 2024-03-05 22:40 |
I think it's allowed to have same name resources in two different places, though I don't know how that should be handled in UI so that it's not confusing for the user. Maybe some kind of adorner telling user that this resource can't be bound to the property (since there's a same-named resource that would be used instead). |
(0009283)
fllorens 2024-03-06 10:13 |
Thanks Dario, maybe I wasn't clear enough with the problem: If you assign a resouce with the same name in a different dictionary, Studio only applies the first one, so for example: 1. Create a brush resource 2. Create a merged dictionary 3. Create another brush resource with the new dictionary selected 4. You've got two different brushes with the same name (e.g. SolidColorBrush.001) 5. Create an element and apply the first resource you created 6. Then try to change it to the second resource, either drag and dropping it or using the Resource expander. You'll discover that it's not updating. |
(0009286)
fllorens 2024-03-06 12:02 |
Now that I thought a little about this, you're right. It's working as expected, so there's this solutions, change the suffix for the newly created resources in merged dictionaries or show either a toast or dialog when trying to use a resource with the same name. We should close this bug. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3035 | [NoesisGUI] Studio | minor | always | 2024-01-23 15:06 | 2024-03-05 22:21 |
Reporter: | dstewart | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Inserting a Hex Value into an Existing Colour Resource Does Not Update Instances Using the Resource | ||||
Description: |
It appears that elements using a universal colour resource only update in real-time if the colour is updated using the drag-and-drop colour wheel. It does however, not update when a new colour for a colour resource is assigned by typing in a hex value into the colour selector for the resource. Video Attached. |
||||
Tags: | |||||
Steps To Reproduce: |
Repro Steps: 1) Create a New Page 2) Select the Background property of the master Grid of the page. 3) Paste in a desired hex value (eg: #FF91bc39) 4) Press the '+' icon to add this value to the Page Resources as a Universal Colour Resource. 5) With the Grid still selected and the Background property panel still open, click the newly-created colour swatch to apply it to the Grid. 6) Navigate to the 'Resources' tab, navigate to the Page's resources, and find the saved colour Resource, and click on it. 7) Using the mouse, drag the colour pip across the Colour Selector in the upper right of the screen to change the colour. Observe how the colour of the Grid element changes. 8) Instead of dragging the colour selector pip, type in a new hex value into the hex value input field (eg: #FFbfbfbf) Observe how the Grid's colour does not update in real-time. Observe how once a hex value is typed in, even the ability to update with the mouse on the colour wheel stops working. 9) Navigate back to the Grid element, and remove the colour binding, before immediately re-applying the colour resource. Observe how now, the Grid is coloured correctly to the latest typed hex-value specified. Expected Result: Any element using a universal colour resource updates in real-time whether a colour is hand-selected using the colour wheel, or changed via a typed hex-value. |
||||
Additional Information: | |||||
Attached Files: |
2024-01-23 08-55-12.mp4 (4,566,309 bytes) 2024-01-23 15:06 https://www.noesisengine.com/bugs/file_download.php?file_id=2097&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3102 | [NoesisGUI] Studio | minor | have not tried | 2024-02-20 15:17 | 2024-03-05 20:32 |
Reporter: | fllorens | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | unable to reproduce | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Dragging a brush resource to a path's Fill property crashed the Studio | ||||
Description: | As seen here: https://youtu.be/4uRHJRG76Ww?feature=shared&t=529 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
DragAndDropBrushToFill.dmp (272,355 bytes) 2024-02-20 15:17 https://www.noesisengine.com/bugs/file_download.php?file_id=2191&type=bug |
||||
Notes | |
(0009277)
sfernandez 2024-03-05 20:32 |
I'm not able to reproduce this with latest 0.0.76 version |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3142 | [NoesisGUI] Studio | feature | always | 2024-03-05 17:23 | 2024-03-05 20:26 |
Reporter: | jsantos | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Improve property tooltips to indicate the source of the property (local value, style, binding...) | ||||
Description: | Attaching Francesc proposal for this | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
Option2.png (499,305 bytes) 2024-03-05 17:23 https://www.noesisengine.com/bugs/file_download.php?file_id=2224&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3043 | [NoesisGUI] Studio | minor | have not tried | 2024-01-24 16:43 | 2024-03-05 19:25 |
Reporter: | fllorens | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Crash when clicking on a blue keyframe | ||||
Description: |
As seen here https://youtu.be/yBO8Ay-eK1c?feature=shared&t=689 clicking on a Render Transform Scale keyframe crashes the Studio Crash dump attached |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
ClicOnScaleKeyframe.dmp (251,136 bytes) 2024-01-24 16:44 https://www.noesisengine.com/bugs/file_download.php?file_id=2103&type=bug ClickOnKeyframe.dmp (257,759 bytes) 2024-01-24 16:45 https://www.noesisengine.com/bugs/file_download.php?file_id=2104&type=bug |
||||
Notes | |
(0009113)
fllorens 2024-01-24 16:44 |
Also seen here: https://youtu.be/yBO8Ay-eK1c?feature=shared&t=849 |
(0009114)
fllorens 2024-01-24 16:45 |
Original crash dump, sorry: |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3038 | [NoesisGUI] Studio | minor | have not tried | 2024-01-23 15:47 | 2024-03-05 19:25 |
Reporter: | fllorens | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Crash when clik on grey keyframe | ||||
Description: |
As seen here: https://youtu.be/UvPFzHGwNyU?feature=shared&t=1374 Dump attached |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
ClickingKeyframeGrey.dmp (255,411 bytes) 2024-01-23 15:47 https://www.noesisengine.com/bugs/file_download.php?file_id=2100&type=bug ClickonGrayKeyframe2.dmp (250,432 bytes) 2024-01-24 16:48 https://www.noesisengine.com/bugs/file_download.php?file_id=2105&type=bug StackPanelGrayKeyframe.dmp (266,413 bytes) 2024-01-25 18:51 https://www.noesisengine.com/bugs/file_download.php?file_id=2110&type=bug |
||||
Notes | |
(0009115)
fllorens 2024-01-24 16:48 |
Also seen here: https://youtu.be/yBO8Ay-eK1c?feature=shared&t=1126 |
(0009123)
fllorens 2024-01-25 18:51 |
Also seen here: https://youtu.be/IWfoVuZF25w?feature=shared&t=664 |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3145 | [NoesisGUI] Studio | minor | always | 2024-03-05 18:14 | 2024-03-05 18:42 |
Reporter: | jsantos | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Color Picker, pasting colors without # | ||||
Description: | We should allow color formats that don't have the # at the beginning | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3144 | [NoesisGUI] Studio | crash | always | 2024-03-05 17:59 | 2024-03-05 18:40 |
Reporter: | maherne | Platform: | |||
Assigned To: | maherne | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Pasting in a ContentControl causes duplicate assignment of Content | ||||
Description: | Pasting in a ContentControl causes duplicate assignment of Content | ||||
Tags: | |||||
Steps To Reproduce: |
Create a Page Add a ContentControl Copy the ContentControl Paste the ContentControl with a ContentControl selected |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3146 | [NoesisGUI] Studio | minor | always | 2024-03-05 18:17 | 2024-03-05 18:17 |
Reporter: | jsantos | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Select ALL in our text boxes | ||||
Description: |
Right now, we are Selecting ALL when the mouse is clicked, but we should do it on mouse release, giving the opportunity to select text. This is standard in other programs |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3140 | [NoesisGUI] Studio | crash | always | 2024-03-05 12:21 | 2024-03-05 14:16 |
Reporter: | dstewart | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Applying ViewModel to Page in QuestLog Sample Crashes Studio | ||||
Description: | See instructions below. Dump attached as well. | ||||
Tags: | |||||
Steps To Reproduce: |
Repro Steps: 1) Download the attached QuestLog sample files 2) In the root of the QuestLog folder, drop the latest version of NoesisStudio 3) Open the Studio Project with Studio 4) Follow Mark's Tutorial found at https://youtu.be/jwQ2QfyIhIE?feature=shared At around the 2:50 mark, when it comes time to apply the ViewModel to the page, observe the application crashing. Expected results: The ViewModel can be assigned to the Page. |
||||
Additional Information: | |||||
Attached Files: |
20240305_061509.dmp (109,993 bytes) 2024-03-05 12:21 https://www.noesisengine.com/bugs/file_download.php?file_id=2222&type=bug QuestLog_unfinished.zip (1,284,557 bytes) 2024-03-05 12:21 https://www.noesisengine.com/bugs/file_download.php?file_id=2223&type=bug |
||||
Notes | |
(0009271)
dfranjic 2024-03-05 14:16 |
The XAML file is invalid from the get-go, making it fail on the very first XAML code validation. For e.g. you can change an opacity of any element and it'll crash. One of the errors is that there's a {StaticResource} on line 252 for a resource that's defined afterwards. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3129 | [NoesisGUI] Studio | minor | have not tried | 2024-02-29 15:49 | 2024-03-05 12:34 |
Reporter: | fllorens | Platform: | |||
Assigned To: | maherne | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Crash while trying to draw a rectangle inside a template | ||||
Description: |
As seen here: https://youtu.be/1d4vVbNXPxY?feature=shared&t=896 and here: https://youtu.be/1d4vVbNXPxY?feature=shared&t=936 |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
Drawingrectangle2.dmp (292,817 bytes) 2024-02-29 15:49 https://www.noesisengine.com/bugs/file_download.php?file_id=2214&type=bug DrawingRectangle.dmp (275,128 bytes) 2024-02-29 15:49 https://www.noesisengine.com/bugs/file_download.php?file_id=2215&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3137 | [NoesisGUI] Studio | minor | have not tried | 2024-03-05 10:42 | 2024-03-05 12:29 |
Reporter: | fllorens | Platform: | |||
Assigned To: | maherne | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | duplicate | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Crash when trying to draw a TextBlock in a grid | ||||
Description: | As seen here: https://youtu.be/V8Wa9-UFoVc?feature=shared&t=786 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
DrawTextBlock.dmp (266,024 bytes) 2024-03-05 10:42 https://www.noesisengine.com/bugs/file_download.php?file_id=2219&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3131 | [NoesisGUI] Studio | crash | always | 2024-03-04 13:29 | 2024-03-04 20:04 |
Reporter: | maherne | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Invalid XAML generated when creating a template for a type with a custom namespace | ||||
Description: |
When creating a ControlTemplate for a type with a custom namespace, the TargetType is set to the full type, it doesn't use the XAML namespace, and doesn't use the x:Type markup: TargetType="NoesisGUIExtensions.RadialGauge" It should be TargetType="{x:Type noesis:RadialGauge}" |
||||
Tags: | |||||
Steps To Reproduce: |
Include App/ToolKit in your local Studio conf Create a Page Add a RadialGauge Context menu > Templates > RadialGauge > Create |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0009269)
dfranjic 2024-03-04 20:04 |
x:Type isn't needed. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3135 | [NoesisGUI] Studio | crash | always | 2024-03-04 16:50 | 2024-03-04 19:52 |
Reporter: | maherne | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Cannot set a key for Style resource which uses a TargetType | ||||
Description: | When a Style is created with a TargetType and no key, editing the key (to set a new key) leads to invalid XAML (the TargetType is changed to to the new value, not just the x:Key). | ||||
Tags: | |||||
Steps To Reproduce: |
Create a Page Go to Resources panel Create a Style Set the Style TargetType to a value Delete the key contents to make it a TargetType only resource Try to edit the key |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0009268)
dfranjic 2024-03-04 19:52 |
It was due to the TextEditor::RenameAllOccurrences(old key -> new key) being called even though the old key is a typename. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3099 | [NoesisGUI] Studio | minor | always | 2024-02-19 23:04 | 2024-03-04 17:59 |
Reporter: | dfranjic | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Frozen/sealed non-local values appear local after user opens the property editor | ||||
Description: | Values get cloned ("unsealed") when user opens the property editor of a complex object which is frozen/sealed. The cloned value gets set as local value. This is because Studio prepares the value for editing so that the changes to the value are visible in the real time in the viewport. | ||||
Tags: | |||||
Steps To Reproduce: |
1. Create an empty page 2. Add a button to the page 3. Select the button 4. Open the "Background" property editor (the brush popup) 5. Close the popup 6. Deselect the button 7. Select the button 8. Observe how the "Background" property is in blue color even though "Background" wasn't changed |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0009267)
dfranjic 2024-03-04 17:59 |
Fixed by memorizing the state of the property (is it local value, expression, etc..) when unsealing, and returning the memorized state when calling SetIsExpanded(false). It also clears the memorized state (without returning the memorized state) when setting the value and when refreshing the property value. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3130 | [NoesisGUI] Studio | crash | always | 2024-03-04 13:19 | 2024-03-04 17:42 |
Reporter: | maherne | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Crash when opening element context menu, when resources contains a Style with no TargetType | ||||
Description: | Having a Style with no TargetType set in resources causes a read access violation in XamlDocument::BuildStylesTemplatesMenu, line 631, when opening the context menu. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2738 | [NoesisGUI] C++ SDK | major | always | 2023-10-20 12:21 | 2024-03-04 15:35 |
Reporter: | luk77 | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.3 | ||
Target Version: | 3.2.3 | ||||
Platform: | PlayStation5 | ||||
Summary: | PS5: Crash on asian languages (AGCRenderDevice.cpp(1288)) | ||||
Description: |
We are getting 100% repetitive crash on PS5 when using Noesis with asian languages (japanese, chinese, korean). The crash occures not immediatelly, but after entering actual gameplay. Crash was observed on Noesis 3.2.1 and 3.2.2. On 3.2.2 this message is printed to output before crash: [NOESIS/E] Assertion failed: buffer.numPages < sizeof(NS_COUNTOF_REQUIRES_ARRAY_ARGUMENT(buffer.pages)), at AGCRenderDevice.cpp(1288) SIGTRAP: Trace trap. Location: Noesis.prx!0x000000012D4AD36E (Module: 0x000000012CBE0000 + 9229166 bytes) |
||||
Tags: | PS5 | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2222 | [NoesisGUI] Unity3D | tweak | always | 2021-12-31 04:39 | 2024-03-04 15:26 |
Reporter: | asusralis | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1.2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2.4 | ||||
Platform: | Any | ||||
Summary: | Show the XAML line in binding failed error message. | ||||
Description: |
https://i.imgur.com/SQQeV06.png It would be great to show the exact XAML file and line to easily fix the binding failure. Otherwise, you have to search for the binding. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3124 | [NoesisGUI] C++ SDK | minor | have not tried | 2024-02-27 00:40 | 2024-03-04 15:21 |
Reporter: | saji8k | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2.4 | ||||
Platform: | Any | ||||
Summary: | Support visionOS in the Native C++ SDK | ||||
Description: |
There is currently no support for visionOS in any SDK (native C++, Unreal, Unity). The first step in adding visionOS support across all platforms is creating a native NoesisGUI library for visionOS. Apple's Metal API is supported on visionOS in certain specific scenarios (2D Window App, 2D Windows in AR Apps, VR Apps). It should be straightforward to port the existing iOS version of the NoesisGUI library which is already using the same Metal API. In the short term, such a library would allow for: An eventual NoesisApp for visionOS enabling NoesisGUI UIs in a 2D windows in a visionOS AR or VR app. Also this library will be required to implement visionOS (VR) support in Unreal and Unity. Unreal 5.4 VR Support - https://forums.unrealengine.com/t/suppo ... 1190042/40 Unity Windowed Support - https://docs.unity3d.com/Packages/com.u ... dApps.html Unity VR Support - https://docs.unity3d.com/Packages/com.u ... RApps.html |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2986 | [NoesisGUI] Studio | major | always | 2024-01-02 18:45 | 2024-03-04 13:12 |
Reporter: | dstewart | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | high | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Selecting a Colour Resource from the Colour Picker Crashes Studio | ||||
Description: | Occurs when applying a Colour Resource to a Grid within a Button Template. Video attached. | ||||
Tags: | |||||
Steps To Reproduce: |
1) Create a couple Colour Resources. 2) Create a new Button Template. 3) Within the button, create a grid, and set its background to one of the Colour Resources. Observe how the application crashes. Expected Result: Colours can be applied without a crash. |
||||
Additional Information: | |||||
Attached Files: |
ColourSwatchCrash_2.mp4 (5,087,732 bytes) 2024-01-02 18:45 https://www.noesisengine.com/bugs/file_download.php?file_id=2070&type=bug MainMenu.xaml (5,634 bytes) 2024-01-02 18:45 https://www.noesisengine.com/bugs/file_download.php?file_id=2071&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2779 | [NoesisGUI] C++ SDK | minor | always | 2023-10-27 19:53 | 2024-03-01 18:52 |
Reporter: | jsantos | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Problem selecting all in TextBoxes | ||||
Description: | If you are going to select all content in a TextBox that is already selecting all when getting the focus, you end up unselecting everything and the cursor positioned at the beginning | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3075 | [NoesisGUI] Studio | minor | have not tried | 2024-02-07 15:51 | 2024-02-29 15:51 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Trying to animate brush color in a visual state crashes the Studio | ||||
Description: | As seen here: https://youtu.be/ziDYO0mx9rs?feature=shared&t=1516 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
VisualStateForeground.dmp (259,644 bytes) 2024-02-07 15:51 https://www.noesisengine.com/bugs/file_download.php?file_id=2155&type=bug TryingToAnimateResourceBrush.dmp (264,864 bytes) 2024-02-29 15:51 https://www.noesisengine.com/bugs/file_download.php?file_id=2216&type=bug |
||||
Notes | |
(0009266)
fllorens 2024-02-29 15:51 |
Also seen here: https://youtu.be/1d4vVbNXPxY?feature=shared&t=1325 |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2954 | [NoesisGUI] Studio | minor | always | 2023-12-15 11:40 | 2024-02-29 14:57 |
Reporter: | dstewart | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Windows | ||||
Summary: | Background Fill Cannot be Removed from Grid Row Header Element | ||||
Description: | When adding a new Grid Row Header element to a page, the background fill of the element cannot be removed and set to transparent. | ||||
Tags: | |||||
Steps To Reproduce: |
Within Noesis Studio 0.0.54: 1) Create a new page. 2) Create a Grid Row Header Element. 3) In the Appearance Section of the Properties of the Grid, set the Background value to "No Brush". 4) Observe that the background fill remains present. Expected Results: Grid Row Header Element turns transparent on "No Brush" |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0009255)
dfranjic 2024-02-28 15:58 |
Not assigned to me, but I am just curious as to what the solution for this should be? Selecting the "No brush" currently removes the Background property value, but since there's no local value applied, it doesn't remove anything and the control keeps pulling the color from the Style. Maybe we should disable the "No brush" option when the value source is "Default"? |
(0009257)
sfernandez 2024-02-28 17:28 |
This is probably more about how to set Null as a local value, I don't think we can now, right? |
(0009260)
dfranjic 2024-02-28 19:30 |
I realized the importance of this as I was now playing with the Toolkit a bit and wanted to remove the RadialGauge.TrailBrush, but the only way was to create a transparent brush. I've added a flag "applyNull" to the PropertyUpdateRequest struct. So in my next commit, {x:Null} will be applied as a value in certain scenarios. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3128 | [NoesisGUI] C# SDK | minor | always | 2024-02-27 18:27 | 2024-02-29 10:37 |
Reporter: | samc | Platform: | |||
Assigned To: | maherne | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.3 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2.4 | ||||
Platform: | Windows | ||||
Summary: | Exceptions in visual studio blend designer | ||||
Description: |
More details here: https://www.noesisengine.com/forums/viewtopic.php?p=16709#p16709 There are exceptions when ProvideValue is called for LocExtension when a template it is in is being loaded, which then trickle down to the designer. |
||||
Tags: | C# | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
LocExtension.cs (9,673 bytes) 2024-02-27 18:49 https://www.noesisengine.com/bugs/file_download.php?file_id=2208&type=bug LocExtension-2.cs (9,680 bytes) 2024-02-28 12:05 https://www.noesisengine.com/bugs/file_download.php?file_id=2209&type=bug Screenshot 2024-02-28 100052.png (552,472 bytes) 2024-02-28 19:04 https://www.noesisengine.com/bugs/file_download.php?file_id=2210&type=bug Screenshot 2024-02-28 100354.png (609,589 bytes) 2024-02-28 19:04 https://www.noesisengine.com/bugs/file_download.php?file_id=2211&type=bug |
||||
Notes | |
(0009245)
maherne 2024-02-27 18:49 |
Thanks for the report. I have attached a WPF LocExtension.cs with the fix, if you'd like to test it locally, and we will update the NoesisGUI.Extensions Nuget package with this fix in the next 24 hours. |
(0009251)
maherne 2024-02-28 12:05 |
I discovered that Blend can pass C# Reflection data to ProvideValue during it's IntelliSense process, this was leading to a "Unable to cast object of type 'System.Reflection.RuntimePropertyInfo' to type 'System.Windows.DependencyProperty'" error. This error does not affect anything during design or runtime. I have attached an updated version of WPF LocExtension.cs, which fixes this error from occurring, and this fix will be included in our Nuget package update. |
(0009252)
sfernandez 2024-02-28 12:25 |
We just released Noesis.GUI.Extensions 3.0.27 to fix both issues. |
(0009258)
samc 2024-02-28 18:52 |
I have the latest version of the plugin, and now I'm seeing a new exception in the same spot: Severity Code Description Project File Line Suppression State Details Error XDG0010 Object of type 'NoesisGUIExtensions.LocExtension' cannot be converted to type 'System.String'. HUD D:\projects\torch\Assets\Scripts\Runtime\Client\UI\FrontEnd\FrontEndView.xaml 288 I'll try to get some more information about this |
(0009259)
samc 2024-02-28 19:04 |
Adding some screen shots of teh exception - one i caught in the debugger and the other of the way the exception shows up in the designer. |
(0009261)
sfernandez 2024-02-28 19:42 |
One question, is the SessionLabelText a CLR or a DP property? |
(0009262)
sfernandez 2024-02-28 20:59 |
Ok, we've been able to reproduce it. I generated a new version 3.0.28 of the Nuget for you to try. Hopefully we got everything right now :) |
(0009263)
samc 2024-02-28 21:08 |
Looks good! feel free to close the bug now |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2831 | [NoesisGUI] Studio | minor | have not tried | 2023-11-09 17:17 | 2024-02-28 17:23 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Add Element and Gradient tools should go back to Selection tool | ||||
Description: | After using the tools Add Element (drag or draw element) or Gradient (click flll/stroke), we should automatically change to the Selection tool. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0009253)
dfranjic 2024-02-28 14:35 |
Should this be closed? After drawing an element using the "Add Element" tool, we switch to the selection tool. As for the Gradient tool, I feel like we should stay in the gradient tool. After clicking on an element with the gradient tool, I feel like user will want to be able to edit the gradient immediately. |
(0009256)
sfernandez 2024-02-28 17:23 |
Agree, we don't need to change Gradient tool because it won't allow you to edit the stops if we go back to selection. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2903 | [NoesisGUI] Studio | minor | always | 2023-11-29 10:42 | 2024-02-28 15:25 |
Reporter: | fllorens | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Crash when clicking in a control style's brush property | ||||
Description: | As seen here https://youtu.be/Z_yrQTEOwto?feature=shared&t=754 | ||||
Tags: | |||||
Steps To Reproduce: |
1. Create a control 2. Create a style and edit it 3. Click on a brush property |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0009254)
dfranjic 2024-02-28 15:25 |
Fixed previously. It was related to ColorProperty trying to fetch Color resources to display in the UI. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2916 | [NoesisGUI] Studio | minor | always | 2023-12-04 14:37 | 2024-02-27 22:36 |
Reporter: | dfranjic | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Creating TabControl element also serializes TabControl.SelectedItem | ||||
Description: |
When I draw a TabControl in the view, it generates the following code:<TabControl ...> <TabControl.SelectedItem> <TabItem .../> </TabControl.SelectedItem> ... </TabControl> The SelectedItem value shouldn't be saved as such in the XAML code. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2927 | [NoesisGUI] Studio | minor | always | 2023-12-11 15:39 | 2024-02-27 22:36 |
Reporter: | maherne | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Undoing replacing an element's text content by dragging does not set the previous text | ||||
Description: | If you drag content into an element, like a Button, which has text content, and then undo, the original text content is not set (the content of the element remains empty). | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3036 | [NoesisGUI] Studio | minor | have not tried | 2024-01-23 15:40 | 2024-02-27 22:35 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Crash when creating new page in main menu | ||||
Description: |
As seen here: https://youtu.be/UvPFzHGwNyU?feature=shared&t=50 Attached dump |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
NewPage.dmp (304,797 bytes) 2024-01-23 15:40 https://www.noesisengine.com/bugs/file_download.php?file_id=2098&type=bug |
||||
Notes | |
(0009249)
dfranjic 2024-02-27 22:35 |
This was due to a backup that was created for a file that existed before (e.g. backup for Page0.xaml is created, Page0.xaml is deleted manually in file explorer, backup is still there unfortunately, now when creating a new Page file with name Page0.xaml it will try to load the backup for old file). Fixed by removing backup for old file when creating a new file. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3054 | [NoesisGUI] Studio | minor | have not tried | 2024-01-31 16:13 | 2024-02-27 22:33 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Crash when trying to use pen tool on a locked element | ||||
Description: |
As seen here https://youtu.be/kflGfJy82iA?feature=shared&t=877 trying to use pen tool on a locked element inside a template |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
PathToolLockedGrid.dmp (297,010 bytes) 2024-01-31 16:13 https://www.noesisengine.com/bugs/file_download.php?file_id=2126&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3107 | [NoesisGUI] Studio | crash | always | 2024-02-21 15:33 | 2024-02-27 22:33 |
Reporter: | maherne | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Crash when adding elements to auto selected DataTemplates | ||||
Description: |
When editing a ContentControl ContentTemplate which has been auto selected based on content type, attempting to add any element will cause the follow error: item.scopeElement was nullptr. Gui.Editor.dll!Editor::TemplateScope::RebuildVisualTree() Line 387 at C:\Source\Noesis\NoesisEditor\NoesisSDK\Native\Src\Packages\Gui\Editor\Src\TemplateScope.cpp(387) Gui.Editor.dll!Editor::XamlDocument::RefreshScopeResource(Editor::Scope * scope) Line 4429 at C:\Source\Noesis\NoesisEditor\NoesisSDK\Native\Src\Packages\Gui\Editor\Src\XamlDocument.cpp(4429) Gui.Editor.dll!Editor::XamlDocument::RefreshScopeResource() Line 4346 at C:\Source\Noesis\NoesisEditor\NoesisSDK\Native\Src\Packages\Gui\Editor\Src\XamlDocument.cpp(4346) Gui.Editor.dll!Editor::InsertElementsCommand::Execute() Line 197 at C:\Source\Noesis\NoesisEditor\NoesisSDK\Native\Src\Packages\Gui\Editor\Src\InsertElementsCommand.cpp(197) Gui.Editor.dll!Editor::AddElementToolState::MouseUp(Noesis::BaseComponent * __formal, const Noesis::MouseButtonEventArgs & e) Line 238 at C:\Source\Noesis\NoesisEditor\NoesisSDK\Native\Src\Packages\Gui\Editor\Src\AddElementToolState.cpp(238) |
||||
Tags: | |||||
Steps To Reproduce: | In the attached project, edit the ContentControl ContentTemplate, and add an element to the Grid. | ||||
Additional Information: | |||||
Attached Files: |
DataTemplateCrash.zip (2,217 bytes) 2024-02-21 15:33 https://www.noesisengine.com/bugs/file_download.php?file_id=2196&type=bug |
||||
Notes | |
(0009248)
dfranjic 2024-02-27 22:33 |
This was working for ItemsControl but wasn't implemented for ContentControl... When updating something in a ContentControl's implicit DataTemplate it requires a manual trigger to update the visual tree with new elements. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3126 | [NoesisGUI] Studio | minor | always | 2024-02-27 18:09 | 2024-02-27 22:31 |
Reporter: | maherne | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Issue with dynamic type Brush properties | ||||
Description: |
DynamicType Brush properties can have their values set to SolidColorBrush, these values same to the datactx XAML but do not load. Trying to set a GradientBrush value causes a read access violation in XamlDocument.cpp, line 357. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0009247)
dfranjic 2024-02-27 22:31 |
SolidColorBrushes weren't saved properly either that's why it wasn't loading... Now it should save correctly. Crash with switching to gradient brush is also fixed. Updating gradient stops in data context is not working properly though (gradient stop resets to transparent color after color update), but create a separate issue for that. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2873 | [NoesisGUI] Studio | minor | always | 2023-11-22 17:12 | 2024-02-27 18:56 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Folder naming locked after opening png files | ||||
Description: | As seen here https://youtu.be/nyaiHuqcR08?feature=shared&t=58 folder naming becomes unresponsive to at least A and S keys after importing and opening a pair of png files | ||||
Tags: | |||||
Steps To Reproduce: |
1. Open an empty project 2. Import at least 2 png files and open them 3. Create a folder and rename it, starting with A and S |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0009246)
dfranjic 2024-02-27 18:56 |
This was an issue with CTRL key getting "stuck" and acting as if it's constantly held down. Thus why when you pressed O moments later it acted as CTRL+O which triggered the "overdraw" mode. It was fixed in the meantime. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2937 | [NoesisGUI] Studio | minor | always | 2023-12-12 17:11 | 2024-02-27 18:42 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | feedback | Product Version: | |||
Product Build: | Resolution: | reopened | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Duplicated text inside control template | ||||
Description: |
as seen here: https://youtu.be/Q6D2MOPir84?feature=shared&t=3040 Also seen here: https://youtu.be/7aHHWI3tYD4?feature=shared&t=326 |
||||
Tags: | |||||
Steps To Reproduce: |
1. Create an ItemsControl 2. Create a template for it 3. add a textblock and start typing |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0009243)
dfranjic 2024-02-27 18:07 |
I think this has been with the Helper::Clone() rework. I will close this, but feel free to reopen if it occurs again |
(0009244)
dfranjic 2024-02-27 18:34 |
Still happens. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3127 | [NoesisGUI] Studio | minor | always | 2024-02-27 18:25 | 2024-02-27 18:25 |
Reporter: | maherne | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Issues when renaming a dynamic type breaks collection data | ||||
Description: |
When renaming a type there are a number of issues: * The root type in the datactx xaml is not renamed, leading to a failure to load this data when reloading a document. * In d:DataContext instances of the type, Collection type properties have their value wiped, and I am unable to set a new value (random data generation also fails to update the collection). |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3125 | [NoesisGUI] Studio | crash | always | 2024-02-27 18:05 | 2024-02-27 18:05 |
Reporter: | maherne | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Deleting a dynamic type, while a document using that type is open, causes validation failure | ||||
Description: |
Assigning a dynamic type to a data context, and then deleting that type from Dynamic Types, causes a xaml validation failure. When deleting types we should check if the type is in use, show a warning toast, and not delete the type. Notes: * Perhaps checking all documents in the project? * What if the type exists in code? We need to handle this case in across the system. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3108 | [NoesisGUI] Studio | minor | have not tried | 2024-02-21 15:43 | 2024-02-27 17:05 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Dragging a TextBlock to a template crashed the Studio | ||||
Description: | As seen here: https://youtu.be/auAV9JfPneg?feature=shared&t=359 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
Dragging_TextBlock.dmp (265,463 bytes) 2024-02-21 15:43 https://www.noesisengine.com/bugs/file_download.php?file_id=2197&type=bug |
||||
Notes | |
(0009241)
maherne 2024-02-27 15:43 |
I have been unable to reproduce this issue in either 0.0.71, or the latest code on trunk. I tried following the steps in the video, and trying other scenarios. Francesc, could you try reproducing this issue? Thanks. |
(0009242)
dfranjic 2024-02-27 17:05 |
This has been fixed with rework of group/ungroup commands I did. Shouldn't happen anymore. There have been many similar issues (like 0003096), I somehow skipped this one. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3085 | [NoesisGUI] Studio | minor | always | 2024-02-13 18:37 | 2024-02-27 16:58 |
Reporter: | dfranjic | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Additional template and style menus in the hover adorner | ||||
Description: |
Currently, the "Edit additional templates/styles" is only accessible through the context menu by right clicking on the element. XamlDocument::EditTemplate() and similar functions already expose the ability to pass the property to which the template/style belongs so it's only a matter of generating and displaying the menu. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3050 | [NoesisGUI] Unreal | minor | always | 2024-01-29 10:49 | 2024-02-27 11:34 |
Reporter: | CPVRGlen | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | feedback | Product Version: | 3.2.2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2.4 | ||||
Platform: | Windows | ||||
Summary: | NoesisWorldUI doesn't render in VR projects | ||||
Description: |
See https://www.noesisengine.com/forums/viewtopic.php?t=3195 Using UE 5.1.1, shader compilation often crashes when loading a VR project. With 5.2.2, if it does load, the NoesisWorldUI component fails to render anything in play. I have also added this plugin to an existing 5.1.1 project and it didn't crash, but still wouldn't render. Assuming it works because the project settings are configured differently. |
||||
Tags: | Rendering, Unreal, world ui | ||||
Steps To Reproduce: |
For the shader compilation crash: 1. Create a new 5.1.1 VR template project 2. Close UE after it initially loads 3. Add the plugin 4. Try loading the project again For the rendering issue: 1. Create anew 5.2.1 VR template project 2. Close UE 3. Add the plugin 4. Load the project, confirm the plugin is enabled 5. Add the sample ObjectPanel.xaml to a NoesisWorldUI in the level and play. |
||||
Additional Information: | |||||
Attached Files: |
Screenshot 2024-01-25 172333.png (245,440 bytes) 2024-01-29 10:49 https://www.noesisengine.com/bugs/file_download.php?file_id=2115&type=bug 3050.patch (17,464 bytes) 2024-02-21 17:18 https://www.noesisengine.com/bugs/file_download.php?file_id=2198&type=bug WorldUIStereoFixes.patch (15,086 bytes) 2024-02-27 11:34 https://www.noesisengine.com/bugs/file_download.php?file_id=2207&type=bug |
||||
Notes | |
(0009227)
hcpizzi 2024-02-21 17:18 |
I'm sorry this ticket has been hanging for so long. It arrived as we were testing 3.2.3 for release and didn't have time to get back to it until recently. I've attached a patch that fixes the rendeing issue. I was trying to get motion controller support in as well, but I thought I'd sent you what I have for now so you can test it. Sorry for the late reply. |
(0009240)
hcpizzi 2024-02-27 11:34 |
This fixes the shader compiler crashes on 5.1, while also improving some aspects of WorldUI stereo rendering and fixing some edge cases. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3123 | [NoesisGUI] Studio | minor | always | 2024-02-26 15:30 | 2024-02-27 00:28 |
Reporter: | dfranjic | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Undoing the rename of an element doesn't update the UI | ||||
Description: | Rename an element with no name to something, press CTRL+Z, observe how the name in the navigator doesn't go back to element type. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3116 | [NoesisGUI] Studio | minor | always | 2024-02-22 16:41 | 2024-02-27 00:28 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | reopened | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Elements inside templates can't be renamed | ||||
Description: | As seen Here: https://youtu.be/eyvhaZqDRb8?feature=shared&t=531 | ||||
Tags: | |||||
Steps To Reproduce: |
1. Create and edit a template 2. Add an element like a TextBlock or a path 3. Try to rename it |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0009235)
fllorens 2024-02-23 18:33 |
As seen here: https://youtu.be/JKIzHV1YQ7M?feature=shared&t=474 Elements seem to be renamed, but upon reopening the template the names disappear. In the Xaml they seem to be present. This causes problems when animating. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3112 | [NoesisGUI] Studio | crash | always | 2024-02-21 19:12 | 2024-02-27 00:27 |
Reporter: | maherne | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | VisualStateGroup and VisualState x:Name conflicts cause XAML validation errors | ||||
Description: |
VisualStateGroup and VisualState x:Name conflicts, which can be with any element x:Name in the same document, cause XAML validation errors. The behavior should match the behaviour of Navigator element renaming, where a warning toast is shown and a number is added to the end of the name. |
||||
Tags: | |||||
Steps To Reproduce: | Create a VisualStateGroup and VisualState. Set their names to the same value. | ||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3117 | [NoesisGUI] Studio | minor | have not tried | 2024-02-22 16:43 | 2024-02-27 00:27 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Crash when using pen tool inside a template | ||||
Description: | Seen here: https://youtu.be/eyvhaZqDRb8?feature=shared&t=395 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
PenToolOnTemplateGrid.dmp (251,619 bytes) 2024-02-22 16:43 https://www.noesisengine.com/bugs/file_download.php?file_id=2204&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3096 | [NoesisGUI] Studio | minor | have not tried | 2024-02-19 15:08 | 2024-02-27 00:27 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Crash when clicking on a grid inside a template | ||||
Description: |
As seen here https://youtu.be/ktkXydRA1C0?feature=shared&t=310 The template's grid has been grouped inside a ViewBox without problem nor weird values, but upon clicking on it in the viewport it crashed. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
ClickOnGroupedGrid.dmp (273,887 bytes) 2024-02-19 15:08 https://www.noesisengine.com/bugs/file_download.php?file_id=2184&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3120 | [NoesisGUI] Studio | minor | have not tried | 2024-02-23 18:38 | 2024-02-27 00:27 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Crash when grouping grid inside viewbox | ||||
Description: |
As seen here: https://youtu.be/JKIzHV1YQ7M?feature=shared&t=1464 I think it's related to 0003116 |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
GroupinInViewBox.dmp (250,964 bytes) 2024-02-23 18:38 https://www.noesisengine.com/bugs/file_download.php?file_id=2205&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2882 | [NoesisGUI] Studio | minor | N/A | 2023-11-23 12:59 | 2024-02-26 22:04 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Brush resource set but appears empty | ||||
Description: | as shown here https://youtu.be/nyaiHuqcR08?feature=shared&t=2642 a brush bound to a resource appears empty | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0009239)
dfranjic 2024-02-26 22:04 |
Same cause as 0002992, should be fixed. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3084 | [NoesisGUI] Studio | minor | always | 2024-02-13 15:08 | 2024-02-26 17:50 |
Reporter: | dfranjic | Platform: | |||
Assigned To: | maherne | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Can't set VisualTree of a template through the navigator | ||||
Description: |
To reproduce: 1. Create a template. 2. Delete the root <Grid/> object 3. Try to drag an element from "Add element" panel to the Template object in the navigator The tooltip says "[Grid] cannot be added here" |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
image.png (10,014 bytes) 2024-02-13 15:08 https://www.noesisengine.com/bugs/file_download.php?file_id=2165&type=bug |
||||
Notes | |
(0009183)
dfranjic 2024-02-13 15:08 |
|
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2886 | [NoesisGUI] Studio | minor | random | 2023-11-23 13:50 | 2024-02-26 15:21 |
Reporter: | fllorens | Platform: | |||
Assigned To: | maherne | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Paths can't be selected in the viewport | ||||
Description: | As seen here https://youtu.be/nyaiHuqcR08?feature=shared&t=5836 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2901 | [NoesisGUI] Studio | minor | always | 2023-11-28 13:42 | 2024-02-26 12:07 |
Reporter: | maherne | Platform: | |||
Assigned To: | maherne | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Add Element panel is enabled when no document is loaded | ||||
Description: | Add Element panel is enabled when no document is loaded, leading to an exception if an Add Element item is selected at this time. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3121 | [NoesisGUI] Studio | minor | have not tried | 2024-02-23 18:42 | 2024-02-26 11:14 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Crash when selecting Visual State | ||||
Description: |
As seen here: https://youtu.be/JKIzHV1YQ7M?feature=shared&t=1562 I think is related to 0003116 |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
SelectingState.dmp (265,508 bytes) 2024-02-23 18:42 https://www.noesisengine.com/bugs/file_download.php?file_id=2206&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3122 | [NoesisGUI] C++ SDK | minor | always | 2024-02-24 00:54 | 2024-02-26 11:13 |
Reporter: | n3b | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2.4 | ||||
Platform: | Any | ||||
Summary: | Theme sharing thread safety | ||||
Description: |
Theme and providers initialization in one thread and views creation in another trigger thread safety errors. https://www.noesisengine.com/forums/viewtopic.php?t=3210 |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2380 | [NoesisGUI] C++ SDK | feature | always | 2022-07-14 11:45 | 2024-02-26 11:12 |
Reporter: | steveh | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | feedback | Product Version: | 3.2.0 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2 | ||||
Platform: | Any | ||||
Summary: | Feature Request: Composite Fonts | ||||
Description: |
Hi guys, I'm wondering if it's possible to get composite font support (https://docs.microsoft.com/en-us/dotnet/api/system.windows.media.fontfamily?view=windowsdesktop-6.0#composite-fonts) The issue I'm having at the moment is I have a tonne of individual license fonts for a variety of languages. If I include all fonts in the font fallback array I have no way of only selecting a range of unicode characters to use a given font. So it creates an issue as the following: - The Chinese font has glyphs for Traditional Chinese, Simplified Chinese and Korean. - The Korean font has glyphs for Korean If I make my font fallback map: {KoreanFont, ChineseFont} Then it works. If I reverse the order the Chinese font takes precedence. This is easy enough to solve in this case, but in my case I have 6 different fonts for different languages, and they share a huge overlap of supported uniocde ranges. I am unable to get into a position where the fallback map uses the correct font fallback for every language. I have managed to get around this issue by only loading the fonts for the current selected language, but we have some screens (e.g. language select and some editor sandboxes) where we show multiple languages on screen at the same time. I could change our fonts so they remove the glyphs, but that would require that I change some licensed font. Ideally we would be able to specify the unicode range that a font supports in the font fallback map, either via a bespoke solution or via the implementation of the composite fonts. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
UnicodeRange.patch (6,408 bytes) 2023-06-28 14:32 https://www.noesisengine.com/bugs/file_download.php?file_id=1878&type=bug |
||||
Notes | |
(0008018)
jsantos 2022-07-14 16:30 |
Hello, let me think more about this and I will come back again (by the way I am taking the next week off) At first, I would say that implementing support for *.CompositeFont files seems to be the best solution. But I am not sure how complex this can be |
(0008077)
jsantos 2022-09-21 14:01 |
Hi Steven, I am not sure if you found a solution for this or how critical this request is. I was investigating the implementation of CompositeFonts in Noesis and it is harder than expected and we want to do it after official 3.2 is released (we have plans to release the beta this month). Please, let me know your thoughts about this and if we can help you with a workaround. |
(0008078)
steveh 2022-09-21 14:51 |
Hey Jesús, we have not come to a solution yet. We have 2 critical parts that we're dealing with. 1. Gamertags - Microsoft dictate that with modern gamertags we must support 14 different character sets. We support these across a variety of different separate fonts. 2. Language Select - We need to show multiple different fonts on this page. 2 is fairly trivial to solve as we could just have a bunch of fixed pre-rendered bitmap images instead of fonts as there is a finite set of languages we support so we can bake the text into an image. However, we don't have any solution for gamertags. |
(0008079)
jsantos 2022-09-23 10:13 |
As a temporary workaround, could you strip glyph ranges from needed fonts? Just to save time before we can properly implement this. Are you 100% sure this would break the copyright of the font? |
(0008080)
steveh 2022-09-23 10:57 |
Hey Jesús, I thought from the initial look we were not allowed to make any modifications to the fonts at all. I'll ask our producers to run it through our lawyers though to double check. |
(0008081)
jsantos 2022-09-23 11:18 |
Thank you. Meanwhile let me see if I find an easier way to quickly implement this. I am thinking about adding a range to each font (manually). |
(0008227)
jsantos 2023-01-19 14:22 |
Hi Steve, I hope everything is great over there. Did you get an answer from the producers? We have been really busy closing 3.2 BETA 1 (https://www.noesisengine.com/docs/3.2/Gui.Core.Changelog.html) and we have imminent plans to release BETA 2. After that, I think I can find time to offer you solutions for this. Should we have a call? |
(0008229)
steveh 2023-01-19 15:22 |
Hey Jesús, everything's going great thank you, hope the 3.2 release is going smoothly. I got the initial okay from our production staff but they were planning on checking with legal before we commit to that, I've not heard back. I've not solved this yet, so it's still going to be an issue. I'll give our production a prod now to chase up with legal again. If we need to specify a range for each font then that sounds fine to me and would be a find solution. I'm happy to join a call if you think that's easier. Just drop me an email with a desired time and I'm happy to jump on a call. Cheers, -Steven |
(0008570)
jsantos 2023-06-28 14:32 (Last edited: 2023-06-28 14:33) |
I am attaching the "hacky" solution for now. There are two important changes in the patch: 1) HarfBuzz.h and HarfBuzz.cpp are exposing now a new HB::Shape function with ranges. These changes will be part of Noesis 2) The rest of changes are experimental, we have added a vector of ranges to VGLFontFace and the layout is using that vector when calling HB::Shape. You need to manually detect the fonts by name and adjust the needed ranges If everything is working fine with these change we will keep working on a better solution by implementing the property FontFamily.FontFamilyMap. This will support scenarios like this: <Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:System="clr-namespace:System;assembly=mscorlib"> <Grid.Resources> <FontFamily x:Key="TheFont"> <FontFamily.FamilyMaps> <FontFamilyMap Unicode="0048" Target="Times New Roman" Scale="1.0" /> <FontFamilyMap Unicode="0000-052F" Target="Comic Sans MS, Verdana" Scale="4.0" /> </FontFamily.FamilyMaps> </FontFamily> </Grid.Resources> <TextBlock Text="Hello World!" FontFamily="{StaticResource TheFont}" HorizontalAlignment="Center" VerticalAlignment="Center"/> </Grid> |
(0009237)
Demond 2024-02-25 06:52 |
Good afternoon It’s good that I came across this ticket before creating a post requesting this function)) I want to make a composite font in which “extra” glyphs will be removed and number glyphs from another font will be added. It would also be a good idea to experiment with glyphs for different languages. How soon will FontFamilyMap support be added? |
(0009238)
jsantos 2024-02-26 11:12 |
After the first releases of the Studio we will find time to work on this feature. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3109 | [NoesisGUI] Studio | minor | always | 2024-02-21 18:51 | 2024-02-23 22:16 |
Reporter: | maherne | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Cannot edit ControlTemplate when inside DataTemplate | ||||
Description: | When editing a DataTemplate the context menus have "Edit current" disabled. | ||||
Tags: | |||||
Steps To Reproduce: | Open attached example, edit DataTemplate1, open Template context menu, "Edit current is disabled". | ||||
Additional Information: | |||||
Attached Files: |
NoEditTemplate.zip (2,001 bytes) 2024-02-21 18:51 https://www.noesisengine.com/bugs/file_download.php?file_id=2199&type=bug |
||||
Notes | |
(0009236)
dfranjic 2024-02-23 22:16 |
It's not disabled anymore, but due to 0003110 it's not really helpful |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2857 | [NoesisGUI] Studio | minor | unable to reproduce | 2023-11-21 17:31 | 2024-02-23 22:15 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | reopened | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Path moving when adding thickness | ||||
Description: |
As seen here https://youtu.be/DC0YTtlfxD4?feature=shared&t=1176 and also https://youtu.be/DC0YTtlfxD4?feature=shared&t=1648 And also here: https://youtu.be/dbBgvtudFlg?feature=shared&t=816 And here: https://youtu.be/NNZQ2ZvIXC0?feature=shared&t=1465 |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0009146)
fllorens 2024-01-31 16:32 |
Also seen here: https://youtu.be/kflGfJy82iA?feature=shared&t=2322 |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3073 | [NoesisGUI] Studio | minor | have not tried | 2024-02-07 15:45 | 2024-02-23 22:14 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Crash when selecting color resource inside a style | ||||
Description: | As seen here: https://youtu.be/ziDYO0mx9rs?feature=shared&t=1209 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
SelectingColorResourceStyle.dmp (260,604 bytes) 2024-02-07 15:45 https://www.noesisengine.com/bugs/file_download.php?file_id=2153&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3119 | [NoesisGUI] Studio | minor | always | 2024-02-23 12:11 | 2024-02-23 12:12 |
Reporter: | maherne | Platform: | |||
Assigned To: | maherne | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Issues when dragging InlineUIContainer to a TextBlockAdorner | ||||
Description: |
Dragging a element from an InlineUIContainer to the same TextBlockAdorner duplicates the element. Dragging a element from an InlineUIContainer to the a different TextBlockAdorner fails in UpdateTextBlockCommand. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3074 | [NoesisGUI] Studio | minor | have not tried | 2024-02-07 15:48 | 2024-02-23 12:07 |
Reporter: | fllorens | Platform: | |||
Assigned To: | maherne | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Crash when selecting a gradient resource's stop | ||||
Description: | As seen here: https://youtu.be/ziDYO0mx9rs?feature=shared&t=1249 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
selectingGradientStopResources.dmp (279,124 bytes) 2024-02-07 15:48 https://www.noesisengine.com/bugs/file_download.php?file_id=2154&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2889 | [NoesisGUI] Studio | minor | always | 2023-11-23 16:23 | 2024-02-23 12:07 |
Reporter: | maherne | Platform: | |||
Assigned To: | maherne | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Allow Dragging Elements into and out of TextBlock | ||||
Description: | Allow Dragging Elements into and out of TextBlock, from the view or navigator. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2932 | [NoesisGUI] Studio | minor | always | 2023-12-11 19:32 | 2024-02-23 12:07 |
Reporter: | maherne | Platform: | |||
Assigned To: | maherne | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | When dragging an element into an InlineUIContainer, it doesn't show in the correct position | ||||
Description: | If an element is dragged into an InlineUIContainer, it's position does not show in the correct position (closing and reopening the document shows the element in the correct location). | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
InvalidRender.PNG (179,407 bytes) 2023-12-11 19:32 https://www.noesisengine.com/bugs/file_download.php?file_id=2052&type=bug |
||||
Notes | |
(0009234)
maherne 2024-02-23 12:07 |
Fixed in 0002928 |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2928 | [NoesisGUI] Studio | minor | always | 2023-12-11 15:43 | 2024-02-23 12:06 |
Reporter: | maherne | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Removing an element from an InlineUIContainer does not update the TextBlock layout | ||||
Description: | When an element is removed (deleted/dragged) from an InlineUIContainer, the TextBlock layout does not update, and so the space that the element took up in the TextBlock is still visible. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
BeforeRemoveElement.PNG (22,337 bytes) 2023-12-11 15:43 https://www.noesisengine.com/bugs/file_download.php?file_id=2048&type=bug AfterRemoveElement.PNG (22,769 bytes) 2023-12-11 15:43 https://www.noesisengine.com/bugs/file_download.php?file_id=2049&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3113 | [NoesisGUI] C# SDK | feature | have not tried | 2024-02-21 20:20 | 2024-02-23 10:03 |
Reporter: | Demond | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | TextBlock Vertical Trim. Text Extensions | ||||
Description: |
Hello! While working with the layout, I came across this thing. I have a small header with text. I want to set the height of the Border to be based on the height of the largest glyph. In my case the text has the number 24. The default text height includes vertical padding. I'd like to get rid of these indentations using a new text property. I see that you already have your own Noesis extension for various elements, including text. I propose adding a new TextTrimVertical property that would allow for more precise text positioning and alignment. I haven't found a similar property and implementation in WPF. There is a similar property in CSS, but browsers do not currently support it. https://caniuse.com/css-text-box-trim An example of how a property works in CSS: https://text-box-trim.vercel.app/?c=BYRgBA3gUGYEYEMDGBrA5gJwPYFcB2AJgLRJYA2WGAXGBgKYEDcMYALnQB6tFxYdGsMASwC2NXq2DNY7Ljz5EGaOjSQIADmARl1wBHDqshSZgF8APAHpLAPnOgbAFU6teHMI%20EirDoA I drew a layout in Figma similar to the layout implementation in xaml, which displays the layout behavior with and without vertical text indentation (Figma has a VerticalTrim text property to remove vertical text indentation) In the figure you can see that with the VerticalTrim property it was possible to align the number of living players and the text “Players Alive” along one line. Of course you can use a negative Padding value for a TextBlock , but it doesn't have the same effect as VerticalTrim because the number glyphs may not be perfectly centered. In the example I'm using the Verdana font. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
Test TextVerticalTrim.png (82,965 bytes) 2024-02-21 20:20 https://www.noesisengine.com/bugs/file_download.php?file_id=2201&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3114 | [NoesisGUI] Unity3D | minor | always | 2024-02-22 14:52 | 2024-02-23 10:03 |
Reporter: | Otter | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2.3 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2.4 | ||||
Platform: | Any | ||||
Summary: | MarkupExtension ProvideValue is not called again when template is applied | ||||
Description: | Link to forum post: https://www.noesisengine.com/forums/viewtopic.php?t=3227#p16672 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3115 | [NoesisGUI] Unity3D | minor | always | 2024-02-22 15:06 | 2024-02-23 10:02 |
Reporter: | Otter | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2.3 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2.4 | ||||
Platform: | Any | ||||
Summary: | Transparent material is not occluded in URP | ||||
Description: |
When using URP and setting Injection Point to "After Rendering Opaques" (also tried with "Before Rendering Transparents") in NoesisView, WorldSpaceUI does not occlude transparent materials (it works perfectly with Opaque materials) Note: when playing with command buffer DrawMesh, Unity knows how to occlude transparent material with that mesh |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
Opaque.png (49,711 bytes) 2024-02-22 15:06 https://www.noesisengine.com/bugs/file_download.php?file_id=2202&type=bug Transparent.png (57,761 bytes) 2024-02-22 15:06 https://www.noesisengine.com/bugs/file_download.php?file_id=2203&type=bug |
||||
Notes | |
(0009233)
jsantos 2024-02-23 10:02 |
I need to think more about this but there is no easy solution because our UI only reads the depth-buffer but doesn't write into it. And Unity objects are the same, they don't write into the depth-buffer. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3118 | [NoesisGUI] C++ SDK | minor | always | 2024-02-23 02:30 | 2024-02-23 09:52 |
Reporter: | lachfoy | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1.5 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2.4 | ||||
Platform: | Windows | ||||
Summary: | Visual states are not running storyboards within a control template | ||||
Description: |
A control template with storyboard visual states for "Selected" and "Unselected" does not run the visual state storyboards when changing SelectedIndex of the parent control. Storyboards run as expected in Blend, but do not run in native C++ on version 3.1.5. |
||||
Tags: | C++, xaml | ||||
Steps To Reproduce: |
Create a TabItem ControlTemplate with visual states for "Selected" and "Unselected" that run storyboards. Use this template in a TabControl and modify the SelectedIndex property to change the selected tab. See that the tab items selected and unselected states do not run the storyboards. |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3095 | [NoesisGUI] Unity3D | crash | sometimes | 2024-02-19 14:23 | 2024-02-22 22:20 |
Reporter: | StrayThought | Platform: | |||
Assigned To: | maherne | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.3 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.4 | ||
Target Version: | 3.2.4 | ||||
Platform: | macOS | ||||
Summary: | Unity crashes when editing XAML in VSCode | ||||
Description: |
As reported in the forums here (https://www.noesisengine.com/forums/viewtopic.php?t=3203#p16653) Unity editor can crash when editing XAML from VS Code. It was apparently reproducible. |
||||
Tags: | Unity, VisuaStudio | ||||
Steps To Reproduce: |
I upgraded to latest 3.2.3 and when editing the XAML file in VSCode periodically the Unity editor crashes in the background. I can't seem to get it to reproduce with a set of exact steps, but it only takes a minute of editing to get it to crash. In my specific case, here is what I did: 1. In Unity, went to Tools->NoesisGUI->Create->XAML - Layout Grid to create a new file 2. Created a new Unity scene (built-in renderer), added NoesisView to camera, connected the xaml file to it 3. Open the xaml file, VSCode launches 4. Went down to the <Rectangle> element and typed over Rectangle with Grid and started editing it to be a Grid and Unity editor crashed. 5. Relaunched Unity, reopened the xaml and continued editing. 6. Switched back to Unity, press play, works 7. Back to VS Code, start changing another Rectangle into a Grid and crashed again. 8. Rinse and repeat, crashes consistently every minute or so but no specific thing seems to trigger. Maybe the language server polling/update? |
||||
Additional Information: | |||||
Attached Files: |
NoesisMacOS_3095.zip (5,037,182 bytes) 2024-02-20 16:05 https://www.noesisengine.com/bugs/file_download.php?file_id=2192&type=bug |
||||
Notes | |
(0009216)
maherne 2024-02-19 20:38 |
Thank you for the report. I believe I have reproduced this issue, but only when a "domain reload" occurs in Unity after I have opened any XAML document in VSCode. A domain reload can occur when pressing play, or compiling a script. Could you confirm that this is the case with your issue? |
(0009219)
StrayThought 2024-02-20 09:05 |
Yes, it definitely crashes when I hit save in VSCode sometimes. |
(0009220)
StrayThought 2024-02-20 12:16 |
I noticed the snippet included a space in the name. I removed the spaces from the file names and it hasn't crashed since. Unsure if related but worth letting you know. |
(0009223)
maherne 2024-02-20 16:05 |
I identified an issue in our Language Server which I believe is causing your crash. Could you confirm this fix? I have attached an updated MacOS binary in a zip archive. The Noesis.dylib file it contains should be placed within the Noesis Unity plugin folders, in Runtime/Libraries/MacOS, replacing the existing file. Thanks. |
(0009225)
StrayThought 2024-02-20 21:28 |
Yes, this seems to fix the problem so far. I will do some more testing tomorrow. Really appreciate the quick turnaround, it was almost unusable :-) |
(0009229)
jsantos 2024-02-22 09:39 |
Morning, were you able to reproduce the crash with the latest hot-fix? |
(0009231)
StrayThought 2024-02-22 11:40 |
By hot fix you mean the zip file attached to this bug report? If so then no, issue seems fixed now and it hasn't crashed in 2 days now. Yay! |
(0009232)
maherne 2024-02-22 22:20 |
Thank you for your help StrayThought, I will close this ticket now. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3110 | [NoesisGUI] Studio | minor | always | 2024-02-21 18:56 | 2024-02-22 09:51 |
Reporter: | maherne | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | When editing a new ControlTemplate within a DataTemplate, brush editors are not working | ||||
Description: | When editing a new ControlTemplate within a DataTemplate, brush editors are not working | ||||
Tags: | |||||
Steps To Reproduce: | Edit a DataTemplate, create a Button, in the Template context menu create a new ControlTemplate. Select the Grid and change the Background. The Brush Editor does not display. | ||||
Additional Information: | |||||
Attached Files: |
Screenshot 2024-02-21 175614.png (28,667 bytes) 2024-02-21 18:56 https://www.noesisengine.com/bugs/file_download.php?file_id=2200&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3111 | [NoesisGUI] Studio | crash | always | 2024-02-21 19:02 | 2024-02-22 09:50 |
Reporter: | maherne | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Error when trying to create a ControlTemplate while editing a Template in Resources tab | ||||
Description: |
Error when trying to create a ControlTemplate while editing a DataTemplate in Resources tab. The assert fails in Editor\Src\TemplateScope.cpp. Gui.Editor.dll!FindElement(Noesis::FrameworkTemplate * tmplt, Noesis::NodeObject * curNode, Noesis::BaseComponent * parentScope, Noesis::Visual * parentRuntime) Line 67 at C:\Source\Noesis\NoesisEditor\NoesisSDK\Native\Src\Packages\Gui\Editor\Src\TemplateScope.cpp(67) Gui.Editor.dll!Editor::TemplateScope::BuildTree(Noesis::NodeObject * visualRootNode, Noesis::NodeObject * scopeRoot) Line 313 at C:\Source\Noesis\NoesisEditor\NoesisSDK\Native\Src\Packages\Gui\Editor\Src\TemplateScope.cpp(313) Gui.Editor.dll!Editor::CreateEmptyTemplateCommand::Execute() Line 306 at C:\Source\Noesis\NoesisEditor\NoesisSDK\Native\Src\Packages\Gui\Editor\Src\CreateEmptyTemplateCommand.cpp(306) Gui.Editor.dll!Editor::XamlDocument::CreateTemplate(Noesis::FrameworkElement * element, Noesis::Symbol propOwner, Noesis::Symbol prop) Line 4742 at C:\Source\Noesis\NoesisEditor\NoesisSDK\Native\Src\Packages\Gui\Editor\Src\XamlDocument.cpp(4742) Gui.Editor.dll!Editor::XamlDocument::CreateCurrentTemplate(Noesis::BaseComponent * param) Line 2539 at C:\Source\Noesis\NoesisEditor\NoesisSDK\Native\Src\Packages\Gui\Editor\Src\XamlDocument.cpp(2539) Gui.Editor.dll!Noesis::DelegateImpl<void __cdecl(Noesis::BaseComponent *)>::MemberFuncStub<Editor::XamlDocument,void (__cdecl Editor::XamlDocument::*)(Noesis::BaseComponent *)>::Invoke(Noesis::BaseComponent * && <args_0>) Line 202 at C:\Source\Noesis\NoesisEditor\NoesisSDK\Native\Src\Packages\Core\Kernel\Include\NsCore\Delegate.inl(202) App.ApplicationLauncher.dll!Noesis::Delegate<void __cdecl(Noesis::BaseComponent *)>::operator()(Noesis::BaseComponent * <args_0>) Line 522 at C:\Source\Noesis\NoesisEditor\NoesisSDK\Native\Src\Packages\Core\Kernel\Include\NsCore\Delegate.inl(522) App.ApplicationLauncher.dll!NoesisApp::DelegateCommand::Execute(Noesis::BaseComponent * param) Line 52 at C:\Source\Noesis\NoesisEditor\NoesisSDK\Native\Src\Packages\App\ApplicationLauncher\Src\DelegateCommand.cpp(52) Gui.Core.dll!Noesis::CommandHelper::ExecuteCommand(const Noesis::ICommandSource * source, Noesis::UIElement * target) Line 317 at C:\Source\Noesis\NoesisEditor\NoesisSDK\Native\Src\Packages\Gui\Core\Src\CommandHelper.cpp(317) Gui.Core.dll!Noesis::MenuItem::OnItemClicked() Line 684 at C:\Source\Noesis\NoesisEditor\NoesisSDK\Native\Src\Packages\Gui\Core\Src\MenuItem.cpp(684) Gui.Core.dll!Noesis::MenuItem::OnMouseButtonUp(const Noesis::MouseButtonEventArgs & e, bool clickAllowed) Line 770 at C:\Source\Noesis\NoesisEditor\NoesisSDK\Native\Src\Packages\Gui\Core\Src\MenuItem.cpp(770) Gui.Core.dll!Noesis::MenuItem::OnMouseLeftButtonUp(const Noesis::MouseButtonEventArgs & e) Line 337 at C:\Source\Noesis\NoesisEditor\NoesisSDK\Native\Src\Packages\Gui\Core\Src\MenuItem.cpp(337) |
||||
Tags: | |||||
Steps To Reproduce: |
Go to the Resources panel in a document. Add a ControlTemplate or DataTemplate to the Page resources. Edit the new template. Add a Button. Use the Template context menu to create a new template. |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3106 | [NoesisGUI] Studio | crash | always | 2024-02-21 11:40 | 2024-02-21 15:49 |
Reporter: | dstewart | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Changing Z-Index Property Inside of a Template Crashes Studio | ||||
Description: |
Adjusting the Z-Index Property of any element that is within a template, crashes the application. Note howeverthat this issue does not occur on elements outside of a Template. Dump and Video Demonstration attached. |
||||
Tags: | |||||
Steps To Reproduce: |
Repro Steps: 1) Drag a button onto the canvas. 2) Right-Click and "Create New" 3) Edit the contents of the new template to feature 2 Grid elements within the RootGrid 4) Adjust the Z-Index value of one of the two Grids Observe Studio crashing. Expected Results: Adjusting the Z-Axis Value changes the vertical depth of an element. |
||||
Additional Information: | |||||
Attached Files: |
2024-02-21 05-34-10.mp4 (3,986,814 bytes) 2024-02-21 11:40 https://www.noesisengine.com/bugs/file_download.php?file_id=2194&type=bug 20240221_053434.dmp (129,704 bytes) 2024-02-21 11:40 https://www.noesisengine.com/bugs/file_download.php?file_id=2195&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2720 | [NoesisGUI] Unity3D | minor | always | 2023-10-11 00:03 | 2024-02-20 23:38 |
Reporter: | Feldruebe | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2.4 | ||||
Platform: | Any | ||||
Summary: | NineSlice Example has spacings | ||||
Description: |
I tried the Unity NineSlice Example. Out of the box, I am getting spacings between some parts. Are there settings that I am missing? |
||||
Tags: | |||||
Steps To Reproduce: | Use the NineSlice Example. | ||||
Additional Information: | |||||
Attached Files: |
Unity_KeMi46PQrl.png (347,588 bytes) 2023-10-11 00:03 https://www.noesisengine.com/bugs/file_download.php?file_id=1977&type=bug |
||||
Notes | |
(0009226)
Feldruebe 2024-02-20 23:38 |
I played with rendering settings and saw disabling Antialiasing (MSAA) fixes the spacing. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3103 | [NoesisGUI] C++ SDK | minor | have not tried | 2024-02-20 17:38 | 2024-02-20 20:50 |
Reporter: | Demond | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2.3 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2.4 | ||||
Platform: | Any | ||||
Summary: | Incorrect behavior regarding bindings and TargetNullValue | ||||
Description: | Let's say I have a variable Name, my code returns an empty string in Name if it is not specified by the user, I bind <Run Text="{Binding Name, FallbackValue='Player Fall', TargetNullValue='Player Null' }" />. But I get Binding failed: Path=Name, Source=null(''), Target=Run(''), TargetProperty=Run.Text. The fallback value will be used. And accordingly empty text is returned. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3071 | [NoesisGUI] Studio | minor | have not tried | 2024-02-06 17:13 | 2024-02-20 15:50 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Crash deleting storyboard used in a trigger | ||||
Description: | As seen here: https://youtu.be/oaUVXU9o_IE?feature=shared&t=11 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
deletingStoryboardTrigger.dmp (265,404 bytes) 2024-02-06 17:13 https://www.noesisengine.com/bugs/file_download.php?file_id=2145&type=bug 20240207_133458.xaml (18,964 bytes) 2024-02-07 13:39 https://www.noesisengine.com/bugs/file_download.php?file_id=2151&type=bug |
||||
Notes | |
(0009170)
sfernandez 2024-02-07 13:39 |
|
(0009222)
dfranjic 2024-02-20 15:50 |
The XAML was failing on validation because the deleted resource was referenced {StaticResource Intro2}. Now, every {StaticResource} reference of a resource is deleted so it should be fixed with r13433 |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3091 | [NoesisGUI] C# SDK | major | always | 2024-02-14 15:34 | 2024-02-20 14:21 |
Reporter: | voula_d | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2.3 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2.4 | ||||
Platform: | Any | ||||
Summary: | Cannot convert a string to Noesis.Size using TypeConverter. | ||||
Description: |
I am trying to do the following: TypeConverter converter = TypeDescriptor.GetConverter(typeof(Noesis.Size)); converter.ConvertFrom("100,100") ; And the conversion fails with an error: TypeConverter cannot convert from System.String. Also, converter.CanConvertFrom(typeof(string)) returns false; The same behaviour applies when trying to convert a string to Noesis.Rect |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0009188)
sfernandez 2024-02-15 13:44 |
It looks like Size type and similar are not defining the TypeConverter attribute as expected. We need to specify it the same way we did for other types like Brush: https://github.com/Noesis/Managed/blob/master/Src/Noesis/Core/Src/Proxies/Brush.cs#L18 https://github.com/Noesis/Managed/blob/master/Src/Noesis/Core/Src/Core/TypeConverterHelper.cs#L8 Thanks for reporting this. |
(0009189)
voula_d 2024-02-15 13:47 |
I am finding that the same applies to Noesis.Point too. Thanks! |
(0009198)
sfernandez 2024-02-15 18:37 |
By the way, if this is needed only for Size, Point or Rect types, you can just use as a workaround the TryParse() method they expose. |
(0009221)
voula_d 2024-02-20 14:21 |
Yes, that's how I worked around the issue for now. Thanks. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3101 | [NoesisGUI] Unity3D | minor | N/A | 2024-02-20 13:12 | 2024-02-20 13:26 |
Reporter: | Otter | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2.3 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2.4 | ||||
Platform: | Any | ||||
Summary: | XAML parser does not correctly support properties of type Binding that are not DependencyProperty | ||||
Description: | Related forum post: https://www.noesisengine.com/forums/viewtopic.php?p=16672#p16668 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3065 | [NoesisGUI] Studio | minor | always | 2024-02-05 12:05 | 2024-02-19 21:55 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Studio is not saving data for StreamGeometry resources | ||||
Description: | As seen here: https://youtu.be/sjX1ioMZoKA?feature=shared&t=176 | ||||
Tags: | |||||
Steps To Reproduce: |
1. Create a path with the Pen tool 2. save the data as resource 3. Close and open again the page, or inspect the xaml |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2855 | [NoesisGUI] Studio | minor | unable to reproduce | 2023-11-21 17:13 | 2024-02-19 21:43 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Crash when undoing a gradient operation | ||||
Description: | Seen here https://youtu.be/DC0YTtlfxD4?feature=shared&t=324 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2887 | [NoesisGUI] Studio | minor | always | 2023-11-23 13:56 | 2024-02-19 20:21 |
Reporter: | fllorens | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Can't copy and paste ListBox items | ||||
Description: | As seen here https://youtu.be/dbBgvtudFlg?feature=shared&t=33 | ||||
Tags: | |||||
Steps To Reproduce: |
1. Add a ListBox item to a ListBox 2. Select it and use the Ctrl+C and Ctrl+V shortcuts |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2900 | [NoesisGUI] Studio | minor | always | 2023-11-27 18:12 | 2024-02-19 20:19 |
Reporter: | fllorens | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Studio crashes when creating a ScrollBar's Track template | ||||
Description: | Seen in https://youtu.be/Z_yrQTEOwto?feature=shared&t=2555 | ||||
Tags: | |||||
Steps To Reproduce: |
1. Create a ListBox, and add an empty template 2. Add a ScrollViewer and an ItemsPresenter as a child 3. Create an empty template for the ScrollViewer and add a ScrollContentPresenter and a ScrollBar (correctly named PART_ etc) 4. Create a template for the ScrollBar and add a track (PART_Track) 5. Try to create a template for the track |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0009215)
sfernandez 2024-02-19 20:19 |
This was fixed some time ago, Track element can't have a template, so now it is not possible to create one if you open its context menu. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3093 | [NoesisGUI] C++ SDK | minor | sometimes | 2024-02-16 10:59 | 2024-02-19 13:40 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2.3 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2.4 | ||||
Platform: | Any | ||||
Summary: | Empty offscreen rectangles generated sometimes | ||||
Description: |
There cases where rectangles are reserved in the offscreen texture but nothing is rendered into them. |
||||
Tags: | |||||
Steps To Reproduce: | See render doc capture in related ticket. | ||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0009214)
jsantos 2024-02-19 13:40 |
I saw this in the Pix captures attached in 0002800 |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2800 | [NoesisGUI] Unity3D | major | always | 2023-10-30 22:43 | 2024-02-19 13:39 |
Reporter: | stonstad | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.3 | ||
Target Version: | 3.2.3 | ||||
Platform: | Any | ||||
Summary: | TextureSource Behavior on XBOX | ||||
Description: |
Hello! I am seeing UI flickering (on/off) on Xbox. It may not be caused by Noesis -- I am not sure how I can tell? Here is a video showing what it looks like: Video: https://stellarconquest.blob.core.windows.net/tmp/noesis/XBOXSX_Video_2.mp4 The UI works great on PC. Attached is the code for how I am creating RenderTexture and assigning it to a rectangle using TextureSource. Thank you! *edited to move PIX to private comment. |
||||
Tags: | |||||
Steps To Reproduce: |
// create render texture (use Linear for Noesis texture creation) _RenderTexture = new RenderTexture((int)Width, (int)Height, 1, RenderTextureFormat.ARGB32, RenderTextureReadWrite.Linear); Camera.targetTexture = _RenderTexture; _RenderTexture.Create(); // create brush to store render texture and assign it to the rectangle _RenderRectangle.Fill = new ImageBrush() { ImageSource = new TextureSource(_RenderTexture), Stretch = Stretch.None, Opacity = 1.0f }; |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008918)
jsantos 2023-10-31 18:27 |
I am getting a catastrophic failure opening the pix. Are you able to open it? |
(0008920)
stonstad 2023-10-31 22:27 (Last edited: 2023-10-31 22:27) |
Yes, I re-downloaded and it opens successfully for me. My PIX says June 2023 Update 2 (2261.4304). |
(0008923)
stonstad 2023-11-02 15:03 |
Would a new PIX help? Or I can try zipping the PIX file -- but I can't imagine bit corruption is an issue here during download. |
(0008931)
jsantos 2023-11-06 18:10 |
I am still getting catastrophic failures opening both captures. :( I can try upgrading to your version, but right now I am locked to this version (March 2023 Update 2) to avoid more issues with Unity and Unreal. Could you try with March 2023 Update 2 by any chance? If not, I am going to need a bit more of time for this. Thank you! |
(0008932)
stonstad 2023-11-06 19:51 |
Hi Jesus. Unity 2022.3.10 LTS requires the version we are on. My understanding is that GDKs can be installed side by side. Unity only uses the version “required” by the Editor version. |
(0008947)
stonstad 2023-11-16 22:30 |
Any updates for this bug? Thank you. |
(0008950)
jsantos 2023-11-17 17:03 |
I have been analyzing both captures, but it seems all frames are correct? Could you please check this, and indicate what's the frame that's showcasing the flickering in pix1 or pix3? |
(0008951)
jsantos 2023-11-17 18:27 |
By the way, both captures have blur |
(0008954)
stonstad 2023-11-17 21:11 |
> I have been analyzing both captures, but it seems all frames are correct? Could you please check this, and indicate what's the frame that's showcasing the flickering in pix1 or pix3? I noticed that the artifacts do not appear in the captured screenshot. I wasn't sure if this was a timing issue on my part and when I paused it. I will recapture or see if I can figure out what frame it is -- not sure how to do that but I will try. > By the way, both captures have blur Do you mean motion blur, or blur in the Noesis output? Not sure what this means. |
(0008955)
jsantos 2023-11-17 21:34 |
> The above example is simpler (no blur). I understood by this, that one of the captures didn't have blur (effect) but both have. The captures reveal an performance issue (common to PC and XBox) that we are going to fix, but yes, having another capture showing the flickering issue is definitely going to help us a lot. |
(0008956)
stonstad 2023-11-17 22:08 |
This PIX should have BackgoundEffectBlur disabled: https://stellarconquest.blob.core.windows.net/tmp/noesis/pix3.xpix In the video you can see that the blurring is off, at least visually. |
(0008957)
jsantos 2023-11-17 22:28 |
Is this PIX reproducing the flickering issue? That's what I need :) I will check this later |
(0008988)
stonstad 2023-11-28 20:55 |
I am unable to capture the flickering within a PIX dump. I tried 20 exports and each of them fail to capture the flicker -- or at least I don't see it in the PIX screenshot. I have some observations related to the behavior: - If BackgroundEffectBlur is DISABLED, the only time the flickering behavior manifests is if an active secondary RenderTexture is used with Noesis via a TextureSource. - On the PC platform, a newly created RenderTexture is initialized to clear or it is initialized to a valid state before it is displayed. But on XBOX it contains an uninitialized state, which can look like a visual glitch before the RenderTexture is updated by a camera. A Noesis TextureSource assigned to a Rectangle will briefly show this uninitialized state. The solution is to initialize RenderTexture via a color BLT on XBOX before assigning it to a Noesis TextureSource. This change has eliminated most 'pops' of bad visual state, but it does not resolve the flickering. I'm trying to think of what I can do. What about sending an image of the entire game? It is 22.3 GB, and it can be deployed directly to the GDK. Could this work? - |
(0008989)
stonstad 2023-11-28 21:03 |
A while back, there was an issue with adorner elements resizing repeatedly (https://www.noesisengine.com/bugs/view.php?id=2615 ) -- maybe that is what I am seeing here in this video? https://stellarconquest.blob.core.windows.net/tmp/noesis/XBOXSX_Video_3.mp4 I'm just trying to figure out what could cause this on XBOX but not PC. |
(0008990)
stonstad 2023-11-28 21:09 (Last edited: 2023-11-28 21:10) |
* removed * nevermind. |
(0008991)
jsantos 2023-11-29 13:00 |
The fact that you can't capture this with PIX, makes me think that this is a "timing" issue in the GPU. This could be related to barriers, and the render texture not properly transitioned from render target to texture. I think our code is correct on this side but I need to carefully verify this. Do you think you can reproduce this issue in a minimal sample? This would help us a lot to narrow the cases that can lead to this issue, |
(0009131)
jsantos 2024-01-26 19:57 (Last edited: 2024-02-19 13:39) |
Although I couldn't reproduce, this is quite similar to 0002776 and I have already fixed for 3.2.3, please reopen if needed |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2902 | [NoesisGUI] Studio | minor | always | 2023-11-29 10:31 | 2024-02-17 13:20 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Ungrouping canvas crashes the application | ||||
Description: | seen here https://youtu.be/Z_yrQTEOwto?feature=shared&t=298 and here https://youtu.be/Z_yrQTEOwto?feature=shared&t=355 | ||||
Tags: | |||||
Steps To Reproduce: |
1. Create a Viewbox dragging the element to the viewport 2. Create a Canvas inside dragging 3. Create a grid dragging it to the canvas 4. Try to ungroup the canvas. The child grid will appear to be stuck in the top left corner of the viewport 5. Selecting or resizing the grid will crash the application |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3026 | [NoesisGUI] Studio | minor | always | 2024-01-22 15:10 | 2024-02-17 02:07 |
Reporter: | maherne | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | TectBlock Inlines Run TextProperty Binding being serialized as a string | ||||
Description: | When serializing an Inline Run node which has a TextProperty Binding, using TextEditor::Serialize, the TextProperty is serialized as a string (or no Text attribute if the binding returns no value) instead of an expression. | ||||
Tags: | |||||
Steps To Reproduce: |
Using the following xaml, edit the TextBlock with the TextBlockAdorner and add some text at the end of "AfterBinding". The result is that the Text attribute will be serialized as the binding value in string form. TextEditor::Serialize is called for each Inline in \Packages\Gui\Editor\Src\UpdateTextBlockCommand.cpp, line 202. <Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"> <TextBlock> <Run Text="{Binding Path=SomeProperty}"/><Run Text="AfterBinding" FontWeight="Bold"/> </TextBlock> </Page> |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3022 | [NoesisGUI] Studio | minor | always | 2024-01-19 15:57 | 2024-02-16 19:21 |
Reporter: | fllorens | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Timeline textbox changing width when adding digits | ||||
Description: | The user can change the width of the time box by inputing more digits, affecting the layout and overlapping the Timeline icons | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2891 | [NoesisGUI] Studio | minor | always | 2023-11-23 16:52 | 2024-02-16 19:04 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Duplicating path inside template results in an empty element | ||||
Description: |
As seen here https://youtu.be/dbBgvtudFlg?feature=shared&t=578 duplicating a path inside a control template creates a path without size and data. Also here: https://youtu.be/z2pIHjyD0dU?feature=shared&t=2584 |
||||
Tags: | |||||
Steps To Reproduce: |
1. Create a control template 2. Import an SVG inside 3. Duplicate the resulting path with shortcut or command |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0009144)
fllorens 2024-01-31 16:24 |
Also seen here: https://youtu.be/kflGfJy82iA?feature=shared&t=1527 |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3069 | [NoesisGUI] Studio | tweak | always | 2024-02-06 12:27 | 2024-02-16 18:56 |
Reporter: | dstewart | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | low | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Feedback that 'Autopopulate Data' feature is too Hidden | ||||
Description: |
We received some feedback from an individual who watched the Walkthrough Tutorial found at https://www.youtube.com/watch?v=FIpUJuhDMc8 . One point they mentioned was that: "Generate random values for the text field is both an unlabeled icon for a unique feature (hard to guess) and only visible on hover. I couldn't see what you were talking about the first few times you mentioned it." I would agree with them that for a new user, it is very hard to discover this very unique (and powerful) feature when it is not visible to the naked eye (requires not only hover over the row, but then hover over the icon to get the tooltip text). Attached a potential proposal to surface this button/icon more and treat it similar to how we treat assigning a data context to a page. To be discussed before we move forward on this though. |
||||
Tags: | |||||
Steps To Reproduce: | N/A - not a bug. | ||||
Additional Information: | |||||
Attached Files: |
RandomValues_1.jpg (201,968 bytes) 2024-02-06 12:27 https://www.noesisengine.com/bugs/file_download.php?file_id=2143&type=bug DataAutoPopulateFeedback.jpg (52,614 bytes) 2024-02-06 12:27 https://www.noesisengine.com/bugs/file_download.php?file_id=2144&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2879 | [NoesisGUI] Studio | minor | always | 2023-11-23 12:23 | 2024-02-16 18:42 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Grouping an imported SVG into a Viewbox results in weird clipping | ||||
Description: | As seen here https://youtu.be/nyaiHuqcR08?feature=shared&t=1906 grouping the resulting canvas of an 'Import SVG' inside a Viewbox produces a weird displacement and clipping | ||||
Tags: | |||||
Steps To Reproduce: |
1. Import an SVG 2. Group the resulting canvas into a Viewbox |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2997 | [NoesisGUI] Studio | minor | always | 2024-01-08 18:36 | 2024-02-16 18:37 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Weird margins when grouping a grid inside a viewbox | ||||
Description: |
As seen here: https://youtu.be/_BVXMra08jo?feature=shared&t=1284 when grouping a grid that is child of a viewbox, inside another grid, weird margins are applied Also shown here: https://youtu.be/6iouSTq37aM?feature=shared&t=1036 Also seen here: https://youtu.be/jTX2Izz7zj8?feature=shared&t=719 |
||||
Tags: | |||||
Steps To Reproduce: |
1. Add a grid to the scene 2. group the grid inside a viewbox 3. group the original grid inside another grid 3. Take a look at he margins |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0009061)
sfernandez 2024-01-08 19:31 |
The problem of this and related tickets is from how elements are grouped/ungrouped inside single child containers. Right now we are creating the new parent, adding it to the single child container, and then moving the other elements inside the new parent. But the first operation is not possible because the container can only have 1 child at the same time. We need to find another way to implement this kind of operations. |
(0009069)
dfranjic 2024-01-09 16:53 |
Just noting that this issue might also be related to 0002836 (unsure though, because templates are weird sometimes). The possible solution could be to create a group element in-memory, store the original content of a single child container into a smart Ptr<>, remove the single child container content, add the original content to the group element, set the group element as the content of the single child container. Unsure though as maybe detaching from visual tree and reattaching it is going to cause some assert/crash to happen. Maybe the solution would then be to Helper::Clone() the original content and add it to the group element and then just replace the content of a single child container. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2836 | [NoesisGUI] Studio | minor | always | 2023-11-13 13:43 | 2024-02-16 18:37 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Crash when grouping a template's grid | ||||
Description: |
Grouping the default grid of an empty template will crash the Studio. Also seen here: https://youtu.be/z2pIHjyD0dU?feature=shared&t=2793 |
||||
Tags: | |||||
Steps To Reproduce: |
1. Create an empty button's template 2. Group the fist grid (the default one) inside a Viewbox or a Grid |
||||
Additional Information: | |||||
Attached Files: |
GroupIntoViewbox.dmp (267,100 bytes) 2024-01-31 16:26 https://www.noesisengine.com/bugs/file_download.php?file_id=2128&type=bug GroupingControlGrid.dmp (257,868 bytes) 2024-02-02 12:32 https://www.noesisengine.com/bugs/file_download.php?file_id=2138&type=bug GroupGridTemplate.dmp (278,514 bytes) 2024-02-14 13:29 https://www.noesisengine.com/bugs/file_download.php?file_id=2174&type=bug GroupingGridTemplate.dmp (274,904 bytes) 2024-02-15 18:09 https://www.noesisengine.com/bugs/file_download.php?file_id=2181&type=bug |
||||
Notes | |
(0009145)
fllorens 2024-01-31 16:26 |
Also seen here: https://youtu.be/kflGfJy82iA?feature=shared&t=1758 |
(0009158)
fllorens 2024-02-02 12:32 |
Also seen here: https://youtu.be/ZnJH8w53qek?feature=shared&t=1586 |
(0009186)
fllorens 2024-02-14 13:29 |
Also seen here: https://youtu.be/1QvVFp6DYF8?feature=shared&t=539 |
(0009197)
fllorens 2024-02-15 18:09 |
Also seen here: https://youtu.be/hFnN53v4kKU?feature=shared&t=481 |
(0009208)
dfranjic 2024-02-16 18:37 |
FrameworkTemplate was sealed, thus creating this issue + the single-child content issue (0002997) |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3081 | [NoesisGUI] Studio | minor | have not tried | 2024-02-13 13:14 | 2024-02-16 18:37 |
Reporter: | fllorens | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Crash while pasting value in width property | ||||
Description: | Seen here: https://youtu.be/-pcq9TTrCOI?feature=shared&t=671 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
WidthCopyPaste.zip (36,885 bytes) 2024-02-13 13:14 https://www.noesisengine.com/bugs/file_download.php?file_id=2162&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3082 | [NoesisGUI] Studio | minor | have not tried | 2024-02-13 13:16 | 2024-02-16 18:36 |
Reporter: | fllorens | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Changing thickness value with mouse wheel crashed the Studio | ||||
Description: | Seen here: https://youtu.be/-pcq9TTrCOI?feature=shared&t=973 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
MouseWheelOnThickness.zip (35,521 bytes) 2024-02-13 13:16 https://www.noesisengine.com/bugs/file_download.php?file_id=2163&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3094 | [NoesisGUI] Studio | minor | have not tried | 2024-02-16 17:07 | 2024-02-16 17:17 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Crash deleting resource from resource dictionary | ||||
Description: | As seen here: https://youtu.be/XCrMiWSxaRc?feature=shared&t=719 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
CrashDeletingresource.dmp (262,728 bytes) 2024-02-16 17:07 https://www.noesisengine.com/bugs/file_download.php?file_id=2183&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3023 | [NoesisGUI] Studio | minor | have not tried | 2024-01-22 11:13 | 2024-02-16 14:34 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Crash when grouping into a StackPanel | ||||
Description: |
As seen here: https://youtu.be/jTX2Izz7zj8?feature=shared&t=440 I'm attaching the crash dump |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
GroupStackPanel.dmp (263,772 bytes) 2024-01-22 11:13 https://www.noesisengine.com/bugs/file_download.php?file_id=2083&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3031 | [NoesisGUI] Studio | crash | always | 2024-01-22 17:03 | 2024-02-16 14:34 |
Reporter: | dstewart | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Grouping any element into a StackPanel from the ContextMenu Crashes the Application | ||||
Description: |
The application crashes when attempting to wrap any element into a StackPanel from the layer's "Group Into" context menu. Video and Dump Attached. Notes: - All other "Group Into" options work without issue. It appears to only be with the StackPanel. - Placing an element into a StackPanel works by dragging a StackPanel into the layer hierarchy, and drag-and-dropping the desired element into it. - This issue occurs with all element types, and not just the TextBlock. |
||||
Tags: | |||||
Steps To Reproduce: |
Repro Steps: 1) Create a new page, and drag any element into the master Grid layer. This can be any element type, but a TextBlock is a good choice. 2) Right-Click on the newly-placed TextBlock, and from the ContextMenu, Select Format->Group Into-> StackPanel Observe how the application crashes. Expected results: The selected element is placed into a StackPanel in the layer hierarchy without crashing. |
||||
Additional Information: | |||||
Attached Files: |
20240122_105041.dmp (136,725 bytes) 2024-01-22 17:03 https://www.noesisengine.com/bugs/file_download.php?file_id=2092&type=bug 2024-01-22 10-50-27.mp4 (1,853,655 bytes) 2024-01-22 17:03 https://www.noesisengine.com/bugs/file_download.php?file_id=2093&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3089 | [NoesisGUI] Studio | trivial | always | 2024-02-14 13:24 | 2024-02-16 12:53 |
Reporter: | fllorens | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Resource Create ComboBox is expanded when selecting resource dictionary | ||||
Description: | As seen here: https://youtu.be/1QvVFp6DYF8?feature=shared&t=371 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2933 | [NoesisGUI] Studio | minor | always | 2023-12-11 19:41 | 2024-02-16 12:52 |
Reporter: | maherne | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Add resources ComboBox issues | ||||
Description: |
There are a number of issues with the add resources combobox, in the Resources panel: * Selecting a result in search does not create the resource, I need to select result, then click the TextBox input again, and press enter. * The ComboBox dropdown/content menu does not go away when clicking outside of it. * The ComboBox is not disabled when no ResourceDictionary is selected. * Selecting an element in the Navigator does not select it in the Resources panel, instead you need to re-select it in order to see or add to it's resources. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2909 | [NoesisGUI] Studio | minor | random | 2023-11-30 17:02 | 2024-02-16 11:56 |
Reporter: | fllorens | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | unable to reproduce | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Crash when converting resource brush to local | ||||
Description: | as seen here https://youtu.be/NNZQ2ZvIXC0?feature=shared&t=1104 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2899 | [NoesisGUI] Studio | minor | always | 2023-11-27 17:46 | 2024-02-16 11:17 |
Reporter: | maherne | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Deleting an InlineUIContainer leads to invalid XAML | ||||
Description: | When deleting an InlineUIContainer from a TextBlock, using the Navigator, the opening bracket "<" of the next Inline is also removed, leading to invalid XAML. | ||||
Tags: | |||||
Steps To Reproduce: |
Using the following XAML, delete the InlineUIContainer using the Navigator: <TextBlock><Run Text="BeforeInline"/><InlineUIContainer><Button Content="Button" Width="80" Height="30"/></InlineUIContainer><Run Text="AfterInline"/></TextBlock> This XAML will be the result, notice the missing "<" from the last Run: <TextBlock><Run Text="BeforeInline"/>Run Text="AfterInline"/></TextBlock> |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2968 | [NoesisGUI] Studio | minor | have not tried | 2023-12-20 19:12 | 2024-02-16 09:14 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Crash when returning scope from a template | ||||
Description: | As seen here: https://youtu.be/uJoLl116edE?feature=shared&t=896 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
ReturningScope.dmp (226,682 bytes) 2024-02-05 12:08 https://www.noesisengine.com/bugs/file_download.php?file_id=2141&type=bug |
||||
Notes | |
(0009161)
fllorens 2024-02-05 12:08 |
Also seen here: https://youtu.be/sjX1ioMZoKA?feature=shared&t=2426 |
(0009203)
dfranjic 2024-02-16 02:34 |
I pushed a commit (r13402) that might fix this. I feel like the issue is deeper than what my fix assumes. I'll leave this open, if you find it happen again please report, esp if you find a way to reproduce this. |
(0009206)
fllorens 2024-02-16 09:14 |
Thanks Dario, I'll try to reproduce it again and will inform you. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3060 | [NoesisGUI] Studio | minor | have not tried | 2024-02-01 14:43 | 2024-02-16 03:00 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Crash when selecting element while editing a control's visual state | ||||
Description: | As seen here: https://youtu.be/lkBu4ASM8Pk?feature=shared&t=926 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
selectElementVisualState.dmp (269,852 bytes) 2024-02-01 14:43 https://www.noesisengine.com/bugs/file_download.php?file_id=2135&type=bug SelectElementDirectional.dmp (291,668 bytes) 2024-02-01 14:45 https://www.noesisengine.com/bugs/file_download.php?file_id=2136&type=bug |
||||
Notes | |
(0009149)
fllorens 2024-02-01 14:45 |
Also seen here, this time selecting with the keyboard arrows: https://youtu.be/lkBu4ASM8Pk?feature=shared&t=969 |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3055 | [NoesisGUI] Studio | minor | have not tried | 2024-01-31 16:17 | 2024-02-16 03:00 |
Reporter: | fllorens | Platform: | |||
Assigned To: | maherne | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Selecting textblock inside template crashes the app | ||||
Description: | as seen here: https://youtu.be/kflGfJy82iA?feature=shared&t=1362 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
SelectingTetblockTemplate.dmp (264,053 bytes) 2024-01-31 16:17 https://www.noesisengine.com/bugs/file_download.php?file_id=2127&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3059 | [NoesisGUI] Studio | minor | have not tried | 2024-02-01 14:38 | 2024-02-16 02:58 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Crash when selecting hidden element inside a template | ||||
Description: |
As seen here: https://youtu.be/lkBu4ASM8Pk?feature=shared&t=528 Trying to select a hidden element in the navigator |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
ClickOnNavigatorTemplate.dmp (229,818 bytes) 2024-02-01 14:38 https://www.noesisengine.com/bugs/file_download.php?file_id=2134&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3076 | [NoesisGUI] Studio | minor | have not tried | 2024-02-07 15:54 | 2024-02-16 02:55 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Trying to edit a Style with the context menu crashed the Studio | ||||
Description: | As seen here: https://youtu.be/ziDYO0mx9rs?feature=shared&t=1578 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
EditStyle.dmp (412,748 bytes) 2024-02-07 15:54 https://www.noesisengine.com/bugs/file_download.php?file_id=2156&type=bug |
||||
Notes | |
(0009204)
dfranjic 2024-02-16 02:55 |
Same as 0003055 and 0003066. Fixed previously. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3066 | [NoesisGUI] Studio | minor | have not tried | 2024-02-05 17:40 | 2024-02-16 02:54 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Crash when selecting path element in template | ||||
Description: | As seen here: https://youtu.be/Lc6FPwsQfto?feature=shared&t=442 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
SelectingPathTemplate.dmp (268,651 bytes) 2024-02-05 17:40 https://www.noesisengine.com/bugs/file_download.php?file_id=2142&type=bug |
||||
Notes | |
(0009202)
dfranjic 2024-02-16 02:05 |
The cause of this bug was same as 0003055. It has been fixed with r13363. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3056 | [NoesisGUI] Studio | minor | have not tried | 2024-01-31 16:29 | 2024-02-16 02:42 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Crash when selecting with direct selection tool | ||||
Description: | Crash when selecting outside the template container with the direct selection tool as seen here: https://youtu.be/kflGfJy82iA?feature=shared&t=2240 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
ClickWithDirectSelection.dmp (261,164 bytes) 2024-01-31 16:29 https://www.noesisengine.com/bugs/file_download.php?file_id=2129&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3061 | [NoesisGUI] Studio | minor | have not tried | 2024-02-02 12:27 | 2024-02-16 02:00 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Crash when resizing path inside template | ||||
Description: | As seen here: https://youtu.be/ZnJH8w53qek?feature=shared&t=1161 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
ResizingPath.dmp (247,820 bytes) 2024-02-02 12:27 https://www.noesisengine.com/bugs/file_download.php?file_id=2137&type=bug |
||||
Notes | |
(0009201)
dfranjic 2024-02-16 02:00 |
This has been fixed with Sergio's r13398 commit. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2948 | [NoesisGUI] Studio | minor | have not tried | 2023-12-14 16:53 | 2024-02-15 23:48 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Crash when reopening the Studio | ||||
Description: | Reopening the Studio after a crash sometimes crashes the Studio again. Crashing project attached. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
CrashWhenReopening.zip (66,570 bytes) 2023-12-14 16:53 https://www.noesisengine.com/bugs/file_download.php?file_id=2060&type=bug Backups.zip (36,529 bytes) 2023-12-14 18:02 https://www.noesisengine.com/bugs/file_download.php?file_id=2061&type=bug |
||||
Notes | |
(0009027)
dfranjic 2023-12-14 17:28 (Last edited: 2023-12-14 17:29) |
Something that would probably be useful for this issue is to attach the backup files also, which can be accessed by going to the %APPDATA%/NoesisStudio/Backupsdirectory. Try to find, if possible, a directory containing the backup version of the XAML file (maybe by using "Date modified" in File Explorer and/or viewing the XAML contents). |
(0009028)
fllorens 2023-12-14 18:02 |
Sure thing, thanks Dario |
(0009200)
dfranjic 2024-02-15 23:48 |
I guess we can close this, as corrupted XAML backups aren't possible anymore due to the validation of xaml in place before saving the backup. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3078 | [NoesisGUI] Studio | minor | have not tried | 2024-02-08 16:47 | 2024-02-15 20:17 |
Reporter: | fllorens | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Trying to select a button crashed the Studio | ||||
Description: | As seen here: https://youtu.be/nV6rqniAGM4?feature=shared&t=619 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
TryingtoSelectButton.dmp (271,500 bytes) 2024-02-08 16:47 https://www.noesisengine.com/bugs/file_download.php?file_id=2158&type=bug WeirdElementSizeAfterMergingDictionary.dmp (274,138 bytes) 2024-02-13 13:08 https://www.noesisengine.com/bugs/file_download.php?file_id=2161&type=bug WeirdAdornerSize.dmp (252,192 bytes) 2024-02-14 13:28 https://www.noesisengine.com/bugs/file_download.php?file_id=2173&type=bug |
||||
Notes | |
(0009181)
fllorens 2024-02-13 13:08 (Last edited: 2024-02-13 13:08) |
The problem manifests itself always after a merge dictionary command, and all the elements are affected, as seen here for example: https://youtu.be/-pcq9TTrCOI?feature=shared&t=146 |
(0009185)
fllorens 2024-02-14 13:28 |
Also seen here: https://youtu.be/1QvVFp6DYF8?feature=shared&t=171 |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3090 | [NoesisGUI] C# SDK | minor | always | 2024-02-14 15:16 | 2024-02-15 18:06 |
Reporter: | voula_d | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2.3 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2.4 | ||||
Platform: | Any | ||||
Summary: | Cannot set RenderTransform to a MatrixTransform from code | ||||
Description: |
I am trying to set an element's RenderTransformProperty to a MatrixTranform from code. Trying to set the property to an existing MatrixTransform is not working. I need to assign an new MatrixTransform every time. The following is not working. MatrixTransform tform = (MatrixTransform)Needle.GetValue(FrameworkElement.RenderTransformProperty); RenderTransform = tform; This is working: RenderTransform = new MatrixTransform(); I also tried the code below which did not work either: Element.SetValue(FrameworkElement.RenderTransformProperty, tform); |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
NoesisTest.zip (19,869 bytes) 2024-02-14 15:16 https://www.noesisengine.com/bugs/file_download.php?file_id=2176&type=bug NeedleIdentity.png (626 bytes) 2024-02-15 14:00 https://www.noesisengine.com/bugs/file_download.php?file_id=2177&type=bug NeedleTransformed.png (2,383 bytes) 2024-02-15 14:00 https://www.noesisengine.com/bugs/file_download.php?file_id=2178&type=bug image.png (29,582 bytes) 2024-02-15 14:20 https://www.noesisengine.com/bugs/file_download.php?file_id=2179&type=bug image-2.png (13,092 bytes) 2024-02-15 14:25 https://www.noesisengine.com/bugs/file_download.php?file_id=2180&type=bug |
||||
Notes | |
(0009190)
sfernandez 2024-02-15 14:00 |
Thanks for the test project. I've checked the code and it seems that the transform is being applied as expected. If I remove the line [Needle.RenderTransform = tform;] from aTestControl.xaml.cs, then the element keeps the default Identity transform and the needle is rendered differently. See attached images. |
(0009191)
voula_d 2024-02-15 14:19 |
If you enable line 52: Needle.SetValue(FrameworkElement.RenderTransformProperty, tform); the needle should render in an angle. And it isn't for me. Are you seeing a different behaviour after uncommenting line 52? |
(0009192)
voula_d 2024-02-15 14:20 |
|
(0009193)
voula_d 2024-02-15 14:25 |
This is not working either. Still no angled needle when setting tform directly to RenderTransform. |
(0009195)
sfernandez 2024-02-15 17:46 |
Oh sorry, I did the tests with the project configured to use WPF... now I see what is happening. This is clearly a bug in Noesis, the default MatrixTransform (Identity) returned does not clone correctly. We will fix it. |
(0009196)
voula_d 2024-02-15 18:06 |
Thank you! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2734 | [NoesisGUI] Studio | minor | always | 2023-10-19 17:35 | 2024-02-15 15:45 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Windows | ||||
Summary: | Path offset in templates | ||||
Description: |
Paths are wobbling when edited, and sometimes show the vertexes with an offset from the edges. Shown here in 8:44: https://youtu.be/CRD_ZB24yiw?feature=shared&t=524 And here: https://youtu.be/z2pIHjyD0dU?feature=shared&t=1889 |
||||
Tags: | |||||
Steps To Reproduce: |
1- Create a template 2- Add a path with the pen tool and remove the stroke 3- Edit the path moving vertexes around |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0009087)
dfranjic 2024-01-15 14:49 |
It's due to "Layout Rounding" being set to True in templates. My proposed solution: temporarily turning off the layout rounding on drag start, and then returning the original state of "Layout rounding" when the dragging stops (+ an additional invalidation of Path layout properties, so that it adjusts it's position after the Layout rounding has been set to original value) |
(0009194)
dfranjic 2024-02-15 15:45 |
Fixed by applying temporary UseLayoutRound=False value to the paths on drag start and then removing the value on drag end. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3072 | [NoesisGUI] Studio | minor | have not tried | 2024-02-07 15:43 | 2024-02-15 13:18 |
Reporter: | fllorens | Platform: | |||
Assigned To: | maherne | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Crash when clicking on gradient widget inside a style | ||||
Description: | As seen Here: https://youtu.be/ziDYO0mx9rs?feature=shared&t=1008 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
GradientWidgetStyle.dmp (226,128 bytes) 2024-02-07 15:43 https://www.noesisengine.com/bugs/file_download.php?file_id=2152&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2950 | [NoesisGUI] Studio | feature | have not tried | 2023-12-15 11:11 | 2024-02-14 17:55 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | maherne | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Add a new Transform tool that will affect RenderTransform | ||||
Description: |
Create a new tool used specifically for modifying the RenderTransform of an element. When this tool is active: - moving the element will update its TranslateTransform X/Y - resizing the element will update its ScaleTransform ScaleX/Y - it will show rotation and skew handlers in the adorner to modify RotateTransform and SkewTransform (remove from ResizeAdorner) - it will show the RenderTransformOrigin handler in the adorner (remove from ResizeAdorner) |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0009033)
dfranjic 2023-12-15 14:32 (Last edited: 2023-12-15 14:33) |
The functionality to update the TranslateTransform, ScaleTransform, SkewTransform and RotateTransform is already in the ElementDragManager so I suggest just improving upon it and reusing it (or well, in case of reimplementing it, for it to be done in the ElementDragManager) so that other parts of the Studio can take advantage of that functionality if needed in the future. There are not many bugs regarding updating transforms via ElementDragManager that I am aware of, but one that I know of is that when a rotation & skew is applied, rotating and additionally skewing the element will look fine while doing it, but upon the mouse release the element will be differently skewed/rotated. The reason for this is I think the missing proper implementation of `DecomposeMatrix()` function located in the ElementDragManager.cpp file. Currently the ElementDragManager decides in StartDrag/StartResize methods whether or not to use the transforms when dragging/resizing an element with a following check: if (storyboardObj && storyboardObj->GetIsRecording()) { data->useTransform = true; } Probably having an additional boolean parameter in those two methods would be enough to make the ElementDragManager use the transforms when dragging/resizing. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2974 | [NoesisGUI] Studio | minor | always | 2023-12-28 11:21 | 2024-02-14 15:02 |
Reporter: | fllorens | Platform: | |||
Assigned To: | maherne | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | TextBlock resizing acting weird when recording storyboard | ||||
Description: | As seen here https://youtu.be/fiHAn3LkVjc?feature=shared&t=678 | ||||
Tags: | |||||
Steps To Reproduce: |
1. Draw a TextBlock 2. Create a Storyboard and hit the Record button 3. Use the TextBlock adorners to resize it |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2874 | [NoesisGUI] Studio | minor | always | 2023-11-22 17:26 | 2024-02-14 14:00 |
Reporter: | fllorens | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Flipped template/style adorner when flipping a path | ||||
Description: | Template / Style adorner appears flipped when applying a Scale transform of -1 to a path | ||||
Tags: | |||||
Steps To Reproduce: |
1. Import a path 2. TransformGroup scale -1 either X or Y |
||||
Additional Information: | |||||
Attached Files: |
InvertedAdorner.jpg (39,472 bytes) 2023-11-22 17:26 https://www.noesisengine.com/bugs/file_download.php?file_id=2026&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2910 | [NoesisGUI] Studio | minor | always | 2023-11-30 19:19 | 2024-02-14 12:40 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Path offset when editing paths inside canvas | ||||
Description: | as seen here https://youtu.be/NNZQ2ZvIXC0?feature=shared&t=1175 | ||||
Tags: | |||||
Steps To Reproduce: |
1. Import an SVG 2. Use the direct selection tool to edit one path inside the generated canvas |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0009180)
sfernandez 2024-02-12 21:09 |
The problem seems to be in PathEngineObject Render() and CalculateOffsetAndScale(). |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2904 | [NoesisGUI] Studio | minor | always | 2023-11-29 11:34 | 2024-02-13 19:04 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | ListBox ItemContainer Style can't be set with resource style | ||||
Description: | Style properties of a ListBox don't show resource options ( when they are present in the resources panel ) and don't allow to create a new resource, crashing the app. Also the user can't drag and drop the resource to the style property. | ||||
Tags: | |||||
Steps To Reproduce: |
1. create a ListBox with ListBoxItems 2. Go to the ListBox properties Style section 3. In the ItemContainerStyle property try to apply resource with the three dotted menu ( if you have one ) or create a new resource |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2931 | [NoesisGUI] Studio | minor | always | 2023-12-11 19:04 | 2024-02-13 15:01 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Can't create a ItemTemplate | ||||
Description: | as seen here https://youtu.be/Q6D2MOPir84?feature=shared&t=2762 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2938 | [NoesisGUI] Studio | minor | always | 2023-12-12 17:28 | 2024-02-13 15:00 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Data context not available inside templates | ||||
Description: | as seen here: https://youtu.be/RDyPfWjnrrk?feature=shared&t=558 | ||||
Tags: | |||||
Steps To Reproduce: |
1. Create data context 2. Edit a template 3. Try to bind to data context |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0009182)
dfranjic 2024-02-13 15:00 |
Studio now assigns generated "dummy" data context when editing in the dummy editor |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2953 | [NoesisGUI] Studio | feature | have not tried | 2023-12-15 11:35 | 2024-02-13 14:59 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Improve UX for editing templates and styles of ItemsControls | ||||
Description: |
Right now is almost impossible to work with ItemsControls because it is hard to assign and edit the different pieces required by those controls: - Template (of the ItemsControl itself) has no problem, as it can be edited as the rest of controls -- ItemsPanel (the template of the Panel used by the ItemsPresenter to host the items) can only be created in Resources panel and can't be assigned with the new Properties panel rework --- ItemContainerStyle (the style used by the container created for each item) can only be created in Resources panel and can't be assigned with the new Properties panel rework ---- ItemTemplate (the template used to present each of the items) can only be created in Resources panel and can't be assigned with the new Properties panel rework |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
itemscontrol-t-s.png (76,370 bytes) 2023-12-15 11:38 https://www.noesisengine.com/bugs/file_download.php?file_id=2062&type=bug |
||||
Notes | |
(0009031)
sfernandez 2023-12-15 11:38 |
Francesc UX proposal attached |
(0009032)
sfernandez 2023-12-15 11:42 |
Something similar will be needed to create/edit/apply templates for the 'Content' of ContentControls (ContentTemplate) and the 'Header' of HeaderedContentControls and HeaderedItemsControls (HeaderTemplate). |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2952 | [NoesisGUI] Studio | minor | have not tried | 2023-12-15 11:28 | 2024-02-13 14:59 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Allow editing ItemTemplate directly without a dummy editor | ||||
Description: |
When working with an ItemsControl in the viewport we want to be able to edit the ItemTemplate along with the rest of the UI and with any design data that is being assigned to the page. We don't want to switch to a dummy editor without context. The dummy editor should only be used when editing from the resources panel. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2778 | [NoesisGUI] Studio | minor | always | 2023-10-26 15:42 | 2024-02-12 17:41 |
Reporter: | fllorens | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Caret offset in the XAML view | ||||
Description: | As shown here: https://youtu.be/3C8q3FXvqKM?feature=shared&t=1792 | ||||
Tags: | |||||
Steps To Reproduce: |
1. Open a large xaml file 2. Go to 'XAML' tab in the viewport 3. Scroll the xaml 4. Try to select anything |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2812 | [NoesisGUI] Studio | feature | always | 2023-11-02 13:10 | 2024-02-12 17:40 |
Reporter: | fllorens | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Zoom Selection command not implemented | ||||
Description: | Zomm Selection command and associated shortcut (F) doesn't seem to be working right now. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3080 | [NoesisGUI] Studio | minor | N/A | 2024-02-12 16:31 | 2024-02-12 16:31 |
Reporter: | maherne | Platform: | |||
Assigned To: | maherne | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Add property configuration for complex properties | ||||
Description: | Add the ability to configure properties (ordering, name, visibility) for complex properties. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2783 | [NoesisGUI] Studio | minor | always | 2023-10-28 02:53 | 2024-02-12 14:05 |
Reporter: | maherne | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | CharacterSpacing binding leads to a failed assert when TextWrapping is set to Wrap | ||||
Description: | When a TextBlock CharacterSpacing property is bound to the CharacterSpacing of another TextBlock, and the destination TextBlock has TextWrapping set to Wrap, an assert is hit in Drawing\VGL\Src\VGLTextLayout.cpp, line 600. | ||||
Tags: | |||||
Steps To Reproduce: | Select a TextBlock and set TextWrapping to Wrap, and CharacterSpacing to a value greater than zero. Double click the TextBlock to edit with TextBlockAdorner, this will create a CharacterSpacing and TextWrapping binding, and the assert will be hit. | ||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2814 | [NoesisGUI] Studio | minor | always | 2023-11-02 13:50 | 2024-02-12 13:04 |
Reporter: | fllorens | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Property value's context menu doesn't seem to be working | ||||
Description: | As seen here https://youtu.be/K0r8EANNB6k?feature=shared&t=3897 the 'cut copy paste' context menu don't do anything at all. | ||||
Tags: | |||||
Steps To Reproduce: |
1. Go to properties panel and select a value 2. Right-click to show the context menu and use its commands |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2781 | [NoesisGUI] Studio | minor | always | 2023-10-28 02:41 | 2024-02-12 11:30 |
Reporter: | maherne | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | TextBlock Text property does not return the correct value when there are Run Text property bindings | ||||
Description: | When a TextBlock contains a Run that has a binding in it's Text property, the parent TextBlock Text DP will not return the binding output value in it's text until the Inlines collection has been modified. | ||||
Tags: | |||||
Steps To Reproduce: |
<TextBlock TextWrapping="Wrap" Width="365" Height="206" Margin="622,200,489,0" FontSize="18"> <Run Text="Before"/><Run Text="{Binding Path=SomeProperty}"/><Run Text="After"/> </TextBlock> In the example above, if the value of SomeProperty is "Binding", then calling GetText on the TextBlock will return "BeforeAfter", instead of the correct value "BeforeBindingAfter". Updating the Inlines collection, e.g. by adding or removing an Inline, will cause GetText to return the correct value "BeforeBindingAfter". |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2780 | [NoesisGUI] Studio | minor | always | 2023-10-28 02:32 | 2024-02-12 11:30 |
Reporter: | maherne | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Background Brush changes in Inlines not updating in render | ||||
Description: | When changing the Background Brush of an Inline, the change doesn't appear in the render until the Inlines collection is updated. | ||||
Tags: | |||||
Steps To Reproduce: |
Select a Run in the TextBlockAdorner and change the Background Brush. The change will be visible in the TextBlockAdorner, this is due to the TextBoxView being updated. Deselect the TextBlock to exit the TextBlockAdorner, the owner TextBlock will not show the change. Changing a DP on the TextBlock, or an Inline within it, will force an update and the change will be visible. |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2883 | [NoesisGUI] Studio | feature | always | 2023-11-23 13:25 | 2024-02-12 11:29 |
Reporter: | fllorens | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Moving path points with directional keys | ||||
Description: | It should be possible to move a selection of path points with the directional keys ( seen here https://youtu.be/nyaiHuqcR08?feature=shared&t=3319 ) as Blend, Illustrator, Figma etc allow to do | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2894 | [NoesisGUI] Studio | feature | have not tried | 2023-11-24 15:41 | 2024-02-12 11:24 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Add lock toggle to alignment properties | ||||
Description: |
Right now when an element is moved around inside a panel (Grid), the drag manager updates its alignment and margin properties to generate the minimum margin possible. We can provide a "lock" toggle so the user can keep a desired alignment so the drag manager won't change it. We can even represent this information in the MarginAdorner by drawing the margin with a different style (dashed line vs solid line for locked for example). |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2896 | [NoesisGUI] Studio | feature | have not tried | 2023-11-24 15:53 | 2024-02-12 11:23 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Show padding and margin adorners when using the properties | ||||
Description: |
Something similar to what Chrome inspector does when hovering over the html nodes (see attached image), we can show the padding and margins applied to an element when editing those properties. And maybe we can do the same when hovering the element in the Navigator. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
layoutmp.png (6,124 bytes) 2023-11-24 15:53 https://www.noesisengine.com/bugs/file_download.php?file_id=2037&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2975 | [NoesisGUI] Studio | feature | have not tried | 2023-12-28 11:43 | 2024-02-12 11:22 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | User should be allowed to change multi-selection properties | ||||
Description: |
As seen here https://youtu.be/fiHAn3LkVjc?feature=shared&t=1256 there are workflows that require to change the same property for a large selection of elements. The user should be able to change shared properties of a multi-selection. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3046 | [NoesisGUI] Studio | minor | always | 2024-01-25 11:48 | 2024-02-12 11:21 |
Reporter: | dstewart | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Hit Test Visibility Property Improperly-Set by Default | ||||
Description: |
In essence, the state of the Hit Test Visibility property does not correctly reflect its actual property. By default, elements are shown with Hit Test Visibility "Off", but in reality are "On" and intercept mouse interactions. To make a layer Hit Test Invisible, the user must first first tick the Hit Test Visibility property to "On" (even though it shows "Off"), and then untick it for the Invisibility to apply. |
||||
Tags: | |||||
Steps To Reproduce: |
Repro Steps: 1) Create a new page. 2) Create 2 layers in the Master Grid of the page: A 'Button' (Button) layer, and a 'Foreground' (Grid) layer on top of it. For now, do not apply any background to the 'Foreground' layer. 3) Press the 'Run' icon, and hover over the button. Observe how it has a visible 'MouseOver' interaction state. 4) Apply a background fill to the 'Foreground' layer. This can just be a Solid Colour fill with enough transparency to see the button underneath/through it. Observe how the "Hit Test Visibility" property is unticked (off) -- meaning that in theory it should be Hit Test Invisible and should not intercept mouse interactions. 5) Press the 'Run' icon, and hover over the button. Observe how it is no longer detecting Mouse Input. 6) Return to the 'Foreground' layer, and tick the "Hit Test Visibility" property to "On" (meaning it will intercept mouse inputs). 7) Press the 'Run' icon, and hover over the button. Observe how it is still not receiving Mouse Input. 8) Return to the 'Foreground' layer, and untick the "Hit Test Visibility" property to "Off" (meaning it will no longer intercept mouse inputs). 9) Press the 'Run' icon, and over over the button. Observe how it now correctly receives Mouse Input. Expected Result: If a layer has the Hit Test Visibility unticked (set to "Off"), it should actually be Hit Test Invisible and not intercept Mouse Inputs. I believe the solution here is to ensure that all new elements created have Hit Test Visibility ticked to "On" by default, forcing the user to come and untick any elements they do not wish to have Hit Test Visibility. |
||||
Additional Information: | |||||
Attached Files: |
2024-01-25 05-27-18_Compressed.mp4 (5,011,624 bytes) 2024-01-25 11:48 https://www.noesisengine.com/bugs/file_download.php?file_id=2109&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3045 | [NoesisGUI] C# SDK | major | always | 2024-01-24 21:44 | 2024-02-10 13:21 |
Reporter: | darthmaule2 | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2.0 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2.4 | ||||
Platform: | Any | ||||
Summary: | Upgrading from Noesis 3.1.7 to 3.2.0 made startup slower | ||||
Description: | Upgrading from Noesis 3.1.7 to 3.2.0 made our application startup about 12 seconds slower on Linux ARM64 | ||||
Tags: | |||||
Steps To Reproduce: |
Boot 3.1.7 --> 1 minute 26 seconds Boot 3.2.0 --> 1 minute 38 seconds |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0009120)
jsantos 2024-01-25 01:33 (Last edited: 2024-01-25 01:35) |
Wow, these are super big loading times. Is this more than 1 minute time spend in Noesis code? If so, we definitely need to understand what's going on to optimize this. Also a lot of loading time optimizations are coming with 3.2.3, but I don't think they are going to be useful in this scenario. |
(0009122)
darthmaule2 2024-01-25 12:28 |
Most of our time spent during startup, as illustrated by Juan, is in the JIT. I think publishAOT would make that much faster, but Noesis is not yet compatible with that (I filed a separate bug for that) At least part of the slowdown for us in Noesis 3.2.0 is the WebBrowser, which is this call in our application: Assembly.Load("Noesis.App.Controls.WebBrowser"); Noesis 3.1.7: Timing: WebBrowser: 53 ms Noesis 3.2.0: Timing: WebBrowser: 6.494 ms Calling it dynamically like that also make it impossible to use either "PublishAOT" or "SingleFile" if I remember correctly. I'm not sure if there is a different way to do that? |
(0009135)
jsantos 2024-01-29 15:05 (Last edited: 2024-01-29 15:05) |
Loading the assembly shouldn't be affected by the Noesis version you are using. This is quite unexpected and we should find time to analyze it. Are you consistently reproducing this difference? (53ms vs 6494ms) ? |
(0009175)
darthmaule2 2024-02-08 20:36 |
I believe so and that this problem occurs in the latest application software I've sent to Noesis. I'd also love to test a 3.2.3 beta, whenever that is availalble. |
(0009176)
jsantos 2024-02-09 12:31 |
3.2.3. was released yesterday, could you please try that version first before we start to investigate what's happening? |
(0009177)
darthmaule2 2024-02-09 13:31 |
That build works on Windows but just crashes immediately on our device. 3.2.2 also crashed immediately on our device, although I think it was a different issue that was supposedly fixed. [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/libthread_db.so.1". Core was generated by `./UIShell'. Program terminated with signal SIGSEGV, Segmentation fault. #0 0x0000ffbe978ed3d4 in ?? () from /opt/mentor/UiShell/libNoesis.so [Current thread is 1 (Thread 0xffbeb6325130 (LWP 5653))] (gdb) bt #0 0x0000ffbe978ed3d4 in ?? () from /opt/mentor/UiShell/libNoesis.so #1 0x0000ffbe9797a104 in Noesis_PropertyMetadata_BindPropertyChangedCallback () from /opt/mentor/UiShell/libNoesis.so #2 0x0000ffff6c81ac34 in ?? () #3 0x0000000008a1ea73 in ?? () Backtrace stopped: previous frame identical to this frame (corrupt stack?) (gdb) |
(0009178)
darthmaule2 2024-02-09 21:11 |
Just realized I'm getting that error with my current build even without the upgrade. Must have been a recent change I made. Sorry, stay tuned :) |
(0009179)
darthmaule2 2024-02-10 13:21 |
OK. This can be closed. My timing logs were wrong and I've upgraded to Noesis 3.2.3 and unable to reproduce. Thanks! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2511 | [NoesisGUI] VSCode | block | always | 2023-02-12 17:52 | 2024-02-09 12:49 |
Reporter: | miZyind | Platform: | |||
Assigned To: | maherne | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2.0 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2.4 | ||||
Platform: | macOS | ||||
Summary: | The previewer of NoesisGUI XAML Tools (VSCode Extensions) always showing a blank blue background, it doesn't work properly on. | ||||
Description: |
As I mentioned here: https://www.noesisengine.com/forums/viewtopic.php?t=2861&sid=cab69739d3b05d0e3b59629ef4897d34 I can't use the previewer to view XAML properly. I also downloaded the sample files and the beta version of the extensions. However, neither of them works. I follow maherne's information to check the "/tmp/noesis" folder. There are some png files but all of them are blank too (have file size but no content). My device is MacBook Pro 2019 (Intel). |
||||
Tags: | xaml | ||||
Steps To Reproduce: |
1. Install the latest v0.0.33 or the beta version provided by maherne of NoesisGUI XAML Tools for VSCode. 2. Open the official Noesis samples and pick up the XAML file to open the previewer. 3. The previewer will only show the blank blue background. |
||||
Additional Information: | |||||
Attached Files: |
Screenshot 2023-02-12 at 11.34.36 PM.png (988,031 bytes) 2023-02-12 17:52 https://www.noesisengine.com/bugs/file_download.php?file_id=1754&type=bug Screenshot 2023-02-12 at 11.37.07 PM.png (231,293 bytes) 2023-02-12 17:52 https://www.noesisengine.com/bugs/file_download.php?file_id=1755&type=bug Screenshot 2023-02-13 at 9.13.58 AM.png (1,106,747 bytes) 2023-02-13 03:18 https://www.noesisengine.com/bugs/file_download.php?file_id=1756&type=bug Screenshot 2023-02-13 at 9.17.06 AM.png (1,491,270 bytes) 2023-02-13 03:18 https://www.noesisengine.com/bugs/file_download.php?file_id=1757&type=bug lang-server-test.png (2,610 bytes) 2023-02-14 08:01 https://www.noesisengine.com/bugs/file_download.php?file_id=1758&type=bug lang-server-test.log (482 bytes) 2023-02-14 08:01 https://www.noesisengine.com/bugs/file_download.php?file_id=1759&type=bug enable_debug (520 bytes) 2023-02-14 09:59 https://www.noesisengine.com/bugs/file_download.php?file_id=1760&type=bug Screenshot 2023-02-15 at 11.45.56 AM.png (224,948 bytes) 2023-02-15 05:48 https://www.noesisengine.com/bugs/file_download.php?file_id=1762&type=bug lang-server-test-2.log (1,446 bytes) 2023-02-15 05:48 https://www.noesisengine.com/bugs/file_download.php?file_id=1763&type=bug Screenshot 2023-02-24 at 9.23.51 AM.png (375,097 bytes) 2023-02-24 03:26 https://www.noesisengine.com/bugs/file_download.php?file_id=1771&type=bug lang-server-test-3.log (482 bytes) 2024-02-07 04:58 https://www.noesisengine.com/bugs/file_download.php?file_id=2147&type=bug lang-server-test-2.png (2,610 bytes) 2024-02-07 04:58 https://www.noesisengine.com/bugs/file_download.php?file_id=2148&type=bug Screenshot.jpg (1,412,462 bytes) 2024-02-07 04:58 https://www.noesisengine.com/bugs/file_download.php?file_id=2149&type=bug Screenshot 1.jpg (331,393 bytes) 2024-02-07 04:58 https://www.noesisengine.com/bugs/file_download.php?file_id=2150&type=bug |
||||
Notes | |
(0008273)
jsantos 2023-02-12 23:13 |
It seems there is a problem rendering with the vscode extension, while we prepare an instrumented version to gather more information, could you please download the latest macOS C++ SDK (3.2 Beta) at https://www.noesisengine.com/forums/viewtopic.php?t=2822 And try to launch SDKBrowser and XamlPlayer to check if they render correctly on your machine? Thank you |
(0008274)
miZyind 2023-02-13 03:18 |
I checked the latest SDKBrowser & XamlPlayer both work: |
(0008277)
maherne 2023-02-13 17:13 |
I have created a test binary which, when run, will output a test render png and log to the same folder. Could you please download this binary (link to the zip below), run it in the terminal, and then upload the output png and log here? https://drive.google.com/file/d/1P0p0PO9RXg-Ydz_epxd2_UYo9gs3uSpr Thanks! |
(0008279)
miZyind 2023-02-14 08:01 |
Hello @maherne, here are the files generated by the test tool: |
(0008280)
jsantos 2023-02-14 09:59 (Last edited: 2023-02-14 10:00) |
Thanks for the results. Unfortunately, it doesn't report enough information. I am attaching a script that will enable Metal validation (enable_debug) Please, could you: 1. Copy the attached script (enable_debug) to the folder where you have App.LangServerTool 2. Give execution permissions to the script (chmod +x enable_debug) 3. Execute the script (./enable_debug) 4. Execute our tool (./App.LangServerTool) 5. Please, send us the report again (lang-server-test.log) |
(0008288)
miZyind 2023-02-15 05:48 (Last edited: 2023-02-15 05:49) |
Here are the steps I did and the new log: - add the env vars ❯ source ./enable_debug - echo to check if the env vars have applied ❯ echo $DYLD_INSERT_LIBRARIES /usr/lib/libMTLCapture.dylib:/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/GPUToolsPlatform/libMTLToolsDiagnostics.dylib ❯ echo $METAL_DIAGNOSTICS_ENABLED 1 - run the tool ❯ ./App.LangServerTool |
(0008300)
jsantos 2023-02-23 11:58 |
Sorry, we have been really busy with Beta 3. Could you please send the full information of your MacBook Pro? |
(0008304)
miZyind 2023-02-24 03:26 |
@jsantos Here is the information from "About This Mac". If you need any extra info please tell me, thanks, and take your time! |
(0009168)
jsantos 2024-02-06 18:30 |
Could you please try with the latest version in the store (0.0.47) ? |
(0009169)
miZyind 2024-02-07 04:58 |
I've just tried the latest version 0.0.47. Unfortunately, I still have the same issue. Here are the screenshots and the log generated by App.LangServerTool (with enable_debug). |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3077 | [NoesisGUI] Unity3D | minor | always | 2024-02-08 15:16 | 2024-02-08 20:13 |
Reporter: | stonstad | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2.2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Visual Studio XAML Errors ( XLS0415) | ||||
Description: |
I'm seeing large numbers of Visual Studio XAML errors (XLS0414) and I'm not sure why. This seems like a new behavior. Screenshot included. I'm still able to compile via Unity, but in Visual Studio the errors are numerous -- more than 300 and VS stops reporting them. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
image.png (184,512 bytes) 2024-02-08 15:16 https://www.noesisengine.com/bugs/file_download.php?file_id=2157&type=bug image-2.png (18,566 bytes) 2024-02-08 20:11 https://www.noesisengine.com/bugs/file_download.php?file_id=2159&type=bug |
||||
Notes | |
(0009172)
sfernandez 2024-02-08 16:04 (Last edited: 2024-02-08 16:04) |
This is opening "Assembly-CSharp" project generated by Unity, that should only contain script (.cs) files, but I'm seeing errors about .xaml files too, did you manually change the .csproj? |
(0009173)
stonstad 2024-02-08 20:11 |
Yes, Unity has an option to include different file types within the automated generation process for Unity CSPROJ files. I have always included XAML so that I may easily open them from Visual Studio. Interestingly, they may have removed the UI for this in more recent Unity builds. |
(0009174)
stonstad 2024-02-08 20:13 |
Sounds like this is a Visual Studio/Unity bug then? |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3053 | [NoesisGUI] Unity3D | minor | always | 2024-01-30 18:47 | 2024-02-08 15:16 |
Reporter: | stonstad | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2.2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2.4 | ||||
Platform: | Any | ||||
Summary: | Per Frame Heap Memory Allocation | ||||
Description: |
I'm seeing 0.5KB of per frame allocation in Noesis.Update. 1) 240B per-frame allocation in EventArgs.InvokeHandler (Alloc 1.png). 2) 288B per-frame allocation in EventHandlerStore.RaiseEvent (Alloc 2.png) Are these known behaviors or something I might have caused on my end? encl. Alloc 1.png, Alloc 2.png. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
Alloc 1.png (116,582 bytes) 2024-01-30 18:47 https://www.noesisengine.com/bugs/file_download.php?file_id=2123&type=bug Alloc 2.png (118,796 bytes) 2024-01-30 18:47 https://www.noesisengine.com/bugs/file_download.php?file_id=2124&type=bug |
||||
Notes | |
(0009143)
jsantos 2024-01-31 09:28 |
This is a known issue with no easy solution. EventArgs in WPF are classes allocated from the heap. We need to pool these objects. |
(0009155)
stonstad 2024-02-02 00:36 |
Good to know! These are the only per-frame allocations that I have. I imagine this is a difficult fix? |
(0009157)
jsantos 2024-02-02 02:13 (Last edited: 2024-02-02 02:13) |
These specific cases can probably be easily optimized. I will find time to analyze this and I will let you know |
(0009171)
stonstad 2024-02-08 15:16 |
Thank you. I am happy to test to see if the behavior is resolved |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3070 | [NoesisGUI] Unity3D | minor | always | 2024-02-06 13:16 | 2024-02-07 13:29 |
Reporter: | jphyzic | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2.2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2.4 | ||||
Platform: | Any | ||||
Summary: | MediaElement can not open video by absolute path | ||||
Description: |
I'm using Noesis 3.2.2 in Unity on Windows 10 and I have some troubles setting MediaElement.Source. Let's assume there is a media file located in `D:\movie.mp4`. Then setting mediaElement.Source = new Uri(@"D:\movie.mp4") prints to error log: > WindowsMediaFoundation received empty file /D:/movie.mp4 > VideoPlayer cannot play url : /D:/movie.mp4 > Cannot read file. I tried different formats with following results: D:\movie.mp4 - error file:/D:\movie.mp4 - works successfully file://D:\movie.mp4 - error file:///D:\movie.mp4 - error (I believe this should be the correct path, but do not cite me on that). |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1124 | [NoesisGUI] Unity3D | major | always | 2017-07-14 03:27 | 2024-02-07 03:03 |
Reporter: | weilitao | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | high | OS Version: | |||
Status: | assigned | Product Version: | 2.0.2f2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Storyboard can not contain multiple animations targeting same property | ||||
Description: | When including multiple animations in a single storyboard, some of which targeting to the same property (although not at the same time). in Noesis, only the last animation can run. But in WPF, everything works as expected. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: |
Sample code: var storyboard = new Storyboard(); var duration = new Duration(TimeSpan.Parse("0:0:1")); var x1Animation = new DoubleAnimation() { To = 800, Duration = duration }; var y1Animation = new DoubleAnimation() { To = 800, Duration = duration }; Storyboard.SetTarget(x1Animation, demo1KingCard); Storyboard.SetTarget(y1Animation, demo1KingCard); Storyboard.SetTargetProperty(x1Animation, new PropertyPath(Canvas.LeftProperty)); Storyboard.SetTargetProperty(y1Animation, new PropertyPath(Canvas.TopProperty)); storyboard.Children.Add(x1Animation); storyboard.Children.Add(y1Animation); var beginTime = TimeSpan.Parse("0:0:1"); var x2Animation = new DoubleAnimation() { BeginTime = beginTime, To = 200, Duration = duration }; var y2Animation = new DoubleAnimation() { BeginTime = beginTime, To = 200, Duration = duration }; Storyboard.SetTarget(x2Animation, demo1KingCard); Storyboard.SetTarget(y2Animation, demo1KingCard); Storyboard.SetTargetProperty(x2Animation, new PropertyPath(Canvas.LeftProperty)); Storyboard.SetTargetProperty(y2Animation, new PropertyPath(Canvas.TopProperty)); storyboard.Children.Add(x2Animation); storyboard.Children.Add(y2Animation); |
||||
Attached Files: | |||||
Notes | |
(0008154)
sfernandez 2022-11-15 11:41 (Last edited: 2022-11-15 11:45) |
More examples, from https://github.com/microsoft/WPF-Samples/blob/master/Animation/CustomAnimation/CustomAnimationExample.xaml#L233-L245<Storyboard x:Key="CircleTimeline"> <DoubleAnimation Duration="0:0:5" From="0" To="500" Storyboard.TargetName="circleButton" Storyboard.TargetProperty="(UIElement.RenderTransform).(TranslateTransform.X)"/> <DoubleAnimation Duration="0:0:1.5" From="0" Storyboard.TargetName="circleButton" Storyboard.TargetProperty="(UIElement.RenderTransform).(TranslateTransform.Y)"/> <ParallelTimeline BeginTime="0:0:0" Duration="0:0:4.5"> <customAnimations:CircleAnimation RepeatBehavior="Forever" Duration="0:0:1" Radius="40" Direction="YDirection" Storyboard.TargetName="circleButton" Storyboard.TargetProperty="(UIElement.RenderTransform).(TranslateTransform.Y)"/> <customAnimations:CircleAnimation RepeatBehavior="Forever" Duration="0:0:1" Radius="40" Direction="XDirection" Storyboard.TargetName="circleButton" Storyboard.TargetProperty="(UIElement.RenderTransform).(TranslateTransform.X)"/> </ParallelTimeline> <ParallelTimeline BeginTime="0:0:4.5"> <DoubleAnimation To="500" Duration="0:0:0.5" Storyboard.TargetName="circleButton" Storyboard.TargetProperty="(UIElement.RenderTransform).(TranslateTransform.X)"/> <DoubleAnimation To="0.0" Duration="0:0:0.5" Storyboard.TargetName="circleButton" Storyboard.TargetProperty="(UIElement.RenderTransform).(TranslateTransform.Y)"/> </ParallelTimeline> </Storyboard> From this example it seems that multiple animations acting on the same DP are nesting the animated values (baseValue -> Animation1 -> result -> Animation2 -> finalResult), but we have to verify this. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2912 | [NoesisGUI] Unity3D | crash | always | 2023-12-01 16:03 | 2024-02-06 18:02 |
Reporter: | EvanRuiz | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.2 | ||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | iOS | ||||
Summary: | Crash on iOS after clicking on simple ComboBox with injection point set to "After Rendering Post Processing" | ||||
Description: |
I always get a crash on iOS when clicking on a ComboBox with the Noesis injection point configured to "After Rendering Post Processing". If I select "Before Rendering Post Processing" it does not crash on iOS. This is using the URP renderer. I isolated the crash to just a simple ComboBox example in a new Unity URP project template. This does not crash in the Editor, just on iOS. Unity Version: 2022.3.14f1 Unity Project: New 3D (URP) project template NoesisGUI Version: 3.2.2 iOS Device: iPad Pro 12.9 (5th Generation) with M1 processor iOS Version: 17.1.1 Log Errors in Xcode -[MTLDebugRenderCommandEncoder validateCommonDrawErrors:]:5775: failed assertion `Draw Errors Validation MTLDepthStencilDescriptor uses frontFaceStencil but MTLRenderPassDescriptor has a nil stencilAttachment texture MTLDepthStencilDescriptor uses backFaceStencil but MTLRenderPassDescriptor has a nil stencilAttachment texture ' Crash Details: UnityFramework`::InsertCustomMarkerCallbackAndDataWithFlags(): 0x10bc73778 <+0>: stp x20, x19, [sp, #-0x20]! 0x10bc7377c <+4>: stp x29, x30, [sp, #0x10] 0x10bc73780 <+8>: add x29, sp, #0x10 0x10bc73784 <+12>: mov x20, x3 0x10bc73788 <+16>: mov x19, x0 0x10bc7378c <+20>: ldr x8, [x0] 0x10bc73790 <+24>: ldr x8, [x8, #0x838] 0x10bc73794 <+28>: mov x3, x4 0x10bc73798 <+32>: mov x4, x5 0x10bc7379c <+36>: blr x8 -> 0x10bc737a0 <+40>: tbnz w20, #0x2, 0x10bc737b0 ; <+56> at GfxDevice.cpp:2573:9 UnityGfxDeviceWorker (42): signal SIGABRT Call Stack: UnityGfxDeviceWorker (42)#0 0x00000001dba6101c in __pthread_kill () #1 0x00000001fdf41680 in pthread_kill () #2 0x000000019c5c1b90 in abort () #3 0x000000019c5c0e80 in __assert_rtn () #4 0x00000001942935a4 in MTLReportFailure.cold.1 () #5 0x0000000194271b8c in MTLReportFailure () #6 0x000000019413ee4c in _MTLMessageContextEnd () #7 0x00000002266a2884 in -[MTLDebugRenderCommandEncoder validateCommonDrawErrors:] () #8 0x00000002266a20c0 in -[MTLDebugRenderCommandEncoder validateCommonDrawErrors:instanceCount:baseInstance:maxVertexID:] () #9 0x00000002266a324c in -[MTLDebugRenderCommandEncoder validateDrawIndexedPrimitives:indexCount:indexType:indexBuffer:indexBufferOffset:instanceCount:function:] () #10 0x00000002266a33f4 in -[MTLDebugRenderCommandEncoder drawIndexedPrimitives:indexCount:indexType:indexBuffer:indexBufferOffset:] () #11 0x0000000102f32754 in -[CaptureMTLRenderCommandEncoder drawIndexedPrimitives:indexCount:indexType:indexBuffer:indexBufferOffset:] () #12 0x000000010cd75d4c in ___lldb_unnamed_symbol1639736 () #13 0x000000010cd7250c in ___lldb_unnamed_symbol1639710 () #14 0x000000010cd6e1d8 in ___lldb_unnamed_symbol1639680 () #15 0x000000010cacfa0c in ___lldb_unnamed_symbol1616471 () #16 0x000000010cacaea4 in ___lldb_unnamed_symbol1616432 () #17 0x000000010cad702c in ___lldb_unnamed_symbol1616545 () #18 0x000000010cad6f88 in ___lldb_unnamed_symbol1616544 () #19 0x000000010ccca8a8 in ___lldb_unnamed_symbol1638462 () #20 0x000000010bc737a0 in ::InsertCustomMarkerCallbackAndDataWithFlags() at /Users/bokken/build/output/unity/unity/Runtime/GfxDevice/GfxDevice.cpp:2570 #21 0x000000010bd36764 in ::RunCommand() at /Users/bokken/build/output/unity/unity/Runtime/GfxDevice/threaded/GfxDeviceWorker.cpp:1534 #22 0x000000010bdbba60 in GfxDeviceWorkerAutoreleasePoolProxy at /Users/bokken/build/output/unity/unity/Runtime/GfxDevice/metal/GfxDeviceMetal.mm:5745 #23 0x000000010bd2ed6c in ::RunExt() at /Users/bokken/build/output/unity/unity/Runtime/GfxDevice/threaded/GfxDeviceWorker.cpp:375 #24 0x000000010bd2e918 in ::RunGfxDeviceWorker() at /Users/bokken/build/output/unity/unity/Runtime/GfxDevice/threaded/GfxDeviceWorker.cpp:332 #25 0x000000010b8cb728 in ::RunThreadWrapper() at /Users/bokken/build/output/unity/unity/Runtime/Threads/Thread.cpp:108 #26 0x00000001fdf3e4d4 in _pthread_start () |
||||
Tags: | Combo box, crash, iOS, Unity URP | ||||
Steps To Reproduce: |
Create new Unity 3D (URP) project template in Unity 2022.3.14f1. Install NoesisGUI-Unity-3.2.2-Indie Unity Package (installed as embedded package in project Packages folder) Add source files below and set as the Neosis view XAML on Main Camera. Configure Noesis Injection Point to "After Rendering Post Processing" Build and deploy on iOS (I used an iPad Pro 12.9 m1) Click on ComboBox. See Crash. Setting injection point to "Before Rendering Post Processing" avoids the crash. See attached project zip that I used, if that is helpful. (Noesis unity package needs to be copied back in to the Packages folder). Here is just the simple ComboBox XAML example, if that is all you need: ----------------------------------------- SimpleComboBoxView.xaml ----------------------------------------- <UserControl x:Class="NoesisCrashTest.Assets.GUI.SimpleComboBoxView" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <Border x:Name="Panel" Background="#33888888" HorizontalAlignment="Right" VerticalAlignment="Top" Margin="10,10" Padding="10,5" CornerRadius="20"> <StackPanel Orientation="Horizontal"> <ComboBox Width="100" Height="50"> <Label>200%</Label> <Label>100%</Label> <Label>50%</Label> </ComboBox> </StackPanel> </Border> </UserControl> ----------------------------------------- SimpleComboBoxView.cs ----------------------------------------- #if UNITY_5_3_OR_NEWER #define NOESIS using Noesis; using UnityEngine; #else using System; using System.Diagnostics; using System.Windows; using System.Windows.Controls; #endif namespace NoesisCrashTest.Assets.GUI { public partial class SimpleComboBoxView : UserControl { public SimpleComboBoxView() { InitializeComponent(); } #if NOESIS private void InitializeComponent() { NoesisUnity.LoadComponent(this); } #endif } } |
||||
Additional Information: | |||||
Attached Files: |
NoesisCrashTest.zip (123,059 bytes) 2023-12-01 16:03 https://www.noesisengine.com/bugs/file_download.php?file_id=2039&type=bug |
||||
Notes | |
(0008993)
jsantos 2023-12-01 16:51 |
Thanks for the detailed report! |
(0009160)
jsantos 2024-02-02 20:43 (Last edited: 2024-02-02 20:46) |
I was able to reproduce this, even on macOS. Unfortunately, the "Injection Point" is not very reliable and depending on configuration settings this can cause that when Unity has to render the UI, the main buffers (we need stencil) are not available. Theoretically, this could be considered a Unity bug, URP is still quite unstable and probably it will be fixed. I found a recommended workaround though. Just create a stack of two cameras, the first one (base) with everything you have right now (including post-processing) but without Noesis, and in the second camera disable post-processing and leave only Noesis (disable also 3D-rendering by setting culling mask to None). This configuration works ok in all iPad we have tested here. https://www.noesisengine.com/docs/Gui.Core.Unity3DTutorial.html#universal-pipeline |
(0009167)
EvanRuiz 2024-02-06 17:58 |
Thanks for the workaround! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3039 | [NoesisGUI] Studio | minor | have not tried | 2024-01-23 15:48 | 2024-02-06 17:16 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Crash when clicking in the Assets panel icon | ||||
Description: |
As seen here https://youtu.be/UvPFzHGwNyU?feature=shared&t=2296 Crash dump attached |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
ClickingonAssetPanel.dmp (251,922 bytes) 2024-01-23 15:48 https://www.noesisengine.com/bugs/file_download.php?file_id=2101&type=bug 20240130_182720.dmp (217,498 bytes) 2024-01-30 18:57 https://www.noesisengine.com/bugs/file_download.php?file_id=2125&type=bug CloseTab.dmp (236,250 bytes) 2024-02-06 17:16 https://www.noesisengine.com/bugs/file_download.php?file_id=2146&type=bug |
||||
Notes | |
(0009142)
fllorens 2024-01-30 18:57 |
Also seen here: https://youtu.be/uB6q77Q6Uyg?feature=shared&t=2142 |
(0009166)
fllorens 2024-02-06 17:16 |
Also seen here https://youtu.be/oaUVXU9o_IE?feature=shared&t=971 |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3062 | [NoesisGUI] Studio | minor | have not tried | 2024-02-02 12:34 | 2024-02-06 10:07 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Crash when moving template resource to resource dictionary | ||||
Description: | as seen here: https://youtu.be/ZnJH8w53qek?feature=shared&t=2236 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
MovingTemplateResources.zip (33,105 bytes) 2024-02-02 12:34 https://www.noesisengine.com/bugs/file_download.php?file_id=2139&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3068 | [NoesisGUI] Unreal | minor | have not tried | 2024-02-05 21:57 | 2024-02-06 00:37 |
Reporter: | maherne | Platform: | |||
Assigned To: | maherne | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.3 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.3 | ||
Target Version: | 3.2.3 | ||||
Platform: | Any | ||||
Summary: | Add support for TargetType to Unreal RichText Style tags | ||||
Description: |
When using a Style key tag, in Unreal RichText, the Style.TargetType property should be used to create an element of that type. This will allow you to create customised inline elements using templates. If the TargetType is a ContentControl, and the Style tag has content, then this content is set to the ContentControl.Content property. You can use a ContentPresenter to display this. For example: <Style x:Key="RndCorner" TargetType="ContentControl"> <Setter Property="Background" Value="Gray"/> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="ContentControl"> <Border Background="{TemplateBinding Background}" CornerRadius="4"> <ContentPresenter/> </Border> </ControlTemplate> </Setter.Value> </Setter> </Style> <TextBlock noesis:RichText.Text="This is an example of text that has the prompt <RndCorner>Backspace</> inside of it"/> |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3067 | [NoesisGUI] Unreal | minor | have not tried | 2024-02-05 21:50 | 2024-02-05 21:53 |
Reporter: | maherne | Platform: | |||
Assigned To: | maherne | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.3 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.3 | ||
Target Version: | 3.2.3 | ||||
Platform: | Any | ||||
Summary: | Allow extending Unreal RichText tags using a callback | ||||
Description: |
Add the ability to extend Unreal RichText tags using a callback which is invoked whenever an unknown tag is found. This method can create an Inline, which will be added to the TextBlock, or return nullptr if there is no match. Here is an example of the callback in action: RichText::SetTryCreateInlineCallback([](const char* tagName, Noesis::ArrayRef<RichText::Parameter> parameters, const Noesis::TextBlock* parent) -> Noesis::Ptr<Noesis::Inline> { if (Noesis::StrEquals(tagName, "run")) { return Noesis::MakePtr<Noesis::Run>("A run with some text"); } return nullptr; }); |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2919 | [NoesisGUI] Documentation | minor | have not tried | 2023-12-05 10:44 | 2024-02-05 20:55 |
Reporter: | ttermeer-rcg | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.3 | ||
Target Version: | 3.2.3 | ||||
Platform: | Any | ||||
Summary: | Unreal Gamepad Documentation out of date for 5.3 | ||||
Description: |
The documentation on how to use the gamepad for Noesis is out of date for Unreal 5.3. As per the release notes from Unreal: Deprecated UPlayerMappableInputConfig in favor of the new UEnhancedInputUserSettings with 5.3. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2748 | [NoesisGUI] Unity3D | major | always | 2023-10-20 15:40 | 2024-02-05 14:24 |
Reporter: | jphyzic | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.3 | ||
Target Version: | 3.2.3 | ||||
Platform: | Any | ||||
Summary: | Inconsistent carriage return handling in a TextBox | ||||
Description: |
I'm running NoesisGUI on Windows machine in Unity. The behaviour is observed on any TextBox with AcceptsReturn=True. Type some multiline text - Text property would contain \n as a line break instead of \r\n. Copy typed text from TextBox into any text editor (e.g. Notepad++ - it allows to see unprintable symbols' codes) - pasted text would contain \r\n for line breaks. Copy the same text from editor back into TextBox - Text property contains \r\n, but TextBox starts to behave strangely: selection is drawn incorrectly, sometimes cursor is placed in incorrect position. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
textbox.png (3,433 bytes) 2023-10-20 15:40 https://www.noesisengine.com/bugs/file_download.php?file_id=1995&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3063 | [NoesisGUI] Unity3D | major | always | 2024-02-02 14:42 | 2024-02-02 20:18 |
Reporter: | jphyzic | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.3 | ||
Target Version: | 3.2.3 | ||||
Platform: | Any | ||||
Summary: | Matrix.HasInverse has inverted behaviour. | ||||
Description: |
I've stumbled on a typo in Unity Noesis plugin. Matrix struct has HasInverse property implemented like this: public bool HasInverse => Math.Abs(Determinant) < 0.0001f; On the other hand, Invert method looks like this: public void Invert() { float determinant = Determinant; if (Math.Abs(determinant) < 0.0001f) throw new InvalidOperationException("Matrix is not Invertible"); ... } I believe, the check in HasInverse implementation has to be inverted: public bool HasInverse => Math.Abs(Determinant) >= 0.0001f; |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0009159)
sfernandez 2024-02-02 20:18 |
Thanks a lot for reporting this! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2712 | [NoesisGUI] Unity3D | minor | always | 2023-10-04 15:13 | 2024-02-02 16:47 |
Reporter: | Otter | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2.2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2.4 | ||||
Platform: | Any | ||||
Summary: | Separate PPAA modes for onscreen and offscreen | ||||
Description: |
When PPAA is enabled, the edge detail is better on elements that have DropShadowEffect and worse on elements without it. Forum: https://www.noesisengine.com/forums/viewtopic.php?t=3072 |
||||
Tags: | |||||
Steps To Reproduce: |
Import Assets.zip or 1. Create two buttons 2. To one button add DropShadowEffect 3. Disable PPAA 3. Zoom in to buttons and observe quality of edges (drop shadow element has a little jagged edges) 4. Enable PPAA and observe the quality of edges (drops shadow element has better quality edges) |
||||
Additional Information: | |||||
Attached Files: |
Assets.zip (14,917 bytes) 2023-10-04 15:13 https://www.noesisengine.com/bugs/file_download.php?file_id=1963&type=bug ShadowPPAA.png (9,100 bytes) 2023-10-04 15:13 https://www.noesisengine.com/bugs/file_download.php?file_id=1964&type=bug ShadowNoPPAA.png (6,408 bytes) 2023-10-04 15:13 https://www.noesisengine.com/bugs/file_download.php?file_id=1965&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2929 | [NoesisGUI] Unity3D | crash | always | 2023-12-11 16:19 | 2024-02-02 02:12 |
Reporter: | stonstad | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.2 | ||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.3 | ||
Target Version: | 3.2.3 | ||||
Platform: | Any | ||||
Summary: | WorldSpaceUI and NoesisView Event Dispatch - ev.Use() | ||||
Description: |
Workflows which combine WorldSpaceUI with standard NoesisViews appear to handle layering, hit testing, and dispatch of events inconsistently. For example, certain WorldSpaceUI events work if a separate NoesisView is present (mouse enter, mouse exit), while others do not (mouse click). This behavior occurs intendent of element hit test occlusion. A current work-around exists - disable ev.use(), in NoesisVew.cs, but it is unclear if this is an appropriate solution. See related forum thread, https://www.noesisengine.com/forums/viewtopic.php?t=3152 |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0009020)
stonstad 2023-12-12 15:59 |
This is likely related: https://www.noesisengine.com/bugs/view.php?id=2936 |
(0009147)
jsantos 2024-01-31 17:40 (Last edited: 2024-01-31 17:40) |
I have been trying to reproduce this and the only explanation that I have for this is that your base layer (the one on top, with 2D UI) has the property Background set (even set to Transparent). And this is blocking the event propagation to the layer below. Could you please check this? |
(0009152)
stonstad 2024-02-01 22:49 |
Hi Jesus. If this was the case (background is set), wouldn't mouse over events not work? But in this case, they do, but click does not. |
(0009153)
jsantos 2024-02-01 23:05 |
For clicks we are using Unity events (move and over events use a different route), we are only consuming the event (when a event is consumed it is not send to next layer that is behind) when HitTesting returns a valid Visual. If you haven't set the Background property, the HitTest should be null in empty areas of your UI. Could you confirm this? Thanks! |
(0009154)
stonstad 2024-02-02 00:07 |
Sure! I reenabled this code in NoesisView.cs: if (HitTest(mouse.x, mouse.y)) { ev.Use(); // was previously commented out } I can confirm 1) mouse enter, 2) over, and 3) click work in the WorldSpaceUI while a NoesisView shows content layered above. I believe the issue I had before was that click events were not working but mouse over was working. It is consistent now, and perhaps I had a background set before? Here is a video of the current behavior, which I suspect is correct. https://stellarconquest.blob.core.windows.net/tmp/noesis/Desktop%202-1-2024%205-05-19%20PM.mp4 If you are in agreement, please feel free to close this out. |
(0009156)
jsantos 2024-02-02 02:12 |
Yes, I would say you had a background set (even to "Transparent") before. Thanks for the feedback! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2709 | [NoesisGUI] Unity3D | feature | always | 2023-10-03 07:42 | 2024-02-02 01:43 |
Reporter: | aliagha.huseynli | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.3 | ||
Target Version: | 3.2.3 | ||||
Platform: | Windows | ||||
Summary: | RiveApp Text feature | ||||
Description: |
Hi NoesisGUI team, I hope you are doing well. RiveApp has a new text feature which is good in Flutter and React platforms. It can be "get" and "set" code behind. My question is: Is it possible to get and set RiveApp Text value in XAML and C# side and modify it code-behind for my game project? I know how to modify Boolean Number Trigger from Rive. But I do not know about Text. Thanks in advance Ali |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
Screenshot 2024-02-01 142630.png (13,534 bytes) 2024-02-01 12:34 https://www.noesisengine.com/bugs/file_download.php?file_id=2131&type=bug Screenshot 2024-02-01 142611.png (35,388 bytes) 2024-02-01 12:34 https://www.noesisengine.com/bugs/file_download.php?file_id=2132&type=bug Screenshot 2024-02-01 142934.png (54,774 bytes) 2024-02-01 12:34 https://www.noesisengine.com/bugs/file_download.php?file_id=2133&type=bug |
||||
Notes | |
(0009024)
jsantos 2023-12-14 13:21 |
Rive text is already supported. To close this ticket, we need to expose functions in RiveControl to dynamically set text. |
(0009148)
aliagha.huseynli 2024-02-01 12:34 |
Hi, Sorry for the delayed reply. I see you have almost completed version 3.2.3 86%. However, I am not sure I can get or set the Rive text value. Now in XAML, there is an Input section to get set rive inputs such as trigger number bool, but there is no text or string. On another platform such as Flutter, people can access text value and set it in runtime or code-behind. I hope I can explain the situation well. Will I be able to do it in version 3.2.3? |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2840 | [NoesisGUI] C# SDK | crash | random | 2023-11-16 22:29 | 2024-02-01 13:49 |
Reporter: | stonstad | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.3 | ||
Target Version: | 3.2.3 | ||||
Platform: | Any | ||||
Summary: | Noesis.Extend:Noesis_ClearExtendTypes Crash on AppDomain Unload | ||||
Description: |
================================================================= Native Crash Reporting ================================================================= Got a UNKNOWN while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= ================================================================= Managed Stacktrace: ================================================================= at <unknown> <0xffffffff> at Noesis.Extend:Noesis_ClearExtendTypes <0x000cd> at Noesis.Extend:Shutdown <0x00d5a> at Noesis.Extend:OnDomainUnload <0x00082> at <Module>:invoke_void_object_EventArgs <0x002d4> at System.AppDomain:DoDomainUnload <0x00099> at System.Object:runtime_invoke_void__this__ <0x00187> ================================================================= Received signal SIGSEGV |
||||
Tags: | |||||
Steps To Reproduce: | See encl. crash dump and log file. I modified a script file and Unity reloaded the app domain. Noesis crashed the editor. | ||||
Additional Information: | |||||
Attached Files: |
Editor.log (206,690 bytes) 2023-11-16 22:29 https://www.noesisengine.com/bugs/file_download.php?file_id=2018&type=bug crash.zip (1,103,069 bytes) 2023-11-16 22:29 https://www.noesisengine.com/bugs/file_download.php?file_id=2019&type=bug Crash_2023-11-16_234722679.zip (4,801,301 bytes) 2023-11-17 01:02 https://www.noesisengine.com/bugs/file_download.php?file_id=2020&type=bug Crash_2023-11-22_140134471.zip (1,806,982 bytes) 2023-11-22 15:04 https://www.noesisengine.com/bugs/file_download.php?file_id=2024&type=bug Crash_2023-11-22_161816423.zip (941,018 bytes) 2023-11-22 17:20 https://www.noesisengine.com/bugs/file_download.php?file_id=2025&type=bug Crash_2023-11-22_184312718.zip (2,274,019 bytes) 2023-11-22 19:44 https://www.noesisengine.com/bugs/file_download.php?file_id=2027&type=bug |
||||
Notes | |
(0008948)
stonstad 2023-11-17 01:02 |
Encl. dumps for additional crashes. It is crashing approximately once every twenty minutes when any script change occurs. |
(0008949)
stonstad 2023-11-17 15:51 |
I'm surprised how it is stable for weeks and then suddenly, Noesis crashes the editor every few minutes. Can I disable Noesis reloads on app domain unloads? I'm authoring code and not changing XAML. |
(0008952)
stonstad 2023-11-17 19:03 |
Hey Jesus, it is crashing every time I modify a script. Please let me know if there is anything I can test for you before I try to fix this by deleting \library. It is repeatable and easy to reproduce right now. |
(0008953)
stonstad 2023-11-17 19:58 |
* Reimporting all UI assets does not fix it. * Wrapping Extend methods does not fix it. try { Noesis_ClearExtendTypes(); } catch(Exception e) { UnityEngine.Debug.LogError(e); } try { Noesis_EnableExtend(false); } catch(Exception e) { UnityEngine.Debug.LogError(e); } try { ClearTables(); } catch(Exception e) { UnityEngine.Debug.LogError(e); } I'm crashing on every script change. Is there anything I can do to work around this to remain productive in Unity? |
(0008958)
sfernandez 2023-11-20 10:52 |
Could you please try the following patch, I might know what could be happening:Index: Events.cs =================================================================== --- Events.cs (revision 12924) +++ Events.cs (working copy) @@ -442,7 +442,7 @@ Timeline._Completed.Clear(); VisualStateGroup._CurrentStateChanging.Clear(); VisualStateGroup._CurrentStateChanged.Clear(); - View._Rendering.Clear(); + View.ResetRendering(); } private static void OnElementDestroyed(IntPtr d) Index: View.cs =================================================================== --- View.cs (revision 12924) +++ View.cs (working copy) @@ -435,6 +435,17 @@ } } + internal static void ResetRendering() + { + foreach (var kv in _Rendering) + { + IntPtr cPtr = new IntPtr(kv.Key); + Noesis_View_UnbindRenderingEvent(new HandleRef(null, cPtr), _raiseRendering); + } + + _Rendering.Clear(); + } + internal static Dictionary<long, RenderingEventHandler> _Rendering = new Dictionary<long, RenderingEventHandler>(); #endregion |
(0008959)
stonstad 2023-11-20 20:45 |
I applied the change and I'll keep developing. Will let you know if it crashes. |
(0008960)
stonstad 2023-11-20 21:47 (Last edited: 2023-11-20 21:48) |
Thank you Sergio! I have been working for an hour without a crash. I'll keep testing. |
(0008964)
stonstad 2023-11-21 18:16 |
The issue appears to be resolved. Thank you! |
(0008965)
stonstad 2023-11-21 18:24 |
Is this runtime crash related? I notice it is calling Type_GetStaticType(). https://www.noesisengine.com/bugs/view.php?id=2863 |
(0008970)
stonstad 2023-11-22 15:04 |
Much more stable, but still seeing occasional crashes on AppDomainUnload. In this scenario, no XAML was edited. at <unknown> <0xffffffff> at Noesis.NoesisGUI_PINVOKE:BaseComponent_Release <0x000db> at Noesis.BaseComponent:Release <0x00082> at Noesis.Extend:ReleasePending <0x00212> at Noesis.Extend:Shutdown <0x00d82> at Noesis.Extend:OnDomainUnload <0x00082> at <Module>:invoke_void_object_EventArgs <0x002d4> at System.AppDomain:DoDomainUnload <0x00099> at System.Object:runtime_invoke_void__this__ <0x00187> Encl. editor.log and crash dump. |
(0008971)
stonstad 2023-11-22 17:20 |
Another crash during app domain unload. I made script changes during playback. (no xaml). ========== OUTPUTTING STACK TRACE ================== 0x00007FFEEC2F361E (Noesis) Boxed_Bool_GetStaticType 0x00007FFEEC2F27B4 (Noesis) FreeString 0x00007FFEEC30BC96 (Noesis) KeyEventArgs_IsToggled_get 0x00007FFEEC30B6DA (Noesis) String_GetStaticType 0x00007FFEEC31812E (Noesis) KeyEventArgs_IsToggled_get 0x00007FFEEC317E54 (Noesis) KeyEventArgs_IsToggled_get 0x00007FFEEC45FD40 (Noesis) Boxed_Point_GetStaticType 0x00007FFEEC32D778 (Noesis) Noesis_GetPlatformID 0x00007FFEEC30BD51 (Noesis) KeyEventArgs_IsToggled_get 0x00007FFEEC53D710 (Noesis) SizeChangedInfo_PreviousSize_get 0x00007FFEEC4BD664 (Noesis) ScrollChangedEventArgs_VerticalOffset_get 0x00007FFEEC47DC7F (Noesis) Boxed_Point_GetStaticType 0x00007FFEEC30BD51 (Noesis) KeyEventArgs_IsToggled_get 0x00007FFEEC389969 (Noesis) Color_GetStaticType 0x00007FFEEC4E46A2 (Noesis) Rect_GetStaticType 0x00007FFEEC347778 (Noesis) DataObjectPastingEventArgs_GetDataObjectHelper 0x00007FFEEC53D710 (Noesis) SizeChangedInfo_PreviousSize_get 0x00007FFEEC4BD664 (Noesis) ScrollChangedEventArgs_VerticalOffset_get 0x00007FFEEC47DC7F (Noesis) Boxed_Point_GetStaticType 0x00007FFEEC30BD51 (Noesis) KeyEventArgs_IsToggled_get 0x00007FFEEC4BD664 (Noesis) ScrollChangedEventArgs_VerticalOffset_get 0x00007FFEEC47DC7F (Noesis) Boxed_Point_GetStaticType 0x00007FFEEC30BD51 (Noesis) KeyEventArgs_IsToggled_get 0x00007FFEEC4BD664 (Noesis) ScrollChangedEventArgs_VerticalOffset_get 0x00007FFEEC47DC7F (Noesis) Boxed_Point_GetStaticType 0x00007FFEEC30BD51 (Noesis) KeyEventArgs_IsToggled_get 0x00007FFEEC389969 (Noesis) Color_GetStaticType 0x00007FFEEC4E46A2 (Noesis) Rect_GetStaticType 0x00007FFEEC347778 (Noesis) DataObjectPastingEventArgs_GetDataObjectHelper 0x00007FFEEC53D710 (Noesis) SizeChangedInfo_PreviousSize_get 0x00007FFEEC4BD664 (Noesis) ScrollChangedEventArgs_VerticalOffset_get 0x00007FFEEC47DC7F (Noesis) Boxed_Point_GetStaticType 0x00007FFEEC32D750 (Noesis) Noesis_GetPlatformID 0x00007FFEEC30BD51 (Noesis) KeyEventArgs_IsToggled_get 0x00007FFEEC4BD664 (Noesis) ScrollChangedEventArgs_VerticalOffset_get 0x00007FFEEC47DC7F (Noesis) Boxed_Point_GetStaticType 0x00007FFEEC30BD51 (Noesis) KeyEventArgs_IsToggled_get 0x00007FFEEC4BD664 (Noesis) ScrollChangedEventArgs_VerticalOffset_get 0x00007FFEEC47DC7F (Noesis) Boxed_Point_GetStaticType 0x00007FFEEC32D778 (Noesis) Noesis_GetPlatformID 0x00007FFEEC30BD51 (Noesis) KeyEventArgs_IsToggled_get 0x00007FFEEC53D710 (Noesis) SizeChangedInfo_PreviousSize_get 0x00007FFEEC483132 (Noesis) Boxed_Point_GetStaticType 0x00007FFEEC483065 (Noesis) Boxed_Point_GetStaticType 0x00007FFEEC4BD664 (Noesis) ScrollChangedEventArgs_VerticalOffset_get 0x00007FFEEC47DC7F (Noesis) Boxed_Point_GetStaticType 0x00007FFEEC30BD51 (Noesis) KeyEventArgs_IsToggled_get 0x00007FFEEC389969 (Noesis) Color_GetStaticType 0x00007FFEEC4E46A2 (Noesis) Rect_GetStaticType 0x00007FFEEC347778 (Noesis) DataObjectPastingEventArgs_GetDataObjectHelper 0x00007FFEEC53D710 (Noesis) SizeChangedInfo_PreviousSize_get 0x00007FFEEC4BD664 (Noesis) ScrollChangedEventArgs_VerticalOffset_get 0x00007FFEEC47DC7F (Noesis) Boxed_Point_GetStaticType 0x00007FFEEC32D778 (Noesis) Noesis_GetPlatformID 0x00007FFEEC30BD51 (Noesis) KeyEventArgs_IsToggled_get 0x00007FFEEC4BD664 (Noesis) ScrollChangedEventArgs_VerticalOffset_get 0x00007FFEEC47DC7F (Noesis) Boxed_Point_GetStaticType 0x00007FFEEC30BD51 (Noesis) KeyEventArgs_IsToggled_get 0x00007FFEEC4B2D42 (Noesis) UIElement_InvalidateMeasure 0x00007FFEEC30B10C (Noesis) String_GetStaticType 0x00007FFEEC30ADC6 (Noesis) String_GetStaticType 0x00007FFEEC30B789 (Noesis) String_GetStaticType 0x00007FFEEC391205 (Noesis) BindingOperations_GetBindingExpression 0x00007FFEEC47DED2 (Noesis) Boxed_Point_GetStaticType 0x00007FFEEC47DC76 (Noesis) Boxed_Point_GetStaticType 0x00007FFEEC30BD51 (Noesis) KeyEventArgs_IsToggled_get 0x00007FFEEC4BD664 (Noesis) ScrollChangedEventArgs_VerticalOffset_get 0x00007FFEEC47DC7F (Noesis) Boxed_Point_GetStaticType 0x00007FFEEC32D750 (Noesis) Noesis_GetPlatformID 0x00007FFEEC30BD51 (Noesis) KeyEventArgs_IsToggled_get 0x00007FFEEC389969 (Noesis) Color_GetStaticType 0x00007FFEEC4E46A2 (Noesis) Rect_GetStaticType 0x00007FFEEC347778 (Noesis) DataObjectPastingEventArgs_GetDataObjectHelper 0x00007FFEEC53D710 (Noesis) SizeChangedInfo_PreviousSize_get 0x00007FFEEC4BD664 (Noesis) ScrollChangedEventArgs_VerticalOffset_get 0x00007FFEEC47DC7F (Noesis) Boxed_Point_GetStaticType 0x00007FFEEC32D750 (Noesis) Noesis_GetPlatformID 0x00007FFEEC30BD51 (Noesis) KeyEventArgs_IsToggled_get 0x000002129B23B71C (Mono JIT Code) (wrapper managed-to-native) Noesis.NoesisGUI_PINVOKE:BaseComponent_Release (intptr) 0x000002129B23B5C3 (Mono JIT Code) [D:\Source\StellarConquest\StellarConquest.Utilities\Noesis\3.2.2\Runtime\API\Proxies\BaseComponent.cs:62] Noesis.BaseComponent:Release (intptr) 0x00000213DCD89C93 (Mono JIT Code) [D:\Source\StellarConquest\StellarConquest.Utilities\Noesis\3.2.2\Runtime\API\Core\Extend.cs:6133] Noesis.Extend:ReleasePending () 0x00000213FD1CF273 (Mono JIT Code) [D:\Source\StellarConquest\StellarConquest.Utilities\Noesis\3.2.2\Runtime\API\Core\Extend.cs:83] Noesis.Extend:Shutdown () 0x00000213FD1CD403 (Mono JIT Code) [D:\Source\StellarConquest\StellarConquest.Utilities\Noesis\3.2.2\Runtime\API\Core\Extend.cs:36] Noesis.Extend:OnDomainUnload (object,System.EventArgs) 0x00000213FD1CCA95 (Mono JIT Code) (wrapper delegate-invoke) <Module>:invoke_void_object_EventArgs (object,System.EventArgs) 0x00000213FD1CC75A (Mono JIT Code) System.AppDomain:DoDomainUnload () 0x000002128C70B478 (Mono JIT Code) (wrapper runtime-invoke) object:runtime_invoke_void__this__ (object,intptr,intptr,intptr) 0x00007FFEEB884B6E (mono-2.0-bdwgc) [C:\build\output\Unity-Technologies\mono\mono\mini\mini-runtime.c:3445] mono_jit_runtime_invoke 0x00007FFEEB7BD204 (mono-2.0-bdwgc) [C:\build\output\Unity-Technologies\mono\mono\metadata\object.c:3066] do_runtime_invoke 0x00007FFEEB6946D5 (mono-2.0-bdwgc) [C:\build\output\Unity-Technologies\mono\mono\metadata\appdomain.c:3485] mono_domain_try_unload 0x00007FFEEB86DF1A (mono-2.0-bdwgc) [C:\build\output\Unity-Technologies\mono\mono\metadata\unity-utils.c:765] mono_unity_domain_unload 0x00007FF660534910 (Unity) UnloadDomain 0x00007FF66052487B (Unity) MonoManager::CreateAndSetChildDomain 0x00007FF6605233EC (Unity) MonoManager::BeginReloadAssembly 0x00007FF66052E4A8 (Unity) MonoManager::ReloadAssembly 0x00007FF6614CA3CD (Unity) Internal_ADB_Only_ReloadAllUsedAssemblies 0x00007FF66198091A (Unity) DomainReloadIfAllowed 0x00007FF66197EA6B (Unity) CompileAndDomainReload 0x00007FF66199D602 (Unity) RefreshInternalV2 0x00007FF6619A585F (Unity) StopAssetImportingV2Internal 0x00007FF66199F2BC (Unity) RefreshV2 0x00007FF6619133F0 (Unity) AssetDatabase::Refresh 0x00007FF66119A31B (Unity) Application::AutoRefresh 0x00007FF66164B153 (Unity) ContainerWindow::ContainerWndProc 0x00007FF819BB8241 (USER32) DispatchMessageW 0x00007FF819BB7EFC (USER32) DispatchMessageW 0x00007FF819BC302D (USER32) GetClassLongW 0x00007FF81A3333B4 (ntdll) KiUserCallbackDispatcher 0x00007FF817CB14D4 (win32u) NtUserPeekMessage 0x00007FF819BC1B4F (USER32) PeekMessageW 0x00007FF819BC1A1C (USER32) PeekMessageW 0x00007FFE8985A074 (gameoverlayrenderer64) OverlayHookD3D3 0x00007FF6616274AD (Unity) MainMessageLoop 0x00007FF66162D170 (Unity) WinMain 0x00007FF662A103EE (Unity) __scrt_common_main_seh 0x00007FF81913257D (KERNEL32) BaseThreadInitThunk 0x00007FF81A2EAA58 (ntdll) RtlUserThreadStart ========== END OF STACKTRACE =========== |
(0008977)
stonstad 2023-11-22 19:44 |
Encl. additional crash dumps. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3058 | [NoesisGUI] Unity3D | feature | always | 2024-02-01 10:22 | 2024-02-01 10:43 |
Reporter: | karaage | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Improve Touch Emulation | ||||
Description: |
Tracked controller inputs for world space UI are registered as mouse events. This causes manipulation events not to fire, which prevents features like panning in the scroll viewer component. Manipulation events can be used with the "emulate touch" option however, this approach has its own issues. Eg. Hover effects based on IsMouseOver don't trigger. For a vr solution, having both hover effects and scroll panning would be ideal. Additionally, a way to control the threshold to start the SrollViewer panning would also be needed. Because it's currently optimized for touch input, but in vr, the pointer can move much more and dragging can get triggered accidentally, when intending to click on an item inside the SrollViewer instead. This is in reference to the following forum post: https://www.noesisengine.com/forums/viewtopic.php?t=3199 The click event canceling mentioned in the thread was an unrelated problem. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2837 | [NoesisGUI] Unity3D | minor | always | 2023-11-15 17:12 | 2024-01-31 14:42 |
Reporter: | peanut | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2 | ||
Product Build: | Resolution: | reopened | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.3 | ||
Target Version: | 3.2.3 | ||||
Platform: | Any | ||||
Summary: | VisualStateManager From MouseOver Raycast | ||||
Description: |
I am using VisualStateManager and I noticed that using: <VisualTransition GeneratedDuration="0:0:2" From="MouseOver"> does not trigger if you go Off the button, with the ray from the controller, into empty space. It triggers eventually when you hover over any other UI element. It works fine in Blend, triggers right away when you go Off the button, but in Unity it stays locked in hovered state until the ray hits another element. Here is a recording of it from Unity: https://www.dropbox.com/scl/fi/ihxdb3nv2vldw2deix97x/Main-Windows-Mac-Linux-Unity-2022.3.10f1-_DX11_-2023-11-13-17-33-50.mp4?rlkey=vco4siz5dws5ny8l6s4wxbzjp&dl=0 |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008942)
jsantos 2023-11-15 18:34 |
Something like this should fix this issue (I didn't have time to try it, will do asap, just providing a quick workaround just in case this is critical)Index: NoesisView.cs =================================================================== --- NoesisView.cs (revision 12945) +++ NoesisView.cs (working copy) @@ -1190,8 +1190,8 @@ private void UpdateActions(float t) { - int x = 0; - int y = 0; + int x = int.MaxValue; + int y = int.MaxValue; bool trackedPos = false; if (_trackedPositionAction?.activeControl != null && _trackedRotationAction?.activeControl != null) @@ -1216,9 +1216,10 @@ x = (int)(worldPos.X / worldPos.W); y = (int)(worldPos.Y / worldPos.W); - MouseMove(x, y); trackedPos = true; } + + MouseMove(x, y); } if (_trackedTriggerAction != null) |
(0008943)
peanut 2023-11-15 20:34 |
Hey, tested, works like a charm, thanks so much! |
(0008969)
peanut 2023-11-22 14:49 |
Hello, I noticed this fix alters how slider behaves if you click and drag, then go off UI element into empty space. Before the fix if you went off UI while dragging the Thumb the value froze on current position. After the fix the value of slider jumps to 0. I don't think the new behavior is desired regarding the slider. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3052 | [NoesisGUI] Unity3D | crash | always | 2024-01-30 15:19 | 2024-01-31 10:02 |
Reporter: | cramos | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2.2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2.4 | ||||
Platform: | Windows | ||||
Summary: | Calling NoesisView.KeyUp or NoesisView.KeyDown multiple times in the same frame erases the previous notifications | ||||
Description: |
We have something similar to this: public NoesisView view; private void Awake() { view = GetComponent<NoesisView>(); } public void SendInput() { view.KeyUp(Key.GamepadAccept); } This works, but if in the same frame SendInput makes more than one call, for example: public void SendInput() { view.KeyUp(Key.GamepadAccept); view.KeyUp(Key.F24); } The UI will never receive the GamepadAccept event that previously worked. If you switch the order: public void SendInput() { view.KeyUp(Key.F24); view.KeyUp(Key.GamepadAccept); } The UI will receive the GamepadAccept event. PLEASE NOTE: This was tested with the version 3.2.2, but we're currently using a custom version from here ( https://www.noesisengine.com/bugs/view.php?id=2693#c8804 ) to prevent crashes. |
||||
Tags: | C#, Unity | ||||
Steps To Reproduce: | Call KeyUp or KeyDow more than one time in your input method and the UI will only handle the key that was sent in the last KeyUp/KeyDown. | ||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1244 | [NoesisGUI] Unity3D | feature | have not tried | 2018-03-05 20:22 | 2024-01-30 12:39 |
Reporter: | antsonthetree | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 2.1.0rc3 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2 | ||||
Platform: | Any | ||||
Summary: | Noesis should support ValidationRules per xaml | ||||
Description: |
As per title, Noesis should support the validation rule and binding as below: https://msdn.microsoft.com/en-us/library/system.windows.controls.validationrule(v=vs.110).aspx https://learn.microsoft.com/en-us/dotnet/desktop/wpf/data/how-to-implement-binding-validation?view=netframeworkdesktop-4.8 |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3017 | [NoesisGUI] Unreal | major | always | 2024-01-17 02:01 | 2024-01-29 22:58 |
Reporter: | saji8k | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.3 | ||
Target Version: | 3.2.3 | ||||
Platform: | Any | ||||
Summary: | Unreal crashes when trying to use the Unreal 5.3 plugin on macOS | ||||
Description: |
I cannot run any of the samples in Samples.uproject in the Unreal Engine editor on macOS. When I hit the play button, UE 5.3.2 always crashes with the following error: Fatal error: [File:./Runtime/Apple/MetalRHI/Private/MetalRenderPass.cpp] [Line: 173] Failed to restart render pass with descriptor: <MTLRenderPassDescriptorInternal: 0x6000007502d0> Color Attachment 0 texture = <AGXG15XFamilyTexture: 0x146762bb0> label = CAMetalLayer Display Drawable textureType = MTLTextureType2D pixelFormat = MTLPixelFormatBGRA8Unorm width = 3456 height = 2018 depth = 1 arrayLength = 1 mipmapLevelCount = 1 sampleCount = 1 cpuCacheMode = MTLCPUCacheModeDefaultCache storageMode = MTLStorageModeManaged hazardTrackingMode = MTLHazardTrackingModeTracked resourceOptions = MTLResourceCPUCacheModeDefaultCache MTLResourceStorageModeManaged MTLResourceHazardTrackingModeTracked usage = MTLTextureUsageShaderRead MTLTextureUsageShaderWrite MTLTextureUsageRenderTarget MTLTextureUsagePixelFormatView shareable = 0 framebufferOnly = 0 purgeableState = MTLPurgeableStateNonVolatile swizzle = [MTLTextureSwizzleRed, MTLTextureSwizzleGreen, MTLTextureSwizzleBlue, MTLTextureSwizzleAlpha] isCompressed = 0 parentTexture = <null> parentRelativeLevel = 0 parentRelativeSlice = 0 buffer = <null> bufferOffset = 0 bufferBytesPerRow = 0 iosurface = 0x600003a5cee0 iosurfacePlane = 0 allowGPUOptimizedContents = YES level = 0 slice = 0 depthPlane = 0 resolveTexture = <null> resolveLevel = 0 resolveSlice = 0 resolveDepthPlane = 0 loadAction = MTLLoadActionLoad storeAction = MTLStoreActionUnknown storeActionOptions = none clearColor = (0 0 0 0) yInvert = NO Color Attachment 1 texture = <null> level = 0 slice = 0 depthPlane = 0 resolveTexture = <null> resolveLevel = 0 resolveSlice = 0 resolveDepthPlane = 0 loadAction = MTLLoadActionDontCare storeAction = MTLStoreActionStore storeActionOptions = none clearColor = (0 0 0 0) yInvert = NO Color Attachment 2 texture = <null> level = 0 slice = 0 depthPlane = 0 resolveTexture = <null> resolveLevel = 0 resolveSlice = 0 resolveDepthPlane = 0 loadAction = MTLLoadActionLoad storeAction = MTLStoreActionStore storeActionOptions = none clearColor = (0 0 0 0) yInvert = NO Color Attachment 3 texture = <null> level = 0 slice = 0 depthPlane = 0 resolveTexture = <null> resolveLevel = 0 resolveSlice = 0 resolveDepthPlane = 0 loadAction = MTLLoadActionLoad storeAction = MTLStoreActionStore storeActionOptions = none clearColor = (0 0 0 0) yInvert = NO Color Attachment 4 texture = <null> level = 0 slice = 0 depthPlane = 0 resolveTexture = <null> resolveLevel = 0 resolveSlice = 0 resolveDepthPlane = 0 loadAction = MTLLoadActionLoad storeAction = MTLStoreActionStore storeActionOptions = none clearColor = (0 0 0 0) yInvert = NO Color Attachment 5 texture = <null> level = 0 slice = 0 depthPlane = 0 resolveTexture = <null> resolveLevel = 0 resolveSlice = 0 resolveDepthPlane = 0 loadAction = MTLLoadActionLoad storeAction = MTLStoreActionStore storeActionOptions = none clearColor = (0 0 0 0) yInvert = NO Color Attachment 6 texture = <null> level = 0 slice = 0 depthPlane = 0 resolveTexture = <null> resolveLevel = 0 resolveSlice = 0 resolveDepthPlane = 0 loadAction = MTLLoadActionDontCare storeAction = MTLStoreActionStore storeActionOptions = none clearColor = (0 0 0 1) yInvert = NO Color Attachment 7 texture = <null> level = 0 slice = 0 depthPlane = 0 resolveTexture = <null> resolveLevel = 0 resolveSlice = 0 resolveDepthPlane = 0 loadAction = MTLLoadActionDontCare storeAction = MTLStoreActionStore storeActionOptions = none clearColor = (0 0 0 1) yInvert = NO Depth Attachment: texture = <AGXG15XFamilyTexture: 0x14bb05bb0> label = Noesis.RenderTarget.Onscreen_DS textureType = MTLTextureType2D pixelFormat = MTLPixelFormatDepth32Float_Stencil8 width = 3456 height = 2018 depth = 1 arrayLength = 1 mipmapLevelCount = 1 sampleCount = 1 cpuCacheMode = MTLCPUCacheModeDefaultCache storageMode = MTLStorageModePrivate hazardTrackingMode = MTLHazardTrackingModeTracked resourceOptions = MTLResourceCPUCacheModeDefaultCache MTLResourceStorageModePrivate MTLResourceHazardTrackingModeTracked usage = MTLTextureUsageShaderRead MTLTextureUsageRenderTarget MTLTextureUsagePixelFormatView shareable = 0 framebufferOnly = 0 purgeableState = MTLPurgeableStateNonVolatile swizzle = [MTLTextureSwizzleRed, MTLTextureSwizzleGreen, MTLTextureSwizzleBlue, MTLTextureSwizzleAlpha] isCompressed = 1 parentTexture = <null> parentRelativeLevel = 0 parentRelativeSlice = 0 buffer = <null> bufferOffset = 0 bufferBytesPerRow = 0 iosurface = 0x0 iosurfacePlane = 0 allowGPUOptimizedContents = YES level = 0 slice = 0 depthPlane = 0 resolveTexture = <null> resolveLevel = 0 resolveSlice = 0 resolveDepthPlane = 0 resolveFilter = MTLMultisampleDepthResolveFilterSample0 loadAction = MTLLoadActionDontCare storeAction = MTLStoreActionStore storeActionOptions = none clearDepth = 0 yInvert = NO Stencil Attachment: texture = <AGXG15XFamilyTexture: 0x14bb05bb0> label = Noesis.RenderTarget.Onscreen_DS textureType = MTLTextureType2D pixelFormat = MTLPixelFormatDepth32Float_Stencil8 width = 3456 height = 2018 depth = 1 arrayLength = 1 mipmapLevelCount = 1 sampleCount = 1 cpuCacheMode = MTLCPUCacheModeDefaultCache storageMode = MTLStorageModePrivate hazardTrackingMode = MTLHazardTrackingModeTracked resourceOptions = MTLResourceCPUCacheModeDefaultCache MTLResourceStorageModePrivate MTLResourceHazardTrackingModeTracked usage = MTLTextureUsageShaderRead MTLTextureUsageRenderTarget MTLTextureUsagePixelFormatView shareable = 0 framebufferOnly = 0 purgeableState = MTLPurgeableStateNonVolatile swizzle = [MTLTextureSwizzleRed, MTLTextureSwizzleGreen, MTLTextureSwizzleBlue, MTLTextureSwizzleAlpha] isCompressed = 1 parentTexture = <null> parentRelativeLevel = 0 parentRelativeSlice = 0 buffer = <null> bufferOffset = 0 bufferBytesPerRow = 0 iosurface = 0x0 iosurfacePlane = 0 allowGPUOptimizedContents = YES level = 0 slice = 0 depthPlane = 0 resolveTexture = <null> resolveLevel = 0 resolveSlice = 0 resolveDepthPlane = 0 loadAction = MTLLoadActionClear storeAction = MTLStoreActionStore storeActionOptions = none clearStencil = 0 stencilResolveFilter = MTLMultisampleStencilResolveFilterSample0 yInvert = NO visibilityResultBuffer = <AGXG15XFamilyBuffer: 0x14e53a9d0> label = <none> length = 65536 cpuCacheMode = MTLCPUCacheModeDefaultCache storageMode = MTLStorageModeShared hazardTrackingMode = MTLHazardTrackingModeTracked resourceOptions = MTLResourceCPUCacheModeDefaultCache MTLResourceStorageModeShared MTLResourceHazardTrackingModeTracked purgeableState = MTLPurgeableStateNonVolatile renderTargetArrayLength = 1 renderTargetWidth = 0 renderTargetHeight = 0 rasterizationRateMap = <null> Custom Sample Positions: number of positions = 0 FMetalRenderPass::RestartRenderPass(mtlpp::RenderPassDescriptor) Address = 0x2f48a2acc (filename not found) [in UnrealEditor-MetalRHI.dylib] FMetalRenderPass::ConditionalSwitchToRender() Address = 0x2f48a4aac (filename not found) [in UnrealEditor-MetalRHI.dylib] FMetalRenderPass::DrawIndexedPrimitive(FMetalBuffer const&, unsigned int, unsigned int, int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int) Address = 0x2f48a64e8 (filename not found) [in UnrealEditor-MetalRHI.dylib] FMetalRHICommandContext::RHIDrawIndexedPrimitive(FRHIBuffer*, int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int) Address = 0x2f4843720 (filename not found) [in UnrealEditor-MetalRHI.dylib] FRHICommand<FRHICommandDrawIndexedPrimitive, FRHICommandDrawIndexedPrimitiveString1468>::ExecuteAndDestruct(FRHICommandListBase&, FRHICommandListDebugContext&) Address = 0x16b51b93c [/Users/Shared/Epic Games/UE_5.3/Engine/Source/Runtime/RHI/Public/RHICommandList.h, line 1247] [in UnrealEditor-NoesisRuntime.dylib] FRHICommandListBase::Execute(TRHIPipelineArray<IRHIComputeContext*>&, FRHICommandListBase::FPersistentState::FGPUStats*) Address = 0x100f7575c (filename not found) [in UnrealEditor-RHI.dylib] UE::Core::Private::Function::TFunctionRefCaller<FRHICommandListImmediate::ExecuteAndReset(bool)::$_69, void ()>::Call(void*) Address = 0x100ffacd4 (filename not found) [in UnrealEditor-RHI.dylib] TGraphTask<TFunctionGraphTaskImpl<void (), (ESubsequentsMode::Type)0>>::ExecuteTask(TArray<FBaseGraphTask*, TSizedDefaultAllocator<32>>&, ENamedThreads::Type, bool) Address = 0x100fd7c54 (filename not found) [in UnrealEditor-RHI.dylib] FNamedTaskThread::ProcessTasksNamedThread(int, bool) Address = 0x103cf7890 (filename not found) [in UnrealEditor-Core.dylib] FNamedTaskThread::ProcessTasksUntilQuit(int) Address = 0x103cf5b74 (filename not found) [in UnrealEditor-Core.dylib] FRHIThread::Run() Address = 0x1019c70e8 (filename not found) [in UnrealEditor-RenderCore.dylib] FRunnableThreadPThread::Run() Address = 0x103ea8e4c (filename not found) [in UnrealEditor-Core.dylib] FRunnableThreadPThread::_ThreadProc(void*) Address = 0x103e09e50 (filename not found) [in UnrealEditor-Core.dylib] Unknown() Address = 0x18beda034 (filename not found) [in libsystem_pthread.dylib] Unknown() Address = 0x18bed4e3c (filename not found) [in libsystem_pthread.dylib] |
||||
Tags: | |||||
Steps To Reproduce: | Open the Samples.uproject, click the play button in the Unreal Engine editor. | ||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3016 | [NoesisGUI] Unreal | major | always | 2024-01-17 01:56 | 2024-01-29 22:37 |
Reporter: | saji8k | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.3 | ||
Target Version: | 3.2.3 | ||||
Platform: | Any | ||||
Summary: | Unreal 5.3 Plugin fails to build on macOS | ||||
Description: |
After downloading a fresh copy of NoesisGUI (NoesisGUI-UE5.3-3.2.2-Indie) to my Mac (M3, macOS 14.2.1, Xcode 15.2), I am unable to open the samples.uproject file with Unreal Engine 5.3.2. First, Unreal gives me a warning dialog stating "Missing Sample Modules. The following modules are missing or built with a different engine version: DatabindingModule...NoesisEditor. Would you like to rebuild them now?" after clicking Yes to that, Unreal says "Error. Samples could not be compiled. Try rebuilding from source manually." and then closes. I tried using the "Generate Xcode Project" from the context menu but that did nothing which seems to be an Unreal issue not Noesis. I was able to generate the project files from the terminal. I then tried to build the Samples project directly from Xcode but that failed as well. With the following three errors: Code: Select all In file included from /Users/saji/Documents/Noesis/NoesisGUI-UE5.3-3.2.2-Indie/Plugins/NoesisGUI/Intermediate/Build/Mac/arm64/UnrealGame/Development/NoesisRuntime/Module.NoesisRuntime.2.cpp:29: In file included from /Users/saji/Documents/Noesis/NoesisGUI-UE5.3-3.2.2-Indie/Plugins/NoesisGUI/Source/NoesisRuntime/Private/NoesisRiveControl.cpp:18: In file included from /Users/saji/Documents/Noesis/NoesisGUI-UE5.3-3.2.2-Indie/Plugins/NoesisGUI/Source/Noesis/NoesisSDK/Src/Packages/App/RiveBase/Src/Rive.cpp:35: /Users/saji/Documents/Noesis/NoesisGUI-UE5.3-3.2.2-Indie/Plugins/NoesisGUI/Source/Noesis/NoesisSDK/Src/Packages/App/RiveBase/Src/rive/src/component.cpp:11:12: error: reference to 'Component' is ambiguous StatusCode Component::onAddedDirty(CoreContext* context) ^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/Headers/Components.h:187:41: note: candidate found by name lookup is 'Component' typedef ComponentRecord * Component; ^ /Users/saji/Documents/Noesis/NoesisGUI-UE5.3-3.2.2-Indie/Plugins/NoesisGUI/Source/Noesis/NoesisSDK/Src/Packages/App/RiveBase/Src/rive/include/rive/shapes/paint/shape_paint_mutator.hpp:6:7: note: candidate found by name lookup is 'rive::Component' class Component; ^ Code: Select all In file included from /Users/saji/Documents/Noesis/NoesisGUI-UE5.3-3.2.2-Indie/Plugins/NoesisGUI/Intermediate/Build/Mac/arm64/UnrealGame/Development/NoesisRuntime/Module.NoesisRuntime.2.cpp:29: In file included from /Users/saji/Documents/Noesis/NoesisGUI-UE5.3-3.2.2-Indie/Plugins/NoesisGUI/Source/NoesisRuntime/Private/NoesisRiveControl.cpp:18: In file included from /Users/saji/Documents/Noesis/NoesisGUI-UE5.3-3.2.2-Indie/Plugins/NoesisGUI/Source/Noesis/NoesisSDK/Src/Packages/App/RiveBase/Src/Rive.cpp:217: /Users/saji/Documents/Noesis/NoesisGUI-UE5.3-3.2.2-Indie/Plugins/NoesisGUI/Source/Noesis/NoesisSDK/Src/Packages/App/RiveBase/Src/rive/src/math/hit_test.cpp:21:8: error: redefinition of 'Point' struct Point ^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/MacTypes.h:538:8: note: previous definition is here struct Point { ^ Code: Select all In file included from /Users/saji/Documents/Noesis/NoesisGUI-UE5.3-3.2.2-Indie/Plugins/NoesisGUI/Intermediate/Build/Mac/arm64/UnrealGame/Development/NoesisRuntime/Module.NoesisRuntime.2.cpp:29: In file included from /Users/saji/Documents/Noesis/NoesisGUI-UE5.3-3.2.2-Indie/Plugins/NoesisGUI/Source/NoesisRuntime/Private/NoesisRiveControl.cpp:18: In file included from /Users/saji/Documents/Noesis/NoesisGUI-UE5.3-3.2.2-Indie/Plugins/NoesisGUI/Source/Noesis/NoesisSDK/Src/Packages/App/RiveBase/Src/Rive.cpp:238: /Users/saji/Documents/Noesis/NoesisGUI-UE5.3-3.2.2-Indie/Plugins/NoesisGUI/Source/Noesis/NoesisSDK/Src/Packages/App/RiveBase/Src/rive/src/shapes/polygon.cpp:9:1: error: reference to 'Polygon' is ambiguous Polygon::Polygon() {} ^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/QD.framework/Versions/A/Headers/Quickdraw.h:267:41: note: candidate found by name lookup is 'Polygon' typedef MacPolygon Polygon; ^ /Users/saji/Documents/Noesis/NoesisGUI-UE5.3-3.2.2-Indie/Plugins/NoesisGUI/Source/Noesis/NoesisSDK/Src/Packages/App/RiveBase/Src/rive/include/rive/shapes/polygon.hpp:9:7: note: candidate found by name lookup is 'rive::Polygon' class Polygon : public PolygonBase ^ I am also able to run the Noesis Apple Native SDK Samples xcode project without these issues so I am not sure why they are coming up here. I guess Unreal brings in more Apple API headers than the Application framework. To fix the above, I changed Component to rive::Component in component.cpp. I changed Point to RivePoint in hit_test.cpp I changed Polygon to rive::Polygon in polygon.hpp That finally fixed all the build errors and let me open the Samples.uproject in Unreal Engine on macOS. |
||||
Tags: | |||||
Steps To Reproduce: | Try to open the Samples.uproject on macOS. | ||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2918 | [NoesisGUI] Unreal | crash | always | 2023-12-05 03:04 | 2024-01-29 22:27 |
Reporter: | hcpizzi | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.3 | ||
Target Version: | 3.2.3 | ||||
Platform: | Any | ||||
Summary: | Crash when resizing the Viewport with the D3D11 render back | ||||
Description: | A check fails during window resizing when the D3D11 RHI is used. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
WindowResizeFix.patch (644 bytes) 2023-12-05 03:05 https://www.noesisengine.com/bugs/file_download.php?file_id=2040&type=bug |
||||
Notes | |
(0009000)
hcpizzi 2023-12-05 03:05 |
I've attached a patch that resolves the problem. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3044 | [NoesisGUI] Studio | minor | have not tried | 2024-01-24 16:51 | 2024-01-29 18:18 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Crash when assigning Hold to keyframe | ||||
Description: |
As seen here: https://youtu.be/yBO8Ay-eK1c?feature=shared&t=1893 Crash dump attached |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
HoldEasing.dmp (304,345 bytes) 2024-01-24 16:51 https://www.noesisengine.com/bugs/file_download.php?file_id=2106&type=bug HoldEasing-2.dmp (285,833 bytes) 2024-01-29 18:18 https://www.noesisengine.com/bugs/file_download.php?file_id=2119&type=bug |
||||
Notes | |
(0009138)
fllorens 2024-01-29 18:18 |
Also seen Here: https://youtu.be/dSlrFUtpvMY?feature=shared&t=2969 |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2936 | [NoesisGUI] Unity3D | major | always | 2023-12-12 15:34 | 2024-01-29 18:06 |
Reporter: | stonstad | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.3 | ||
Target Version: | 3.2.3 | ||||
Platform: | Any | ||||
Summary: | World UI Responds to Mouse Events When Cursor Hidden and Locked | ||||
Description: | Noesis World UI responds to mouse over events when the Unity cursor is hidden and locked. Unity places the cursor at the screen space center and locks it into place. I do not believe there a scenario in which an end user desires to have world UI elements respond to events when the cursor is both hidden and locked in position. Modifying the behavior to follow what NoesisView does would be more consistent. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
NoesisView.cs.patch (1,728 bytes) 2024-01-29 18:06 https://www.noesisengine.com/bugs/file_download.php?file_id=2118&type=bug |
||||
Notes | |
(0009137)
jsantos 2024-01-29 18:06 |
Patch attached. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2729 | [NoesisGUI] Unity3D | minor | always | 2023-10-16 16:53 | 2024-01-29 12:58 |
Reporter: | jphyzic | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.3 | ||
Target Version: | 3.2.3 | ||||
Platform: | Any | ||||
Summary: | Can not bind to Point properties X and Y | ||||
Description: |
Binding to a property of type Noesis.Point pointing either to Point.X or Point.Y property fails with a warning `[NOESIS/W] Can't solve PropertyPath: Type 'Point' does not contain a property named 'Y'` followed by a `Binding failed` error. Note: I'm using Noesis in Unity and currently updating it from 3.1.4 to 3.2.2. The error was not present in 3.1.4. A similar problem is present in 3.1.4 for Rect class - only Width and Height properties may be bound (haven't checked it in 3.2.2), so I had to use a custom converter as a workaround. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008831)
jsantos 2023-10-16 20:45 |
You are right, Point is incorrectly exposing "x" and "y" properties (lowercase). But I see that Rect class is properly exposing "X", "Y", "Width" and "Height", even in 3.1.4. Could you please paste your converter here? |
(0008836)
jphyzic 2023-10-17 08:15 |
I'm sorry, I double-checked and indeed, X, Y, Width and Height properties of the Rect can be used with binding. However, other properties like IsEmpty, Top, Bottom, Location etc. still can not be bound to. It was some time ago, so I've confused the exact names of the properties that were causing problems. I've used a simple converter to extract the properties I needed: public class RectPropertyConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { if (value == DependencyProperty.UnsetValue) return DependencyProperty.UnsetValue; var r = (Rect)value; return parameter switch { nameof(r.Width) => r.Width, nameof(r.Height) => r.Height, nameof(r.Left) => r.Left, nameof(r.Right) => r.Right, nameof(r.Top) => r.Top, nameof(r.Bottom) => r.Bottom, nameof(r.X) => r.X, nameof(r.Y) => r.Y, nameof(r.Location) => r.Location, nameof(r.Size) => r.Size, nameof(r.TopLeft) => r.TopLeft, nameof(r.TopRight) => r.TopRight, nameof(r.BottomLeft) => r.BottomLeft, nameof(r.BottomRight) => r.BottomRight, _ => r }; } public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { throw new NotImplementedException(); } } |
(0008837)
jsantos 2023-10-17 11:56 |
Thanks for this! |
(0009134)
jsantos 2024-01-29 12:58 |
Properties renamed to "X" and "Y" Added IsEmpty, Left, Top, Right, Bottom To Rect. Unfortunately, the other properties can't be added until the next reflection system. Thanks for your feedback! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2872 | [NoesisGUI] Unity3D | crash | always | 2023-11-22 15:58 | 2024-01-28 17:19 |
Reporter: | Kirkules | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.3 | ||
Target Version: | 3.2.3 | ||||
Platform: | macOS | ||||
Summary: | Crash on Quit App | ||||
Description: |
macOS 14.1.1 (23B81) 2.3 GHz 8-Core Intel Core i9 Radeon Pro 560X 4 GB Intel UHD Graphics 630 1536 MB Unity Editor 2022.3.13f1 Cinemacine 3.0.0-pre.9 Identifier: com.adx.yo Version: 1.5 (0) Code Type: X86-64 (Native) Parent Process: launchd [1] User ID: 501 Date/Time: 2023-11-22 09:49:49.3786 -0500 OS Version: macOS 14.1.1 (23B81) Report Version: 12 Bridge OS Version: 8.1 (21P1069) Anonymous UUID: A3260EF1-6951-0E71-A0FD-68F3CFE7C850 Sleep/Wake UUID: 375750F4-70B3-4253-835D-64535A93CB5A Time Awake Since Boot: 32000 seconds Time Since Wake: 4674 seconds System Integrity Protection: enabled Crashed Thread: 0 tid_103 Dispatch queue: com.apple.main-thread Exception Type: EXC_BAD_ACCESS (SIGSEGV) Exception Codes: KERN_INVALID_ADDRESS at 0x0000000132c741a0 Exception Codes: 0x0000000000000001, 0x0000000132c741a0 Termination Reason: Namespace SIGNAL, Code 11 Segmentation fault: 11 Terminating Process: exc handler [4958] VM Region Info: 0x132c741a0 is not in any region. Bytes after previous region: 5923233 Bytes before following region: 19447392 REGION TYPE START - END [ VSIZE] PRT/MAX SHRMOD REGION DETAIL VM_ALLOCATE 1326b8000-1326ce000 [ 88K] rw-/rwx SM=ZER ---> GAP OF 0x1832000 BYTES VM_ALLOCATE 133f00000-133f40000 [ 256K] ---/rwx SM=NUL Thread 0 Crashed:: tid_103 Dispatch queue: com.apple.main-thread 0 ??? 0x132c741a0 ??? 1 Noesis.dylib 0x120292408 0x11fec6000 + 3982344 2 Noesis.dylib 0x11fecff89 0x11fec6000 + 40841 3 Noesis.dylib 0x11fecacb9 0x11fec6000 + 19641 4 Noesis.dylib 0x11fecaa4e 0x11fec6000 + 19022 5 Noesis.dylib 0x11fec917d 0x11fec6000 + 12669 6 libsystem_c.dylib 0x7ff8066975b1 __cxa_finalize_ranges + 402 7 libsystem_c.dylib 0x7ff8066973d2 exit + 35 8 UnityPlayer.dylib 0x10c500936 DoQuit(bool) + 102 9 UnityPlayer.dylib 0x10c503130 -[PlayerAppDelegate UpdatePlayer] + 496 10 UnityPlayer.dylib 0x10c502f30 -[PlayerAppDelegate TimerTick] + 32 11 Foundation 0x7ff807880b84 __NSFireTimer + 67 12 CoreFoundation 0x7ff8068c466c __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 20 13 CoreFoundation 0x7ff8068c421a __CFRunLoopDoTimer + 785 14 CoreFoundation 0x7ff8068c3e56 __CFRunLoopDoTimers + 285 15 CoreFoundation 0x7ff8068a8152 __CFRunLoopRun + 2104 16 CoreFoundation 0x7ff8068a7352 CFRunLoopRunSpecific + 557 17 HIToolbox 0x7ff8111499d9 RunCurrentEventLoopInMode + 292 18 HIToolbox 0x7ff8111497e6 ReceiveNextEventCommon + 665 19 HIToolbox 0x7ff811149531 _BlockUntilNextEventMatchingListInModeWithFilter + 66 20 AppKit 0x7ff809eb7885 _DPSNextEvent + 880 21 AppKit 0x7ff80a7ab348 -[NSApplication(NSEventRouting) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1304 22 AppKit 0x7ff809ea8dfa -[NSApplication run] + 603 23 AppKit 0x7ff809e7ce10 NSApplicationMain + 816 24 UnityPlayer.dylib 0x10c502891 PlayerMain(int, char const**) + 1265 25 dyld 0x7ff8064453a6 start + 1942 |
||||
Tags: | |||||
Steps To Reproduce: |
Run app It loads a Start Match UI Quit app ... crash |
||||
Additional Information: | |||||
Attached Files: |
StartMPGameViewModel.cs (4,343 bytes) 2023-11-22 19:47 https://www.noesisengine.com/bugs/file_download.php?file_id=2028&type=bug StartMPGameControl.xaml (11,217 bytes) 2023-11-22 19:47 https://www.noesisengine.com/bugs/file_download.php?file_id=2029&type=bug StartMPGameControl.xaml.cs (2,787 bytes) 2023-11-22 19:47 https://www.noesisengine.com/bugs/file_download.php?file_id=2030&type=bug DOANoesisCinemachine3.zip (741,271 bytes) 2023-11-22 20:27 https://www.noesisengine.com/bugs/file_download.php?file_id=2031&type=bug |
||||
Notes | |
(0008972)
jsantos 2023-11-22 18:07 |
What version of Noesis is this? Is this reproducing in our examples on a clean project? |
(0008973)
Kirkules 2023-11-22 18:50 |
3.2 I have not tried a clean project |
(0008974)
jsantos 2023-11-22 19:00 |
3.2.2 ? |
(0008975)
Kirkules 2023-11-22 19:27 |
Yes, 3.2.2, sorry. Just confirmed happens in clean project with the same xaml files from original project. I haven't tried a different xaml, so it could be something in the xaml I'm using. I can delete the library folder and package up this clean project if you'd like, or just send my xaml files? |
(0008976)
jsantos 2023-11-22 19:36 |
Could you please try with one of the examples included in the package? (HelloWorld, Buttons...) |
(0008978)
Kirkules 2023-11-22 19:47 |
Buttons, Tic-Tac-Toe both worked, no crash in player after exit! uploading my crashing files ... |
(0008979)
jsantos 2023-11-22 20:20 |
Could you also create a minimal project reproducing this issue? |
(0008980)
Kirkules 2023-11-22 20:27 |
Build for macOS, run once StartMPGame xaml loads, Quit the app. Crash! Thank you |
(0008981)
jsantos 2023-11-22 20:31 |
Thank you |
(0008992)
Kirkules 2023-12-01 14:16 |
Is there anything I can do to fix this xaml so that it won't crash on exit every time? |
(0008994)
jsantos 2023-12-01 16:55 |
Sorry I didn't have time to work on this yet. |
(0009124)
jsantos 2024-01-25 20:56 (Last edited: 2024-01-25 20:56) |
I am working on this now. I have just built a a standalone version of the game. When it launches I see the "Start New Game" screen, I click on the buttons and just close the app. No crashes. Do I need to do something more specific? |
(0009127)
Kirkules 2024-01-26 02:16 |
Perhaps try it a couple times That was all I had to do, was just launch app (don't start) Exit app. Crash I removed all of the styling and it stopped crashing. |
(0009133)
jsantos 2024-01-26 21:06 |
Great, finally I am reproducing this. :) |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3047 | [NoesisGUI] Studio | minor | have not tried | 2024-01-25 18:55 | 2024-01-27 03:10 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Crash when creating a RenderTransform translate keyframe | ||||
Description: |
As seen here: https://youtu.be/IWfoVuZF25w?feature=shared&t=2443 Dump attached |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
TranslateCreateKeyframe.dmp (255,824 bytes) 2024-01-25 18:55 https://www.noesisengine.com/bugs/file_download.php?file_id=2111&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3049 | [NoesisGUI] Inspector | crash | have not tried | 2024-01-27 01:52 | 2024-01-27 01:53 |
Reporter: | jsantos | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Crashed the studio scrolling the properties panel | ||||
Description: | I was scrolling the properties of a Path | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
20240127_014955.dmp (137,036 bytes) 2024-01-27 01:52 https://www.noesisengine.com/bugs/file_download.php?file_id=2114&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2704 | [NoesisGUI] C# SDK | minor | always | 2023-09-29 00:59 | 2024-01-26 20:16 |
Reporter: | ai_enabled | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | feedback | Product Version: | 3.2.1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | RaiseTextureChanged doesn't update image source with relative path | ||||
Description: |
Hi guys, if I have a texture placed in a subfolder and reference it like this: <Image Source="Images/Player.png" /> the texture reloading with RaiseTextureChanged doesn't work. The workaround is to use the full path to the image file, e.g.: <Image Source="/UI/Controls/Game/Map/Images/Player.png" /> Regards! |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008788)
jsantos 2023-10-04 13:43 |
Providers know nothing about relative paths. They always work in absolute paths (relatives to their own base root). 'RaiseTextureChanged' must provide the same path that was used when previously loading the resource. |
(0008789)
ai_enabled 2023-10-04 14:21 |
Hi Jesus, thank you for the clarification! Right, I'm always calling RaiseTextureChanged with the absolute path (starting with the / slash) as I don't keep the original Uri provided by NoesisGUI (I convert it to the file path and use it to asynchronously load the texture, then build an absolute Uri from this file path). I've expected that the absolute path will always work. Hmm. So, the problem is that when I use the relative path (Source="Images/Player.png") I get this output: LoadTexture: UI/Controls/Game/Map/Images/Player.png RaiseTextureChanged: /UI/Controls/Game/Map/Images/Player.pngApparently the path doesn't match due to the missing slash and the RaiseTextureChanged call has no effect. For comparison, when I use the absolute path (Source="/UI/Controls/Game/Map/Images/Player.png") I get this output: LoadTexture: /UI/Controls/Game/Map/Images/Player.png RaiseTextureChanged: /UI/Controls/Game/Map/Images/Player.pngSo it works properly. I think it will be better if the TextureProvider provided an identical path in the both cases for the sake of consistency. Regards! |
(0008793)
jsantos 2023-10-05 12:25 |
You are totally right, this should be fixed. |
(0009117)
jsantos 2024-01-25 00:49 (Last edited: 2024-01-25 00:51) |
LoadTexture: UI/Controls/Game/Map/Images/Player.png RaiseTextureChanged: /UI/Controls/Game/Map/Images/Player.png I think this is happening because the XAML containing the texture has a URI that doesn't start with "/", for example: "Game/UI/Panel.xaml". If you change this to "/Game/UI/Panel.xaml" it should work. Relative texture URIs are just using the base URI of the XAML. We normalize the URI as much as possible, but the first '/' is quite tricky to remove, because it changes the meaning of the path ("Game/UI/Panel.xaml" is a path relative to your provider, but "/Game/UI/Panel.xaml" may be interpreted as a global filesystem path. Please, let me know if this makes sense to you. |
(0009130)
ai_enabled 2024-01-26 12:48 |
Hi Jesús, I thought about this but it doesn't make any sense to me regarding the TextureProvider—in particularly the part about "path relative to your provider". As I see you're already resolving the path used in XAML: (as in my first example above) XAML Source="Images/Player.png" results in LoadTexture "UI/Controls/Game/Map/Images/Player.png" parameterwhich is basically an absolute path (with missing "/" prefix). And my TextureProvider treat it as an absolute path. Obviously I don't take into account the inner workings and can consider the situation only from my point of view so forgive me if I'm missing something. But I cannot simply comprehend why someone may treat this resolved path as a non-absolute path even if it's missing the "/" prefix. I think it will be correct (and perfect) if TextureProvider always receives an absolute path in the LoadTexture method (and so the same absolute path is provided on RaiseTextureChanged). So, just add the "/" prefix and voila, the issue is resolved! Regards! |
(0009132)
jsantos 2024-01-26 20:16 (Last edited: 2024-01-26 20:16) |
If the XAML is loaded with a 'prefix' (like for example /Game/UI/Panel.xaml) and it contains a "Images/Player.png", the texture provider should receive this uri = "/Game/UI/Images/Player.png". Could you verify this? We can't add/remove automatically the prefix because it changes the meaning. Imagine I have my own provider with a root set at (/home/game/UI). If I receive a request for loading "Main.xaml" I will open the file at "/home/game/UI/Main.xaml" but if I receive the request "/Main.xaml" I should load (/Main.xaml, root of the filesystem, ignoring my root path). Not sure if this is clear, I can train with a better example, but I first I want to understand if loading your XAMLs with prefix fixes the issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2776 | [NoesisGUI] Unity3D | crash | always | 2023-10-26 15:02 | 2024-01-26 19:56 |
Reporter: | Deineri | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.3 | ||
Target Version: | 3.2.3 | ||||
Platform: | Windows | ||||
Summary: | Imagebrush rendertexture crash with D3X12 | ||||
Description: |
Unity (and build) instantly crash when UI item is shown with rendertexture as its brush Tested with several rendertexture settings Unity version 2022.3.9f1 (tested on .11 also crashes) D3X11 works as correctly |
||||
Tags: | Unity URP | ||||
Steps To Reproduce: |
Add modified Noesis data binding example, Change editor to D3X12 Run in editor |
||||
Additional Information: | |||||
Attached Files: |
RenderTexture.zip (1,389,647 bytes) 2023-10-26 15:02 https://www.noesisengine.com/bugs/file_download.php?file_id=2001&type=bug |
||||
Notes | |
(0009128)
jsantos 2024-01-26 11:42 |
The attached sample is missing a few scrips (one in the Camera, one in the light, two in the RenderTextureCamera) Could you please add them? |
(0009129)
jsantos 2024-01-26 11:56 |
Anyway, I am reproducing the crash, I don't need the scripts. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3037 | [NoesisGUI] Studio | minor | have not tried | 2024-01-23 15:43 | 2024-01-26 01:13 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Copy pasting a keyframe crashes the application | ||||
Description: |
As seen here: https://youtu.be/UvPFzHGwNyU?feature=shared&t=719 Dump attached |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
CopyPasteKeyframe.dmp (276,421 bytes) 2024-01-23 15:43 https://www.noesisengine.com/bugs/file_download.php?file_id=2099&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3034 | [NoesisGUI] Studio | crash | always | 2024-01-23 14:45 | 2024-01-26 01:12 |
Reporter: | dstewart | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Studio Crashes when Naming Two Layers the Same | ||||
Description: |
Noesis Studio crashes when two layers are named identically. Image of occurence, and Dump attached. |
||||
Tags: | |||||
Steps To Reproduce: |
Repro Steps: 1) Create 2 layers in the layer hierarchy 2) Double-click on one of the layers, and give it a new name. 3) Double-click on the second other layer, and give it the exact same name. Observe how a warning is thrown about not being able to register a Duplicate name, followed by an application crash. Expected Results: Either: A) Studio throws a warning about not being able to support duplicate layer names, before reverting the conflicting layer name to it's original name. B) Studio automatically renames the conflicting layer name to [layername]_1 (and continues to index up as each new duplicate is created). |
||||
Additional Information: | |||||
Attached Files: |
20240123_083214.xaml (2,233 bytes) 2024-01-23 14:45 https://www.noesisengine.com/bugs/file_download.php?file_id=2094&type=bug 20240123_083218.dmp (116,807 bytes) 2024-01-23 14:45 https://www.noesisengine.com/bugs/file_download.php?file_id=2095&type=bug DupeNameCrash.jpg (294,289 bytes) 2024-01-23 14:45 https://www.noesisengine.com/bugs/file_download.php?file_id=2096&type=bug |
||||
Notes | |
(0009126)
dfranjic 2024-01-26 01:12 |
A toast will now be shown to notify the user that it's not possible to rename an object to the wanted name. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3025 | [NoesisGUI] Studio | crash | always | 2024-01-22 15:01 | 2024-01-26 01:11 |
Reporter: | dstewart | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Studio Crashes when Creating Render Transform Keyframe | ||||
Description: |
When attempting to create a Render Transform Keyframe within a Button's OnHover Visual state, Studio crashes when selecting the "Create Keyframe" option from the Render Transform menu. Find Dump, and Video attached. |
||||
Tags: | |||||
Steps To Reproduce: |
Repro Steps: 1) Create a button template with a couple layers within. 2) In the Visual States panel, press the 'Record' animation button add a Render Transform animation to the MouseOver visual state by selecting a point in the timeline, clicking on the '3-dot' menu for the X-Axis adjustement, and select 'Create Keyframe'. Observe the application crashing. Note that this crash does not occur, if the transform is created by placing the playhead at the desired point on the timeline, and then simply editing the value with recording turned on. Expected Result: A keyframe for the Render Transform property appears on the timeline without crashing. |
||||
Additional Information: | |||||
Attached Files: |
20240122_084738.dmp (139,033 bytes) 2024-01-22 15:01 https://www.noesisengine.com/bugs/file_download.php?file_id=2085&type=bug TransformKeyframeCrash.mp4 (4,441,827 bytes) 2024-01-22 15:01 https://www.noesisengine.com/bugs/file_download.php?file_id=2086&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2995 | [NoesisGUI] Studio | minor | always | 2024-01-05 16:48 | 2024-01-26 00:05 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | reopened | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | RenderTransformOrigin not updating | ||||
Description: | As seen here: https://youtu.be/_BVXMra08jo?feature=shared&t=753 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0009070)
dfranjic 2024-01-09 16:59 |
This happens because RenderTransformOrigin property is under a FrameworkElement.RenderTransform property if it's a TransfromGroup. The ElementTreeItem::FindProperty doesn't try to find "RenderTransformOrigin" under a "FrameworkElement.RenderTransform". Because of that, the FindProperty returns a nullptr and thus a Property value cannot be refreshed after a UpdatePropertyCommand.. The TransformGroup::FindSubproperty implements a check for RenderTransformOrigin, but the request is never forwarded from ElementTreeItem::FindProperty to TransformGroup::FindSubproperty. |
(0009094)
fllorens 2024-01-19 17:02 |
It keeps happening when the timeline is present, as seen here: https://youtu.be/hEsC0P0pmuA?feature=shared&t=101 |
(0009109)
fllorens 2024-01-23 17:39 (Last edited: 2024-01-23 17:40) |
In the last video there was no problem at all. I think that we should be closing this. |
(0009125)
dfranjic 2024-01-26 00:05 |
For me, it even updates when it's animated.. I am going to close this for the moment, but if you find it still happening, please do reopen it. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2856 | [NoesisGUI] C++ SDK | minor | always | 2023-11-21 17:26 | 2024-01-25 20:29 |
Reporter: | maherne | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.3 | ||
Target Version: | 3.2.3 | ||||
Platform: | Any | ||||
Summary: | TextBlock and ShapingFull have different behaviour for handling empty InlineUIContainers | ||||
Description: |
InlineUIContainers, when empty, are stored as spaces in the TextBlock::TextProperty, but are entirely ignored in ShapingFull. In ShapingFull::ShapeRuns, an InlineUIContainer with a child it is included in the const TextRun* runs parameter, with TextRun::Type Image. If an InlineUIContainer has no child then runs does not contain an entry for the InlineUIContainer. |
||||
Tags: | |||||
Steps To Reproduce: | <TextBlock><InlineUIContainer/><InlineUIContainer><Button Width="100" Height="100"/></InlineUIContainer></TextBlock> | ||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2965 | [NoesisGUI] C++ SDK | major | always | 2023-12-20 13:30 | 2024-01-25 20:28 |
Reporter: | RevalSoft | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.3 | ||
Target Version: | 3.2.3 | ||||
Platform: | Windows | ||||
Summary: | Bad font anti aliasing after upgrade from 3.1.2 to 3.2.2 | ||||
Description: |
After jump from 3.1.2 to 3.2.2 font rendering have much lower quality, that more visible with Chinese symbols. Detected in C++ SDK for Windows (x64) with OpenGL Backend. In attachment Main.cpp from IntegrationGLUT example which can be used for reproduce. Assets for reproduce (fonts / xaml): https://mega.nz/file/645wha4I#4W7B6pqCK4N0SKpsAg1Zqqkdcq4Cc9xrhdeRHzjS_2k Forum thread: https://www.noesisengine.com/forums/viewtopic.php?t=3148 |
||||
Tags: | Fonts, Rendering, Text | ||||
Steps To Reproduce: |
1. Put UI folder from assets in Bin output folder for both SDK (3.1.2 & 3.2.2) 2. Replace Main.cpp for IntegrationGLUT for both SDK 3. Complie both SDK IntegrationGLUT 4. Run both IntegrationGLUT for get illustrated different in rendering |
||||
Additional Information: | |||||
Attached Files: |
Screenshot 2023-12-20 090433.png (526,467 bytes) 2023-12-20 13:30 https://www.noesisengine.com/bugs/file_download.php?file_id=2066&type=bug Main.cpp (7,145 bytes) 2023-12-20 13:30 https://www.noesisengine.com/bugs/file_download.php?file_id=2067&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2897 | [NoesisGUI] Studio | minor | always | 2023-11-27 17:11 | 2024-01-25 16:49 |
Reporter: | fllorens | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Crash when creating and selecting a colour resource inside a template | ||||
Description: | As seen here: https://youtu.be/dbBgvtudFlg?feature=shared&t=1398 | ||||
Tags: | |||||
Steps To Reproduce: |
1. Create a template for a control 2. with an element selected open the brush editor 3. Create a color resource and click on it |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3011 | [NoesisGUI] Studio | minor | always | 2024-01-15 13:17 | 2024-01-25 16:00 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Crash when using color resources in control templates | ||||
Description: |
as seen here: https://youtu.be/z2pIHjyD0dU?feature=shared&t=2251 There's a crash when trying to select a color resource in a brush |
||||
Tags: | |||||
Steps To Reproduce: |
1. Create a color resource+ 2. Create a template for a control, e.g. a button 3. Edit the brush of an element inside and try to use the color resource in it |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3028 | [NoesisGUI] Studio | minor | have not tried | 2024-01-22 16:13 | 2024-01-25 16:00 |
Reporter: | fllorens | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Clicking on RenderTransform tab crashed the Studio | ||||
Description: |
As seen here: https://youtu.be/k5WQa0cvw0Y?feature=shared&t=159 Attached the crash dump |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
RenderTransformTab.dmp (263,780 bytes) 2024-01-22 16:13 https://www.noesisengine.com/bugs/file_download.php?file_id=2088&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2969 | [NoesisGUI] Studio | crash | always | 2023-12-21 19:50 | 2024-01-25 16:00 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Crash applying a Color resource inside a template | ||||
Description: |
1. Add a button 2. Create a template 3. Go to the Background property and select a SolidColorBrush 4. Try to apply a Color resource defined in the page |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2710 | [NoesisGUI] Unity3D | major | always | 2023-10-03 21:17 | 2024-01-25 11:01 |
Reporter: | samc | Platform: | |||
Assigned To: | maherne | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.3 | ||
Target Version: | 3.2.3 | ||||
Platform: | Windows | ||||
Summary: | Unable to localize ControlTemplate or DataTemplate that live in a ResourceDictionary | ||||
Description: |
We're using the localization extension: https://www.noesisengine.com/docs/App.ApplicationLauncher._LocExtension.html To localize our game. Some of the text we need to localize lives in Resource Dictionaries. This includes ControlTemplate and DataTemplate. It's not clear how to use the localize extension to localize the text in these templates. Reference thread: https://www.noesisengine.com/forums/viewtopic.php?p=16133#p16133 |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
LocExtension.cs (9,422 bytes) 2023-10-05 10:19 https://www.noesisengine.com/bugs/file_download.php?file_id=1971&type=bug |
||||
Notes | |
(0008791)
sfernandez 2023-10-05 10:19 |
The following patched file should fix the problem and allow using the Loc extension inside templates. Could you give it a try? |
(0008795)
samc 2023-10-06 19:55 |
Ah thank you, will give it a shot! Is there any further direction on how to use this exactly? Do I add the LocExtension as a propety of the data trigger or is it on the resource dictionary itself? thanks, sam |
(0008803)
sfernandez 2023-10-11 10:26 |
The Loc extension can be used normally in any element of the ControlTemplate or DataTemplate:<ControlTemplate TargetType="Button"> <StackPanel Background="Silver"> <TextBlock Text="{noesis:Loc ButtonHeader}"/> <ContentPresenter/> </StackPanel> </ControlTemplate> Do you plan to use it in any other situations in the template? |
(0008807)
samc 2023-10-11 20:17 |
Normally, in my user control, I need an additional line like this at the top: [code] noesis:Loc.Resources="{Binding SelectedLanguage.Resources}" [/code] Is that not necessary for templates? Or does that belong in the resource dictionary somewhere? I just wasn't sure... |
(0008808)
sfernandez 2023-10-11 20:36 |
When the template gets applied in a XAML, it will resolve the Loc extension against the Resources that are available in that XAML. So you don't have to worry about the Loc.Resource in the dictionary, only in the XAML files where you are going to use the templates. Will that be enough in your case? |
(0008809)
samc 2023-10-11 20:55 |
Yes this should do - testing now! thanks! |
(0008810)
samc 2023-10-11 22:06 |
totally works, you can close this. thanks! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2585 | [NoesisGUI] Unreal | major | always | 2023-05-02 10:46 | 2024-01-25 01:40 |
Reporter: | vmaurer | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.0 | ||
Product Build: | Resolution: | reopened | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.1 | ||
Target Version: | 3.2.3 | ||||
Platform: | Any | ||||
Summary: | Doesn't compile for PS5 with FreeType enabled | ||||
Description: |
If FreeType is enabled in an UE project using Noesis, the project won't compile for PS5 due to a conflict with a third party library 'HarfBuzz' used by UE. The compiler throws several linker errors like this: >prospero-lld : error : duplicate symbol: hb_buffer_t::clear_output() 8>>>> defined at HarfBuzz.cpp 8>>>> HarfBuzz.o:(hb_buffer_t::clear_output()) in archive ../../project/Plugins/NoesisGUI/Source/Noesis/NoesisSDK/Lib/ps5/Noesis.a 8>>>> defined at hb-buffer.cc Adding the line "bCompileFreeType = false;" in the project's target file works as a temporary workaround. Additional information about project and environment: Visual Studio 2022 PS5 SDK version: 6.0.0 Engine version: 5.1.1 Noesis 3.2 UE5.1 plugin is integrated as a project plugin |
||||
Tags: | C++, PS5, Unreal | ||||
Steps To Reproduce: |
1. Add bCompileFreeType = true; to the target file of the project 2. Set the build config to 'Shipping Game PS5' 3. Try to compile |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008466)
vmaurer 2023-05-03 13:00 |
Changed severity to major - as the suggested workaround has the side effect of UMG text not being rendered in a packaged build |
(0009082)
vmaurer 2024-01-12 14:08 (Last edited: 2024-01-12 14:08) |
It seems the issue got reintroduced in v. 3.2.2 Note: We also upgraded the engine to 5.3 |
(0009083)
jsantos 2024-01-12 15:35 |
This has been correctly solved in 3.2.3 (still not released), let us know if you want to try a preview of this version. Thanks! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3032 | [NoesisGUI] C++ SDK | minor | always | 2024-01-23 14:40 | 2024-01-25 01:30 |
Reporter: | HateDread | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Natvis not working / PDBs missing | ||||
Description: | As per thread https://www.noesisengine.com/forums/viewtopic.php?t=3193, the Natvis file/functionality is not working in a C++ build and may require the PDBs. | ||||
Tags: | |||||
Steps To Reproduce: |
1. Set up some project using the publicly-available, non-PDB build 2. Attempt to debug the project 3. Observe the complete lack of symbols for Noesis types |
||||
Additional Information: | |||||
Attached Files: |
Noesis.natvis (4,403 bytes) 2024-01-25 01:12 https://www.noesisengine.com/bugs/file_download.php?file_id=2108&type=bug |
||||
Notes | |
(0009118)
jsantos 2024-01-25 01:12 |
Even with the PDB, it seems we are not linking the Natvis file (/NATVIS must be used as explained here https://learn.microsoft.com/en-us/cpp/build/reference/natvis-add-natvis-to-pdb?view=msvc-140). I need to figure this out. Meanwhile I am attaching our latest natvis file here. |
(0009119)
jsantos 2024-01-25 01:30 (Last edited: 2024-01-25 01:30) |
https://developercommunity.visualstudio.com/t/c-library-natvis-not-loaded/136621Additionally if you load a natvis embedded into a dll's pdb, the natvis only applies when stepping through code in the dll (as opposed to when it's part of the project, it will load for all stack frames). So it seems, embedding the NatVis in the PDB is not going to work as we want and we are going to need to distribute the NatVis in the SDK. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2935 | [NoesisGUI] Unity3D | block | always | 2023-12-11 22:13 | 2024-01-24 21:33 |
Reporter: | stonstad | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.3 | ||
Target Version: | 3.2.3 | ||||
Platform: | Any | ||||
Summary: | NoesisWorldUI should not recreate or evict state on GameObject.Enable/Disable | ||||
Description: | This isn't the correct behavior for Unity. In Unity, disabling a game object within the hierarchy should not mutate state -- or in this case, cause state to be evicted or reloaded. What would be more appropriate here is to just disable the renderer. I think what the developer is looking for is OnDestroy. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
NoesisWorldUI.cs (4,426 bytes) 2023-12-12 14:03 https://www.noesisengine.com/bugs/file_download.php?file_id=2058&type=bug image.png (69,284 bytes) 2023-12-12 15:58 https://www.noesisengine.com/bugs/file_download.php?file_id=2059&type=bug NoesisWorldUI-2.cs (4,722 bytes) 2024-01-24 21:33 https://www.noesisengine.com/bugs/file_download.php?file_id=2107&type=bug |
||||
Notes | |
(0009007)
stonstad 2023-12-11 22:14 |
https://www.noesisengine.com/forums/viewtopic.php?p=16401#p16401 |
(0009008)
stonstad 2023-12-11 22:38 |
I am loading state in Awake(), and this is working well for me. |
(0009014)
sfernandez 2023-12-12 13:05 |
Yes, it makes sense. We will study moving the loading/destruction to the Awake/OnDestroy methods, and leave Enable/Disable to just add/remove the loaded xaml to the View. |
(0009017)
sfernandez 2023-12-12 14:03 |
I implemented it as mentioned above, could you try the attached script? |
(0009018)
sfernandez 2023-12-12 14:03 |
|
(0009019)
stonstad 2023-12-12 15:58 |
Thank you Sergio. Very cool stuff. OK, I tried it out and it looks like View.Content? is null when FindContainer is called in Awake() I believe the cause is that this particular game object is not active in the hierarchy when WorldSpaceUI.Awake() is initially called. |
(0009021)
sfernandez 2023-12-12 20:33 |
This might be related to 0002586. Could you try to add the following attribute to the NoesisWorldUI component to make sure it is executed after NoesisView loads its xaml: [DefaultExecutionOrder(100)] public class NoesisWorldUI : MonoBehaviour { ... } |
(0009116)
jsantos 2024-01-24 21:33 |
Attaching latest version that is coming with 3.2.3 |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2586 | [NoesisGUI] Unity3D | minor | always | 2023-05-02 18:54 | 2024-01-24 21:32 |
Reporter: | Diego Chiodini | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.3 | ||
Target Version: | 3.2.3 | ||||
Platform: | Any | ||||
Summary: | Required execution order not embedded in source code | ||||
Description: |
In order to work correctly, the world UI needs to execute first NoesisView, then NoesisWorldUI. In any case, where you create a hierarchy with the NoesisWorldUI element ('sphere' in the attached image) BEFORE a NoesisView ('Main Camera'), then there is a strong chance that the UI won't show. This can be fixed by using the "Script execution order" panel but it's not intuitive for a Noesis novice user to understand why these things are related. An alternative that would render the solution transparent to the user is to add a [DefaultExecutionOrder(n)] to NoesisView.cs and a [DefaultExecutionOrder(n-1)] to NoesisWorldUI.cs |
||||
Tags: | example, execution order, world ui | ||||
Steps To Reproduce: |
Please start with the example for World-UI. Remove the execution order for NoesisView and NoesisWorldUI. Recreate the hierarchy in the picture attached. Run & observe. |
||||
Additional Information: | |||||
Attached Files: |
image.png (5,720 bytes) 2023-05-02 18:54 https://www.noesisengine.com/bugs/file_download.php?file_id=1831&type=bug |
||||
Notes | |
(0008465)
jsantos 2023-05-03 12:35 |
Thank you for this great feedback! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1684 | [NoesisGUI] C++ SDK | feature | have not tried | 2020-05-12 11:37 | 2024-01-24 15:28 |
Reporter: | Joren | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | feedback | Product Version: | 3.0 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1 | ||||
Platform: | Any | ||||
Summary: | Support for BaseAlignment for Inline elements | ||||
Description: |
As described in this thread. https://www.noesisengine.com/forums/viewtopic.php?f=3&t=1973#p11071 Support for BaseAlignment for inline elements. |
||||
Tags: | C++ | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
Capture.PNG (96,186 bytes) 2021-11-25 12:13 https://www.noesisengine.com/bugs/file_download.php?file_id=1544&type=bug Capture-2.PNG (54,763 bytes) 2021-11-25 12:34 https://www.noesisengine.com/bugs/file_download.php?file_id=1545&type=bug |
||||
Notes | |
(0007613)
nikobarli 2021-11-25 09:35 |
I think we also need this to support superscript/subscript text on TextBlock. If there is workaround, please let us know. |
(0007614)
sfernandez 2021-11-25 11:12 |
As a workaround you can use a InlineUIContainer containing a TextBlock with the appropriate size and margin:<TextBlock FontSize="20" HorizontalAlignment="Center" VerticalAlignment="Center"> <Run Text="Text with"/> <InlineUIContainer><TextBlock FontSize="12" Text="superscript" Margin="0,-12,0,0"/></InlineUIContainer> <Run Text="and"/> <InlineUIContainer><TextBlock FontSize="12" Text="subscript" Margin="0,4,0,0"/></InlineUIContainer> </TextBlock> |
(0007615)
nikobarli 2021-11-25 12:13 |
Tried the workaround here. Seems to work for superscript but not the subscript. And somehow I need to add top margin of -20 to make the superscript looks nice. Please see the attachment. |
(0007616)
sfernandez 2021-11-25 12:21 |
Please try using a negative bottom margin for the subscript: <TextBlock FontSize="12" Text="subscript" Margin="0,0,0,-10"/> I have to check why our InlineUIContainers are not behaving like WPF regarding to the margins. |
(0007618)
nikobarli 2021-11-25 12:34 |
Thanks. Negative bottom margin seems to work. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2849 | [NoesisGUI] Unity3D | crash | always | 2023-11-20 13:56 | 2024-01-24 11:28 |
Reporter: | Feldruebe | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.3 | ||
Target Version: | 3.2.3 | ||||
Platform: | Windows | ||||
Summary: | Unity crashes on xaml import | ||||
Description: |
Unity crashes on import/reload of the xaml (see steps to reproduce). Unity: 2022.2.20f1 |
||||
Tags: | |||||
Steps To Reproduce: |
<UserControl x:Class="Testing.Test" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" x:Name="Root"> <UserControl.Resources> <ControlTemplate x:Key="Template.CharacterViewSkillButtonControl" TargetType="ButtonBase"> <Grid x:Name="TemplateRoot" RenderTransformOrigin="0.5,0.5"> <Grid> <ContentPresenter x:Name="PART_ContentPresenter" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" /> <Popup x:Name="TTT" IsOpen="True"> <TextBlock Text="ABCD" /> </Popup> </Grid> </Grid> </ControlTemplate> <Style x:Key="ButtonStyle1" TargetType="{x:Type Button}"> <Setter Property="Template" Value="{StaticResource Template.CharacterViewSkillButtonControl}" /> </Style> </UserControl.Resources> <StackPanel Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center"> <Button Content="Click me" Style="{StaticResource ButtonStyle1}" Click="Button_Click" /> <TextBlock Text="{Binding Counter, ElementName=Root, StringFormat='Button clicked {0} time(s)'}" Margin="5,0,0,0" VerticalAlignment="Center" /> </StackPanel> </UserControl> |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3040 | [NoesisGUI] Unity3D | minor | always | 2024-01-23 17:10 | 2024-01-24 10:13 |
Reporter: | Otter | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.3 | ||
Target Version: | 3.2.3 | ||||
Platform: | Any | ||||
Summary: | InvalidOperationException: Native type 'TypeConverter' is not registered | ||||
Description: |
When using Type property in MarkupExtension: [code] public class SomeExtension : MarkupExtension { public Type Type { get; set; } public override object ProvideValue(IServiceProvider serviceProvider) { // Do something with Type } } [/code] and using it like this: [code] <namespace:Some Type="{x:Type namespace:SomeType}"/> [/code] It throws: InvalidOperationException: Native type 'TypeConverter' is not registered |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
TypePropertyBug.patch (870 bytes) 2024-01-23 17:48 https://www.noesisengine.com/bugs/file_download.php?file_id=2102&type=bug |
||||
Notes | |
(0009110)
sfernandez 2024-01-23 17:48 |
Could you please try with the following patch. |
(0009112)
Otter 2024-01-24 08:51 |
The patch fixed the bug and now it works as expected, thanks! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3007 | [NoesisGUI] C++ SDK | minor | have not tried | 2024-01-12 16:08 | 2024-01-23 19:08 |
Reporter: | jsantos | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.3 | ||
Target Version: | 3.2.3 | ||||
Platform: | Any | ||||
Summary: | Issues with -Wno-maybe-uninitialized | ||||
Description: |
Trying to build the linux amd64 samples and failing on this option, gcc back to 9.5.0 doesn't have this option and searching the clang options, I've also tried clang 15-17, comes up blank. Also, can you archive linux sources with tar so it preserves all the file/directory permissions properly, zip messes them up |
||||
Tags: | |||||
Steps To Reproduce: | https://www.noesisengine.com/forums/viewtopic.php?t=3111 | ||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3033 | [NoesisGUI] C++ SDK | minor | always | 2024-01-23 14:43 | 2024-01-23 18:46 |
Reporter: | HateDread | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.3 | ||
Target Version: | 3.2.3 | ||||
Platform: | Any | ||||
Summary: | Event raises incorrect warning/error when trying to remove non-existent handler | ||||
Description: |
As per https://www.noesisengine.com/forums/viewtopic.php?p=16545#p16530, when attempting to remove a handler from an event, i.e. 'FrameworkElement*->SizeChanged() -= NameOfHandlerHere;', Noesis raises a warning/error: Event 'SizeChanged' has no handlers registered This is a behavioral divergence from WPF, which does not have any such emission. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2773 | [NoesisGUI] VSCode | minor | always | 2023-10-25 19:44 | 2024-01-23 14:10 |
Reporter: | jsantos | Platform: | |||
Assigned To: | maherne | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.3 | ||
Target Version: | 3.2.3 | ||||
Platform: | Any | ||||
Summary: | LangServer: Incorrect autocompletion when using namespaces | ||||
Description: |
The following XAML declares the "local" namespace this way:<Window x:Class="HelloWorld.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:HelloWorld" mc:Ignorable="d" FontFamily="./#Aero Matics" FontSize="36" Background="#FF124C7A" Title="NoesisGUI - Hello, World!"> Inside the XAML I have a custom image source (registered in the factory as "HelloWorld.RenderTargetBitmap") <Image Width="100" Height="100"> <Image.Source> <local:RenderTargetBitmap/> </Image.Source> </Image> The language server is incorrectly suggesting "<helloWorld:RenderTargetBitmap/>" when autocompleting |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2732 | [NoesisGUI] Unity3D | major | always | 2023-10-19 13:35 | 2024-01-23 13:59 |
Reporter: | aliagha.huseynli | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.2 | ||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2.4 | ||||
Platform: | Any | ||||
Summary: | Default ComboBox Style cannot rendered. | ||||
Description: |
When I create a combobox in my xaml code then run my Unity app. I see a purple color on it and it doesn't work properly. On Blend I can see Noesis Default style appied but in Unity I can't see it. |
||||
Tags: | |||||
Steps To Reproduce: | Create a combobox add some items in it. Save and run unity. | ||||
Additional Information: | |||||
Attached Files: |
Screenshot 2023-10-19 131603.png (22,065 bytes) 2023-10-19 13:35 https://www.noesisengine.com/bugs/file_download.php?file_id=1988&type=bug Screenshot 2023-10-19 131619.png (60,566 bytes) 2023-10-19 13:35 https://www.noesisengine.com/bugs/file_download.php?file_id=1989&type=bug |
||||
Notes | |
(0008852)
sfernandez 2023-10-19 14:51 |
Do you have a Theme set in the Application Resources (under NoesisGUI Settings)? By default when our plugin is installed we set one of our theme dictionaries (NoesisTheme.DarkBlue.xaml), did you change that? Do you have a local style (https://www.noesisengine.com/docs/Gui.Core.StylingTutorial.html#local-styles) set in the ComboBox without the BasedOn property? |
(0008858)
jsantos 2023-10-20 12:21 |
Could you please share a XAML reproducing the issue? |
(0008868)
aliagha.huseynli 2023-10-24 09:29 |
Sorry for the delayed reply. I have changed already my style. But the answer to your question is yes. Theme set default I even opened a new proj to test this issue and I think v3.2.2 cannot apply the default ComboBox style(Noesis) You should just create same, just try to open new project and add ComboBox there. Default Noesis theme won't apply to ComboBox |
(0009097)
sfernandez 2024-01-22 11:56 |
I think the problem was that you were using a local style without setting the BasedOn (so it was defaulting to the internal pink template). Should we close this ticket? |
(0009105)
aliagha.huseynli 2024-01-23 09:46 |
Yes sir, you can close this ticket. thank you |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3018 | [NoesisGUI] Unity3D | minor | always | 2024-01-17 14:00 | 2024-01-23 13:56 |
Reporter: | Josh Campbell | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | feedback | Product Version: | 3.2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Collapsed element margins are used in spacing calculation | ||||
Description: | The description captures pretty much everything. | ||||
Tags: | |||||
Steps To Reproduce: |
Create a stack panel with an icon on the left and some text, give the icon a right margin spacing of 20. Set the visibility of the button to collapsed. Spacing on the right of icon will be off. |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0009091)
sfernandez 2024-01-18 12:48 |
Hi, When an element is Collapsed, all the space used by that element (including its Margin) won't count for the layout. This is how it is intended to work. What is what you were expecting? <StackPanel HorizontalAlignment="Left" Orientation="Horizontal"> <Rectangle Width="80" Margin="0,0,20,0" Visibility="Collapsed"/> <Rectangle Width="100"/> </StackPanel> Previous stack will measure 100px because only the second rectangle is taken into account for the layout, as the first one is collapsed. |
(0009092)
Josh Campbell 2024-01-18 14:52 |
I'm seeing some offset in a textblock that should be collapsed. In blend it renders with the correct spacing but in unity it appears like the margin does not collapse. |
(0009108)
sfernandez 2024-01-23 13:56 |
Could you please attach the xaml corresponding to that piece for me to test? |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2989 | [NoesisGUI] Studio | minor | always | 2024-01-03 12:56 | 2024-01-23 11:29 |
Reporter: | dstewart | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | unable to reproduce | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Cursor Disappears over Input Fields | ||||
Description: |
The mouse cursor completely disappears when hovering over input fields in the colour picker. It makes it incredibly difficult to track the mouse. Video attached. Note that I had to take a video camera recording, because oddly, the arrow is visible in a screen recording �, just not to the human eye. |
||||
Tags: | |||||
Steps To Reproduce: |
Select any element on the canvas, and open the Colour Picker. Hover the mouse over the Hex input field, and/or the 'Search Color' field. Observe how the mouse pointer disappears. Expected result: mouse cursor remains visible, as either an Arrow, or an I-Beam pointer. |
||||
Additional Information: | |||||
Attached Files: |
20240103_064716_1.mp4 (3,921,956 bytes) 2024-01-03 12:56 https://www.noesisengine.com/bugs/file_download.php?file_id=2072&type=bug |
||||
Notes | |
(0009067)
sfernandez 2024-01-09 13:33 |
I'm not able to reproduce this situation, in my computer with latest 0.0.59 is showing the I-Beam cursor when hovering those text boxes. Does it happen only with the Color Picker, or on any text box (Assets search box, Properties panel search box...)? Is happening only when recording or always? |
(0009107)
dstewart 2024-01-23 11:21 |
Hey Sergio, apologies on the delay - did not get a notification of your reply! I am now unable to repro this as well. I tried with both the recording program (OBS) running, and closed, and the I-Beam now appears in all cases. So, if we didn't touch anything in Studio, it's possible that either a Windows Update, or an Nvidia update may have resolved this. I think we can close this for now until/if it reappears. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3024 | [NoesisGUI] Studio | minor | always | 2024-01-22 13:59 | 2024-01-22 22:29 |
Reporter: | dstewart | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Elements Panel Contents Jiggle When Panel Width Decreased | ||||
Description: | When reducing the width of the Elements panel with categories expanded, certain subcategories contents jiggle around. See attached video. | ||||
Tags: | |||||
Steps To Reproduce: |
1) Open any Noesis file. 2) Navigate to the Elements Tab. 3) Expand all Elements subcategories. 3) Reduce the width of the Elements panel by half. Observe how the Collections subcategory in particular jiggles. (This sometimes also happens to the Miscellaneous subcategory on occasions) Expected result. Elements in the subcategory maintain a fixed position. |
||||
Additional Information: | |||||
Attached Files: |
2024-01-22 07-54-52.mp4 (893,319 bytes) 2024-01-22 13:59 https://www.noesisengine.com/bugs/file_download.php?file_id=2084&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3027 | [NoesisGUI] Studio | tweak | N/A | 2024-01-22 15:38 | 2024-01-22 22:28 |
Reporter: | dstewart | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | [Suggestion] Convert Cursor Properties into Dropdown Menu | ||||
Description: |
Currently, applying a cursor to an element requires the designer to either know, or look up a reference of the available WPF cursor types, and manually type them in. As (with the exception of the Custom cursor option) there is a set amount of Cursor options that can be applied, it makes sense for us to include the cursor types in a dropdown rather than as a text input field. Attached, you will find two suggestions. A cheap 'text-only' version, and a slightly more involved 'plus' version which exceeds what Blend and VS offer, which would give the designer a visual preview of the different cursor types if they aren't familiar with what each looks like. |
||||
Tags: | |||||
Steps To Reproduce: | N/A | ||||
Additional Information: | |||||
Attached Files: |
CursorProperties.jpg (109,715 bytes) 2024-01-22 15:38 https://www.noesisengine.com/bugs/file_download.php?file_id=2087&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3029 | [NoesisGUI] Studio | minor | have not tried | 2024-01-22 16:22 | 2024-01-22 22:27 |
Reporter: | fllorens | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Crash when animating panel width | ||||
Description: |
As seen here: https://youtu.be/k5WQa0cvw0Y?feature=shared&t=912 Attached crash dump. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
AnimatingWidth.dmp (262,860 bytes) 2024-01-22 16:22 https://www.noesisengine.com/bugs/file_download.php?file_id=2089&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3030 | [NoesisGUI] Studio | minor | have not tried | 2024-01-22 16:26 | 2024-01-22 22:26 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Crash when moving a selection of keyframes | ||||
Description: |
As shown in https://youtu.be/k5WQa0cvw0Y?feature=shared&t=1044 Crash dump attached |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
MovingMultiSelectionKeyframes.dmp (262,596 bytes) 2024-01-22 16:26 https://www.noesisengine.com/bugs/file_download.php?file_id=2090&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2946 | [NoesisGUI] C++ SDK | major | always | 2023-12-14 13:52 | 2024-01-22 16:29 |
Reporter: | S.Harelysh | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | high | OS Version: | |||
Status: | resolved | Product Version: | 3.2.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.3 | ||
Target Version: | 3.2.3 | ||||
Platform: | Linux | ||||
Summary: | NoesisGUI allocates 4GB for system fonts | ||||
Description: |
NoesisGUI traverses the system (Ubuntu22.04) font directory ("/usr/share/fonts") and attempts to register fonts using subdirectory paths as font file paths. It turned out that the file Stream could not get the correct length for directories and returned (uint32_t)-1 (https://man7.org/linux/man-pages/man3/ftell.3p.html). So HB::BlobCreate() tries to allocate (uint32_t)-1 (4GB) memory. Please consider revising the system font directory traversal to avoid using subdirectory paths as font file paths. Probably dirent::d_type can be checked (https://man7.org/linux/man-pages/man3/readdir.3.html). frame and backtrace: (lldb) frame variable (Noesis::Stream *) stream = 0x000002003a4ccac0 (noesis_hb_blob_t *) blob = 0x00000000ffffffff (const char *) base = 0x0000000000000000 (uint32_t) length = 4294967295 (lldb) bt * thread #29, name = 'Main Thread', stop reason = step over * frame #0: libNoesis.so`Noesis::HB::BlobCreate(stream=0x000002003a4ccac0) at HarfBuzz.cpp:156:5 frame #1: libNoesis.so`Noesis::EnumFontFaces(stream=<unavailable>, callback=0x00007fff9a7f6720)> const&) at VGLFontFace.cpp:29:32 frame #2: libNoesis.so`Noesis::CachedFontProvider::RegisterFont(this=0x000002003a1f5000, folder=<unavailable>, filename=<unavailable>) at CachedFontProvider.cpp:41:22 frame #3: libNoesis.so`Noesis::SystemFontProvider::ScanSystemFonts(this=0x000002003a1f5000, root="") at SystemFontProvider.cpp:321:33 |
||||
Tags: | Fonts | ||||
Steps To Reproduce: |
1) It should be sub-folder inside inside the system fonts directory ("/usr/share/fonts"). Like "/usr/share/fonts/X11". 2) Call Noesis::GUI::SetFontFallbacks(). |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0009030)
jsantos 2023-12-15 10:36 |
Interesting, thanks for the detailed report. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2756 | [NoesisGUI] Unity3D | major | always | 2023-10-24 09:53 | 2024-01-22 14:06 |
Reporter: | aliagha.huseynli | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.3 | ||
Target Version: | 3.2.3 | ||||
Platform: | Any | ||||
Summary: | My Color style didn't work on Unity | ||||
Description: |
My style code: <!--#region Colors--> <SolidColorBrush x:Key="TextColor_FFFDEF" Color="#FFFDEF" /> <SolidColorBrush x:Key="TextColor_E1E1E1" Color="#E1E1E1" /> <SolidColorBrush x:Key="TextColor_D9D9D9" Color="#D9D9D9" /> <SolidColorBrush x:Key="TextColor_FFB629" Color="#FFB629" /> <SolidColorBrush x:Key="TextColor_86A5A1" Color="#86A5A1" /> <SolidColorBrush x:Key="TextColor_1FEFDB" Color="#1FEFDB" /> <SolidColorBrush x:Key="TextColor_B3AD88" Color="#B3AD88" /> <SolidColorBrush x:Key="TextColor_FFFFFF" Color="#FFFFFF" /> <SolidColorBrush x:Key="TextColor_1C9E92" Color="#1C9E92" /> <SolidColorBrush x:Key="TextColor_B3B3B3" Color="#B3B3B3" /> <SolidColorBrush x:Key="TextColor_D04545" Color="#D04545" /> <SolidColorBrush x:Key="TextColor_FFFDF1" Color="#FFFDF1" /> <SolidColorBrush x:Key="TextColor_9A9A9A" Color="#9A9A9A" /> <!--#endregion--> <Style x:Key="Josefin_Regular_28" TargetType="{x:Type TextBlock}"> <Setter Property="FontSize" Value="28" /> <Setter Property="FontFamily" Value="Josefin Sans" /> <Setter Property="FontWeight" Value="Regular" /> <Setter Property="Width" Value="Auto" /> <Setter Property="Height" Value="Auto" /> <Setter Property="TextAlignment" Value="Center" /> <Setter Property="LineHeight" Value="28" /> <Setter Property="LineStackingStrategy" Value="BlockLineHeight" /> <Setter Property="Foreground" Value="{StaticResource TextColor_E1E1E1}" /> <Setter Property="Opacity" Value="100" /> <Setter Property="HorizontalAlignment" Value="Left" /> <Setter Property="VerticalAlignment" Value="Top" /> <Style.Triggers> <DataTrigger Binding="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=Button}, Path=IsMouseOver}" Value="True"> <Setter Property="FontWeight" Value="Regular" /> </DataTrigger> </Style.Triggers> </Style> Here is my view xaml code: <TextBlock Foreground="{StaticResource TextColor_FFB629}" Style="{StaticResource Josefin_Regular_28}" Text="SHIP SELECTION" /> |
||||
Tags: | |||||
Steps To Reproduce: |
To reproduce it please follow my codes I shared above. Add styles and apply it textblock every style will apply unless my yellow color. I tried different colors(Red, Black, Green, Blue etc) as well and they work properly, I didn't get why this piece of hex color didn't work. Please be advised that I am able to see this color in WPF runtime. But I can't see in my Unity project |
||||
Additional Information: | |||||
Attached Files: |
Screenshot 2023-10-24 115116.png (18,789 bytes) 2023-10-24 09:53 https://www.noesisengine.com/bugs/file_download.php?file_id=1996&type=bug Screenshot 2023-10-24 115147.png (30,515 bytes) 2023-10-24 09:53 https://www.noesisengine.com/bugs/file_download.php?file_id=1997&type=bug |
||||
Notes | |
(0008874)
aliagha.huseynli 2023-10-24 13:07 |
Also, this color is not seen on the Unity scene: #86A5A1 |
(0008875)
sfernandez 2023-10-24 13:43 |
I was able to identify the source of the problem, it is related to the Opacity property setter. It has a value of 100 when the valid range should be from 0 to 1, and because of how our shaders interpret the alpha the color gets burned (becomes white). We need to coerce that value to the valid range in order to avoid this problem, we will fix it. |
(0008880)
aliagha.huseynli 2023-10-25 08:58 |
Thanks, great. Your solution helped me. )) |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2722 | [NoesisGUI] C# SDK | minor | always | 2023-10-11 12:44 | 2024-01-22 13:41 |
Reporter: | utf8x | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.3 | ||
Target Version: | 3.2.3 | ||||
Platform: | macOS | ||||
Summary: | Noesis.GUI NuGet missing a natives folder for osx-arm64 | ||||
Description: | The Noesis.GUI NuGet package is missing a `runtimes/osx-arm64` folder resulting in the natives for this platform (`Noesis.dylib`) not being correctly copied on build | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2705 | [NoesisGUI] Unreal | major | have not tried | 2023-09-29 14:34 | 2024-01-22 12:01 |
Reporter: | DavidJefferies | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | feedback | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2.4 | ||||
Platform: | Any | ||||
Summary: | Async NoesisXAML loading results in texture loading errors | ||||
Description: |
In Unreal we've moved the loading of the Xaml files from disk to be asynchronous. This is because we want to be able to load/unload them during gameplay - the motivation here is that unloading the Xaml means its textures get unloaded as well. We initiate the async load like this: StreamableManager.RequestAsyncLoad(XamlObject.ToSoftObjectPath(), FStreamableDelegate::CreateRaw(this, &FViewLoader::OnXamlLoaded), FStreamableManager::AsyncLoadHighPriority, false, false, "ViewLoader"); Then when its loaded we call LoadXaml on it void FViewLoader::OnXamlLoaded() { UNoesisXaml* XamlFile = XamlObject.Get(); const Ptr<BaseComponent> Component = XamlFile->LoadXaml(); .. } The issue we're having is sometimes the textures for the Xaml fail to load with the error message: LogNoesis: Warning: Error loading '/Game;component/MyGame/Images/image_8.png', using fallback texture Stepping through the code we can see that CreateTexture is failing because InTexture->GetResource() returns nullptr Noesis::Ptr<Noesis::Texture> FNoesisRenderDevice::CreateTexture(UTexture* InTexture) { if (!InTexture || !InTexture->GetResource()) return nullptr; .. } The issue only occurs in a standalone build - never in editor - and seems to be timing related, sometimes it works fine sometimes it fails. It looks like the textures haven't finished loading when CreateTexture tries to access them - the UTexture object exists but texture data doesn't yet Any ideas what we can do to resolve it? |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
image.png (355,295 bytes) 2023-10-20 12:42 https://www.noesisengine.com/bugs/file_download.php?file_id=1993&type=bug |
||||
Notes | |
(0008842)
hcpizzi 2023-10-18 13:11 |
I'm having trouble reproducing this issue. First, just calling LoadXaml doesn't trigger Texture creation. That happens in the render thread while drawing. So, in my async load callback, I'm creating a NoesisInstance and adding it to the viewport. Even adding this, all textures are loaded by the time the callback is called. I'm using a few pretty large textures, and I've tried both referencing directly from the XAML and from a ResourceDictionary, and both ways work fine. There must be something else that is different. Where do those CreateTexture calls come from in your case? I'm doing my testing with Unreal 5.3 (GitHub 5.3.0-release) and Noesis 3.2.2. |
(0008859)
DavidJefferies 2023-10-20 12:42 |
We have a custom ContentControl that loads the Xaml from disk in an OnPropertyChanged function. The Xaml is added to the view by calling SetContent() UNoesisXaml* XamlFile = XamlObject.Get(); const Ptr<BaseComponent> Component = XamlFile->LoadXaml(); SetContent(Component); The CreateTexture calls come from the Rendering Thread as you say - I've attached an image of the debugger breaking on the line that returns failure We're currently on Unreal 5.3 and Noesis 3.2.1. We've applied a patch you provided to get those two versions to work together We're upgrading to 3.2.2 in the next day or so - when that's finished I'll repro the issue again |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2906 | [NoesisGUI] Unreal | major | always | 2023-11-29 13:36 | 2024-01-22 11:56 |
Reporter: | vogelLightword | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2 | ||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.3 | ||
Target Version: | 3.2.3 | ||||
Platform: | Any | ||||
Summary: | Unreal controller navigation broken | ||||
Description: |
We use Noesis to navigate in menus and other navigable user interfaces. When having a list of buttons and trying to navigate through it, we can no longer use the gamepad to do it. Keyboard navigation works fine. It feels like that problem appeared with the EnhancedInput-support for noesis, but that's a blind guess as we're not able to trace back long enough. We're using unreal engine 5.2 and noesis plugin 3.2.2. Reproducable also with the BrushShaders sample (we didn't try any other). The code in which the problem seems to lie is in NoesisInstance.cpp line#1495. Please let us know if we're missing anything, we just can't spot the problem on our side! It's a major problem for us that recently came to surface as we're working on implementing the ui and controller-support. Thanks in advance! |
||||
Tags: | controller, Navigation, Unreal | ||||
Steps To Reproduce: |
1: Start unreal engine (5.2 f.e.) with the BrushShaders sample (or probably any other with native navigation) 2: use keyboard to navigate through interactable objects 3: use controller (d-pad or left thumbstick) to navigate through the interactable objects Problem: Controller doesn't do anything as KeyToNoesisKey returns nullptr Fix: Controller navigation works just as well native as keyboard navigation |
||||
Additional Information: | |||||
Attached Files: |
gamepad_setup.png (113,138 bytes) 2024-01-08 15:11 https://www.noesisengine.com/bugs/file_download.php?file_id=2073&type=bug image.png (1,922,018 bytes) 2024-01-09 08:50 https://www.noesisengine.com/bugs/file_download.php?file_id=2075&type=bug image-2.png (48,065 bytes) 2024-01-09 08:50 https://www.noesisengine.com/bugs/file_download.php?file_id=2076&type=bug image-3.png (62,462 bytes) 2024-01-09 10:22 https://www.noesisengine.com/bugs/file_download.php?file_id=2077&type=bug |
||||
Notes | |
(0009055)
sfernandez 2024-01-08 12:57 |
In order to use the gamepad in Unreal you need to do a couple of things as explained in the Unreal tutorial: https://www.noesisengine.com/docs/Gui.Core.UnrealTutorial.html#gamepad 1. Go to the Level Blueprint and configure the Enhanced Input to use the Noesis Controller config (or any one other actions configuration you want to use). 2. Enable Actions in the View to use them as input. I've just did that in the Materials sample you mentioned and the gamepad works as expected to move the focus between the buttons and click them. Could you please try that? |
(0009056)
ttermeer-rcg 2024-01-08 15:11 |
Unlike vogelLightword , we are on Unreal 5.3.2. I tried the same Materials sample and also experience the same issue. On Unreal 5.3, there is no "Add Player Mappable Config" in the Enhanced Input - those have been deprecated (see https://www.noesisengine.com/bugs/view.php?id=2919). So I used "Add Mapping Context" (see attached image) As we are unable to make it work I thought this was the same issue as reported by vogelLightword but maybe it is different. |
(0009057)
ttermeer-rcg 2024-01-08 15:19 |
My bad, I forgot the footnote where it says the "Enable Action" in the view blueprint! It works now. |
(0009058)
sfernandez 2024-01-08 16:55 |
Can we close this ticket then? |
(0009064)
vogelLightword 2024-01-09 08:50 (Last edited: 2024-01-09 08:58) |
In our code we can't make it work, no matter what we set up (unless we actually modify the KeyToNoesisKey function). We have added an appropriate mapping context and it's added in game, the action (up in this case) does fire but it doesn't navigate up. The view has actions enabled and navigating the buttons with the arrow-keys on keyboard works just fine. As you can see in my attached screenshot, the mapping-context is added, OneNoesisControllerMapping action Up is triggered by the gamepad but it just doesn't navigate to the above buttons (same for navigating down). Second image shows the view-setup. We add the mapping context via AddMappingContext as well. We also set the keyboard focus on the new widget (where "w" is the new widget): UWidgetBlueprintLibrary::SetInputMode_GameAndUIEx(this->PCRef, w, EMouseLockMode::LockAlways, false, true); w->SetKeyboardFocus(); Can you see anything we might be doing wrong/differently; anything I'm missing? |
(0009065)
vogelLightword 2024-01-09 10:22 |
Okay managed to find the issue. The path of input-actions that are responded to are hard-coded (inside UNoesisInstance::InitInstance()), we duplicated them and had them in a different folder (so inside the project, not inside the plugins folder). Removing the hard-coding helped. Another issue that arose from this is that we want to react to the "up"-action (which also refers the up-arrow-key). If we now add the up-arrow to the mappingcontext (for action up) it works fine in that case but now navigation is triggered twice (so instead of moving up one button, we move up two buttons). I attached a screenshot of what I mean. It's a different issue though, navigation now works after we realized the inputAction-paths are hard-coded (might be important for the documentation?). Thanks for the help! |
(0009066)
vogelLightword 2024-01-09 13:06 |
that is now fixed as well (not a bug), we had to disable keyboard in the view. Ticket can be closed, thanks! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2892 | [NoesisGUI] Unreal | crash | sometimes | 2023-11-23 19:34 | 2024-01-22 11:55 |
Reporter: | IISkullsII | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.3 | ||
Target Version: | 3.2.3 | ||||
Platform: | Windows | ||||
Summary: | Rive XAML import crashes unreal | ||||
Description: |
I've created a .riv file via Rive, and if i try to import the XAML file, unreal crashes. I also took another .riv and .xaml file from another bug report and aplied the changes of that report to the .xaml file, and that worked perfectly fine. (glitchriv.riv; glitch.xaml) As im using the trial of Rive, i cant open the .riv and look into more differences, to figure out the issue by myself. As im not aware of what further information might help, i would provide any further information by request. |
||||
Tags: | Rive, Unreal | ||||
Steps To Reproduce: | Import the file "Import_HeroInfoUI.xaml" | ||||
Additional Information: | |||||
Attached Files: |
heroinfoui.riv (830,147 bytes) 2023-11-23 19:34 https://www.noesisengine.com/bugs/file_download.php?file_id=2032&type=bug Import_HeroInfoUI.xaml (383 bytes) 2023-11-23 19:34 https://www.noesisengine.com/bugs/file_download.php?file_id=2033&type=bug glitchriv.riv (18,940 bytes) 2023-11-23 19:34 https://www.noesisengine.com/bugs/file_download.php?file_id=2034&type=bug glitch.xaml (232 bytes) 2023-11-23 19:34 https://www.noesisengine.com/bugs/file_download.php?file_id=2035&type=bug Crash_Summary.log (2,536 bytes) 2023-11-24 09:02 https://www.noesisengine.com/bugs/file_download.php?file_id=2036&type=bug |
||||
Notes | |
(0008986)
IISkullsII 2023-11-24 09:02 |
I've done some more testing, and i figured, that by removing the texts in the .riv file, im then able to import the riv. Otherwise the editor crashes if i try to import the file with the appended log: |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2990 | [NoesisGUI] C# SDK | minor | always | 2024-01-03 15:06 | 2024-01-22 11:47 |
Reporter: | nadjibus | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2.4 | ||||
Platform: | Any | ||||
Summary: | BindingExpression get evaluated like a normal Binding | ||||
Description: |
BindingExpression should not be evaluated. In WPF it does not, unlike Noesis. Forum post for more info: https://www.noesisengine.com/forums/viewtopic.php?t=3174 |
||||
Tags: | |||||
Steps To Reproduce: | Create an attached property of type BindingExpression. Set it's value on any object to a Binding (ap:AttachedProperty = "{Binding PathToBind}"). The Binding will be evaluated as soon as the control is loaded. | ||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2863 | [NoesisGUI] Unity3D | crash | always | 2023-11-21 18:21 | 2024-01-22 11:47 |
Reporter: | stonstad | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2.2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2.4 | ||||
Platform: | Any | ||||
Summary: | BaseUICollection.Insert Crash | ||||
Description: |
StackPanel.Children.Insert(0, new TextBlock() { Text = "Helllo" }); causes a crash. Behavior is reproducible. at <unknown> <0xffffffff> at Noesis.NoesisGUI_PINVOKE:BaseUICollection_Insert <0x00121> at Noesis.BaseUICollection:Insert <0x00122> at StellarConquest.Presentation.Unity.UI.BuildControl:ShowToolTipLegacy <0x02e52> at <>c__DisplayClass34_0:<CreateSubmenuBuildingIconLegacy>b__1 <0x00082> at Noesis.MouseEventArgs:InvokeHandler <0x001b3> at Noesis.EventManager:InvokeHandler <0x0020b> at Noesis.EventHandlerStore:RaiseRoutedEvent <0x0050a> at Noesis.EventHandlerStore:RaiseRoutedEvent <0x0012a> at <unknown> <0xffffffff> at Noesis.View:Noesis_View_Update <0x0010c> at Noesis.View:Update <0x00192> at NoesisView:UpdateInternal <0x0062a> at NoesisView:LateUpdate <0x000da> at System.Object:runtime_invoke_void__this__ <0x00187> |
||||
Tags: | |||||
Steps To Reproduce: | Encl. log and crash dump. | ||||
Additional Information: | |||||
Attached Files: |
Crash_2023-11-21_171855132.zip (859,682 bytes) 2023-11-21 18:21 https://www.noesisengine.com/bugs/file_download.php?file_id=2023&type=bug |
||||
Notes | |
(0008966)
stonstad 2023-11-21 18:25 |
Calling Add() works without problem. It is just Insert(0, ...) which fails. |
(0008983)
sfernandez 2023-11-23 14:06 |
I'm not able to reproduce it, could you provide an example in an empty project? If not I will provide a debug library to get a bit more information from the crash dump. |
(0008984)
stonstad 2023-11-23 16:20 |
Let’s go with the debug library route. This is actually easier for me. |
(0008985)
sfernandez 2023-11-23 16:46 |
Here you are: https://drive.google.com/file/d/1IM4K2gpFUsRaRd_z7gR-m6Ttgi-U4TIA/view?usp=sharing |
(0008987)
stonstad 2023-11-28 19:04 |
Hey Sergio -- I revisited this code and I changed all Adds to Insert(0, ...). Nothing crashes for me using the non-instrumented library. Other code and layouts might have slightly changed. I am sorry -- I don't have a great way to reproduce this behavior. The exact code which failed wasn't checked in, and once I got what I needed using .Add(), I moved on. The crash dump above is all that I have for this one. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2848 | [NoesisGUI] Unity3D | minor | always | 2023-11-18 01:16 | 2024-01-22 11:47 |
Reporter: | peanut | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2.4 | ||||
Platform: | Any | ||||
Summary: | ComboBox popup placement & animation | ||||
Description: |
There is a discrepancy between Blend and Unity when using ComboBox popup placement (Top) and animation (Slide). In attached recording from unity you can see that it slides in wrong direction. In Blend it slides like it should, from bot to top. https://www.dropbox.com/scl/fi/6ml9j7ruil9wz3xtjsflr/Main-Windows-Mac-Linux-Unity-2022-3-10f1-_DX11_-2023-11-17-12-14-57.mp4?rlkey=0w9fy1kr7fny8gqgnt58zapf9&dl=0 |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2847 | [NoesisGUI] C# SDK | minor | always | 2023-11-17 21:01 | 2024-01-22 11:47 |
Reporter: | samc | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2.2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2.4 | ||||
Platform: | Windows | ||||
Summary: | ChangePropertyAction to change localized text | ||||
Description: |
We're trying to do this: <b:ChangePropertyAction TargetName="Status" PropertyName="Text" Value="{noesis:Loc Text.FrontEnd.AddFriend.Label.InvalidFormat}"/> but it seems to set the string to an empty string. Ref: https://www.noesisengine.com/forums/viewtopic.php?t=3135 |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2793 | [NoesisGUI] Unity3D | major | always | 2023-10-30 06:02 | 2024-01-22 11:47 |
Reporter: | stonstad | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2.2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2.4 | ||||
Platform: | Any | ||||
Summary: | Noesis Unloading UserControls | ||||
Description: |
Noesis "holds onto" an instance of a user control during Unity Editor play, stop, and play cycles. On a subsequent play, "Unloaded" is called during playback. See details below, which stores the time the user control was made. You'll notice that an old instance is unloaded, noted by the following log line: UIStateMachine Unloaded 10/29/2023 11:56:13 PM. This is an instance from a previous playback run within the editor. This user control is stored to a static singleton get accessor. However, it is released via UserControl.Instance = null during script OnDestroy. Calling dispose on the instance within MonoBeahvior.OnDestroy causes a crash, documented here: https://www.noesisengine.com/bugs/view.php?id=2792 On subsequent runs (without an app domain unload), these errors occur: https://www.noesisengine.com/bugs/view.php?id=2791 It appears to be related. |
||||
Tags: | |||||
Steps To Reproduce: |
Noesis appears to be holding onto user control instances across AppDomain unload boundaries. Eventually, the control is released but it happens during subsequent playback. 1. App Domain Unload. 2. First Run UIStateMachine CTOR 10/29/2023 11:56:13 PM UnityEngine.Debug:LogWarning (object) StellarConquest.Presentation.Unity.UI.UIStateMachine:.ctor () (at Assets/User Interface/UIStateMachine.cs:53) (wrapper dynamic-method) object:lambda_method (System.Runtime.CompilerServices.Closure) Noesis.Extend:CreateInstance (intptr,intptr) (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/API/Core/Extend.cs:5711) Noesis.GUI:LoadXaml (System.IO.Stream,string) (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/API/Core/NoesisGUI.cs:292) NoesisXaml:Load () (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/NoesisXaml.cs:17) NoesisView:LoadXaml (bool) (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/NoesisView.cs:535) NoesisView:OnEnable () (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/NoesisView.cs:723) UIStateMachine InitializeComponent 10/29/2023 11:56:13 PM UnityEngine.Debug:LogWarning (object) StellarConquest.Presentation.Unity.UI.UIStateMachine:InitializeComponent () (at Assets/User Interface/UIStateMachine.cs:130) StellarConquest.Presentation.Unity.UI.UIStateMachine:.ctor () (at Assets/User Interface/UIStateMachine.cs:57) (wrapper dynamic-method) object:lambda_method (System.Runtime.CompilerServices.Closure) Noesis.Extend:CreateInstance (intptr,intptr) (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/API/Core/Extend.cs:5711) Noesis.GUI:LoadXaml (System.IO.Stream,string) (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/API/Core/NoesisGUI.cs:292) NoesisXaml:Load () (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/NoesisXaml.cs:17) NoesisView:LoadXaml (bool) (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/NoesisView.cs:535) NoesisView:OnEnable () (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/NoesisView.cs:723) UIStateMachine OnInitialized10/29/2023 11:56:13 PM UnityEngine.Debug:LogWarning (object) StellarConquest.Presentation.Unity.UI.UIStateMachine:OnInitialized (object,Noesis.EventArgs) (at Assets/User Interface/UIStateMachine.cs:71) Noesis.EventArgs:InvokeHandler (System.Delegate,intptr,intptr) (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/API/Proxies/EventArgs.cs:51) Noesis.EventManager:InvokeHandler (string,System.Delegate,intptr,intptr) (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/API/Core/Events.cs:660) Noesis.EventHandlerStore:RaiseEvent (intptr,intptr,string,intptr,intptr) (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/API/Core/Events.cs:407) Noesis.View:CreateCPtr (System.Type,bool&) (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/API/Core/View.cs:562) Noesis.BaseComponent:.ctor () (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/API/Proxies/BaseComponentExtend.cs:16) Noesis.DispatcherObject:.ctor () (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/API/Proxies/DispatcherObject.cs:30) Noesis.View:.ctor (System.Runtime.InteropServices.HandleRef) (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/API/Core/View.cs:546) Noesis.View:.ctor (Noesis.FrameworkElement) (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/API/Core/View.cs:519) NoesisView:CreateView (Noesis.FrameworkElement) (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/NoesisView.cs:1850) NoesisView:LoadXaml (bool) (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/NoesisView.cs:543) NoesisView:OnEnable () (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/NoesisView.cs:723) 1. No App Domain Unload. 2. Second Run UIStateMachine CTOR 10/29/2023 11:56:54 PM UnityEngine.Debug:LogWarning (object) StellarConquest.Presentation.Unity.UI.UIStateMachine:.ctor () (at Assets/User Interface/UIStateMachine.cs:53) (wrapper dynamic-method) object:lambda_method (System.Runtime.CompilerServices.Closure) Noesis.Extend:CreateInstance (intptr,intptr) (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/API/Core/Extend.cs:5711) Noesis.GUI:LoadXaml (System.IO.Stream,string) (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/API/Core/NoesisGUI.cs:292) NoesisXaml:Load () (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/NoesisXaml.cs:17) NoesisView:LoadXaml (bool) (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/NoesisView.cs:535) NoesisView:OnEnable () (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/NoesisView.cs:723) UIStateMachine InitializeComponent 10/29/2023 11:56:54 PM UnityEngine.Debug:LogWarning (object) StellarConquest.Presentation.Unity.UI.UIStateMachine:InitializeComponent () (at Assets/User Interface/UIStateMachine.cs:130) StellarConquest.Presentation.Unity.UI.UIStateMachine:.ctor () (at Assets/User Interface/UIStateMachine.cs:57) (wrapper dynamic-method) object:lambda_method (System.Runtime.CompilerServices.Closure) Noesis.Extend:CreateInstance (intptr,intptr) (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/API/Core/Extend.cs:5711) Noesis.GUI:LoadXaml (System.IO.Stream,string) (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/API/Core/NoesisGUI.cs:292) NoesisXaml:Load () (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/NoesisXaml.cs:17) NoesisView:LoadXaml (bool) (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/NoesisView.cs:535) NoesisView:OnEnable () (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/NoesisView.cs:723) UIStateMachine OnInitialized10/29/2023 11:56:54 PM UnityEngine.Debug:LogWarning (object) StellarConquest.Presentation.Unity.UI.UIStateMachine:OnInitialized (object,Noesis.EventArgs) (at Assets/User Interface/UIStateMachine.cs:71) Noesis.EventArgs:InvokeHandler (System.Delegate,intptr,intptr) (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/API/Proxies/EventArgs.cs:51) Noesis.EventManager:InvokeHandler (string,System.Delegate,intptr,intptr) (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/API/Core/Events.cs:660) Noesis.EventHandlerStore:RaiseEvent (intptr,intptr,string,intptr,intptr) (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/API/Core/Events.cs:407) Noesis.View:CreateCPtr (System.Type,bool&) (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/API/Core/View.cs:562) Noesis.BaseComponent:.ctor () (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/API/Proxies/BaseComponentExtend.cs:16) Noesis.DispatcherObject:.ctor () (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/API/Proxies/DispatcherObject.cs:30) Noesis.View:.ctor (System.Runtime.InteropServices.HandleRef) (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/API/Core/View.cs:546) Noesis.View:.ctor (Noesis.FrameworkElement) (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/API/Core/View.cs:519) NoesisView:CreateView (Noesis.FrameworkElement) (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/NoesisView.cs:1850) NoesisView:LoadXaml (bool) (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/NoesisView.cs:543) NoesisView:OnEnable () (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/NoesisView.cs:723) ************** HERE UIStateMachine Unloaded 10/29/2023 11:56:13 PM UnityEngine.Debug:LogWarning (object) StellarConquest.Presentation.Unity.UI.UIStateMachine:UIStateMachine_Unloaded (object,Noesis.RoutedEventArgs) (at Assets/User Interface/UIStateMachine.cs:65) Noesis.RoutedEventArgs:InvokeHandler (System.Delegate,intptr,intptr) (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/API/Proxies/RoutedEventArgs.cs:50) Noesis.EventManager:InvokeHandler (intptr,System.Delegate,intptr,intptr) (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/API/Core/Events.cs:578) Noesis.EventHandlerStore:RaiseRoutedEvent (intptr,intptr,intptr,intptr,intptr) (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/API/Core/Events.cs:267) Noesis.BaseComponent:Release (intptr) (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/API/Proxies/BaseComponent.cs:62) Noesis.Extend:ReleasePending () (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/API/Core/Extend.cs:6110) Noesis.Extend:Update () (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/API/Core/Extend.cs:6119) Noesis.View:Update (double) (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/API/Core/View.cs:366) NoesisView:UpdateInternal () (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/NoesisView.cs:1461) NoesisView:LateUpdate () (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/NoesisView.cs:1362) |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008902)
sfernandez 2023-10-30 11:47 |
When you say that domain is not reloaded, is because you disabled "Reload Domain" in Project Settings > Editor > Enter Play Mode Settings? I will do some experiments with those settings and come back to you. Because Noesis does not have control over assembly reload, we are just hooked to DomainUnload to dispose all the native proxies corresponding to the managed objects. |
(0008903)
stonstad 2023-10-30 16:16 |
Yes, that's right. I can confirm Reload domain is disabled. If I have a static singleton instance to a Noesis user control and the editor stops, should I call Dispose on it, or set it to null, or just leave it alone? If I leave it, the instance will persist between play cycles in the editor. |
(0008906)
stonstad 2023-10-30 16:29 |
Given two Unity editor play cycles A, and B, if a user control created in A is disposed during playback of B, could this affect common XAML resources referenced by both A and B? Or is the memory isolated somehow? |
(0008910)
stonstad 2023-10-30 17:43 |
This may be a non-issue and it is a candidate for closure. If you could just confirm memory isolation, and what the desired approach is for freeing a static singleton instance. Thank you! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2792 | [NoesisGUI] C# SDK | crash | always | 2023-10-30 05:24 | 2024-01-22 11:47 |
Reporter: | stonstad | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2.2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2.4 | ||||
Platform: | Any | ||||
Summary: | Noesis Crashes Unity during App Domain Unload | ||||
Description: |
After editing XAML and alt-tabbing back to the Unity editor, Noesis crashes the editor during app domain unload. ================================================================= Managed Stacktrace: ================================================================= at <unknown> <0xffffffff> at Noesis.NoesisGUI_PINVOKE:BaseComponent_Release <0x000db> at Noesis.BaseComponent:Release <0x00082> at Noesis.Extend:ReleasePending <0x00212> at Noesis.Extend:Shutdown <0x00c82> at Noesis.Extend:OnDomainUnload <0x00082> at <Module>:invoke_void_object_EventArgs <0x002d4> at System.AppDomain:DoDomainUnload <0x00099> at System.Object:runtime_invoke_void__this__ <0x00187> ================================================================= Crash!!! |
||||
Tags: | |||||
Steps To Reproduce: |
========== OUTPUTTING STACK TRACE ================== 0x00007FFE63B3DECB (Noesis) InertiaExpansionBehavior_DesiredExpansion_get 0x00007FFE63B3DF25 (Noesis) InertiaExpansionBehavior_DesiredExpansion_get 0x00007FFE63B3AC82 (Noesis) InertiaExpansionBehavior_DesiredExpansion_get 0x00007FFE63B30AD1 (Noesis) Boxed_Point_GetStaticType 0x00007FFE63B30CA4 (Noesis) Boxed_Point_GetStaticType 0x00007FFE639A2493 (Noesis) BaseComponent_GetStaticType 0x000001EC75C0C9DC (Mono JIT Code) (wrapper managed-to-native) Noesis.NoesisGUI_PINVOKE:BaseComponent_Release (intptr) 0x000001EC75C0C883 (Mono JIT Code) [D:\Source\StellarConquest\StellarConquest.Utilities\Noesis\3.2.2\Runtime\API\Proxies\BaseComponent.cs:62] Noesis.BaseComponent:Release (intptr) 0x000001ECBEABE343 (Mono JIT Code) [D:\Source\StellarConquest\StellarConquest.Utilities\Noesis\3.2.2\Runtime\API\Core\Extend.cs:6110] Noesis.Extend:ReleasePending () 0x000001EC71CF1B43 (Mono JIT Code) [D:\Source\StellarConquest\StellarConquest.Utilities\Noesis\3.2.2\Runtime\API\Core\Extend.cs:83] Noesis.Extend:Shutdown () 0x000001EC71CF04D3 (Mono JIT Code) [D:\Source\StellarConquest\StellarConquest.Utilities\Noesis\3.2.2\Runtime\API\Core\Extend.cs:36] Noesis.Extend:OnDomainUnload (object,System.EventArgs) 0x000001EC71CEF435 (Mono JIT Code) (wrapper delegate-invoke) <Module>:invoke_void_object_EventArgs (object,System.EventArgs) 0x000001EC71CEF0FA (Mono JIT Code) System.AppDomain:DoDomainUnload () 0x000001EC6621B658 (Mono JIT Code) (wrapper runtime-invoke) object:runtime_invoke_void__this__ (object,intptr,intptr,intptr) 0x00007FFE63064B6E (mono-2.0-bdwgc) [C:\build\output\Unity-Technologies\mono\mono\mini\mini-runtime.c:3445] mono_jit_runtime_invoke 0x00007FFE62F9D204 (mono-2.0-bdwgc) [C:\build\output\Unity-Technologies\mono\mono\metadata\object.c:3066] do_runtime_invoke 0x00007FFE62E746D5 (mono-2.0-bdwgc) [C:\build\output\Unity-Technologies\mono\mono\metadata\appdomain.c:3485] mono_domain_try_unload 0x00007FFE6304DF1A (mono-2.0-bdwgc) [C:\build\output\Unity-Technologies\mono\mono\metadata\unity-utils.c:765] mono_unity_domain_unload 0x00007FF685524910 (Unity) UnloadDomain 0x00007FF68551487B (Unity) MonoManager::CreateAndSetChildDomain 0x00007FF6855133EC (Unity) MonoManager::BeginReloadAssembly 0x00007FF68551E4A8 (Unity) MonoManager::ReloadAssembly 0x00007FF6864BA3CD (Unity) Internal_ADB_Only_ReloadAllUsedAssemblies 0x00007FF68697091A (Unity) DomainReloadIfAllowed 0x00007FF68696EA6B (Unity) CompileAndDomainReload 0x00007FF68698D602 (Unity) RefreshInternalV2 0x00007FF68699585F (Unity) StopAssetImportingV2Internal 0x00007FF68698F2BC (Unity) RefreshV2 0x00007FF6869033F0 (Unity) AssetDatabase::Refresh 0x00007FF68618A31B (Unity) Application::AutoRefresh 0x00007FF68663B153 (Unity) ContainerWindow::ContainerWndProc 0x00007FFFCBFC8241 (USER32) DispatchMessageW 0x00007FFFCBFC7EFC (USER32) DispatchMessageW 0x00007FFFCBFD302D (USER32) GetClassLongW 0x00007FFFCDFD3434 (ntdll) KiUserCallbackDispatcher 0x00007FFFCB4214D4 (win32u) NtUserPeekMessage 0x00007FFFCBFD1B4F (USER32) PeekMessageW 0x00007FFFCBFD1A1C (USER32) PeekMessageW 0x00007FFE572FA084 (gameoverlayrenderer64) OverlayHookD3D3 0x00007FF6866174AD (Unity) MainMessageLoop 0x00007FF68661D170 (Unity) WinMain 0x00007FF687A003EE (Unity) __scrt_common_main_seh 0x00007FFFCBD2257D (KERNEL32) BaseThreadInitThunk 0x00007FFFCDF8AA78 (ntdll) RtlUserThreadStart ========== END OF STACKTRACE =========== |
||||
Additional Information: | |||||
Attached Files: |
Crash_2023-10-29_202332678.zip (4,692,351 bytes) 2023-10-30 05:25 https://www.noesisengine.com/bugs/file_download.php?file_id=2008&type=bug |
||||
Notes | |
(0008898)
stonstad 2023-10-30 05:39 |
This is user error, I think. I was disposing a Noesis control -- and disposing it is not necessary. |
(0008905)
stonstad 2023-10-30 16:23 |
The stack traces and dumps are in the zip file, if it is useful to you. |
(0008909)
stonstad 2023-10-30 17:43 |
This behavior is now mitigated by NOT calling Dispose on the static singleton instance of a Noesis user control during Unity Editor OnDestroy. It is assigned null, and not disposed and this works fine. Can you confirm this is the correct approach? Otherwise, this is a candidate for closure. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2733 | [NoesisGUI] Unity3D | crash | always | 2023-10-19 13:45 | 2024-01-22 11:47 |
Reporter: | aliagha.huseynli | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2.2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2.4 | ||||
Platform: | Any | ||||
Summary: | Unity crashes when I use the custom style. | ||||
Description: |
Unity crashes when I use the custom style. I tried to right-click on my ComboBox and create an edit style then tried to edit it. Everything looks fine and it works on Blend WPF when I run on it. But it crashes on the Unity side. I fixed this issue after 2 hours and found out where is the wrong style issue in my style code. It is so bad solution. Noesis must raise the error log instead of crashing my Unity project. Because it is an uncatchable issue, at least hard to find out. |
||||
Tags: | |||||
Steps To Reproduce: |
Create a custom combobox style and also add items in ComboBox itself, and save and run Unity, When you hover combobox it works nice, when you press on the combobox it will crash. |
||||
Additional Information: | |||||
Attached Files: |
2023-10-18 18-42-19.mp4 (2,856,797 bytes) 2023-10-19 13:45 https://www.noesisengine.com/bugs/file_download.php?file_id=1990&type=bug |
||||
Notes | |
(0008851)
sfernandez 2023-10-19 14:47 |
Do you mean that using any custom style in a ComboBox will crash Unity? Or is it using your specific custom style? Could you please attach it here? You also mention that you found what was wrong and fixed the issue, could you please share those details? |
(0008869)
aliagha.huseynli 2023-10-24 09:43 (Last edited: 2023-10-24 09:44) |
Sorry for my delayed reply, According to my experiment, I reason for that using custom WPF based style. I mean to create an editable for example button style I just come over on Blend -> Objects and Timeline-> right click on Button->Edit Template->Edit copy. It creates a style that conflicts with Noesis's warnings on the Unity console. The weird thing is I can't see any difference, unlike console errors. For example, it says abc text couldn't find but I can see it on Unity runtime when I play it. I fixed it using my previous project ComboBox style xaml code. And I modify it carefully, I don't wanna crash my project again. As I said, I don't know the reason, it is just crashing. Btw in WPF side I could play/run my app, only Unity has the problem with showing me UI. Anyway, it shouldn't be like that. It could be better. At least you can try every possibility Unity can crash cuz of Noesis. I hope NoesisGUI will be better place and much more stable than now. I am waiting for that day. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2731 | [NoesisGUI] Unity3D | minor | always | 2023-10-18 10:31 | 2024-01-22 11:47 |
Reporter: | jphyzic | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2.4 | ||||
Platform: | Any | ||||
Summary: | Wrong TextBox visible cursor position and GetRangeBounds values when TextAlignment is not Left | ||||
Description: |
I'm trying to implement "droplets" for text selection and I've noticed some errors in TextBox behaviour when its TextAlignment property is set to Right or Center and the text ends with newline (that's important). When TextAlignment is set to Right, visible cursor position is positioned outside of textBox, when TextAlignment is Center, cursor is not on center. If I try to use TextBox.GetRangeBounds to obtain last character bounds, I end up with invalid Rect instance, having negative Width and Height properties and negative infinity in several other properties. It the text ends with any printable character, everything works fine. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2730 | [NoesisGUI] Unity3D | major | always | 2023-10-16 17:41 | 2024-01-22 11:47 |
Reporter: | jphyzic | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2.0 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2.4 | ||||
Platform: | Any | ||||
Summary: | AssociatedObject is null while detaching Behaviours | ||||
Description: |
This bug may be related to https://www.noesisengine.com/bugs/view.php?id=2498 I have a behaviour that subscribes on some event in OnAttached method and unsubscribes from it in OnDetaching. The implementation of AttachableObject has been changed in 3.2.0, and now Detach method is called when an AssociatedObject is destroyed. Problem is that when the object is destroyed, the AssociatedObject becomes null and I get a NullReferenceException in Detach method. Note: I'm using a Noesis.dll library posted in https://www.noesisengine.com/bugs/view.php?id=2693 |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2727 | [NoesisGUI] Unity3D | crash | always | 2023-10-13 18:25 | 2024-01-22 11:47 |
Reporter: | stonstad | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2.2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2.4 | ||||
Platform: | Any | ||||
Summary: | Stack Overflow and Crash from Player and Unity Editor When Button Clicked | ||||
Description: |
Clicking certain buttons causes both the Unity Editor and built Player to crash due to a stack overflow. The only change is that we upgraded to 3.2.2. I am not seeing a crash dump or error logs. When attached to the Editor process, I am getting this error: (Filename: D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/NoesisUnity.cs Line: 363) Exception thrown at 0x00007FFD65EEE96B (Noesis.dll) in Unity.exe: 0xC00000FD: Stack overflow (parameters: 0x0000000000000001, 0x00000066168D3FF0). Unhandled exception at 0x00007FFD65EEE96B (Noesis.dll) in Unity.exe: 0xC00000FD: Stack overflow (parameters: 0x0000000000000001, 0x00000066168D3FF0). I am enclosing a minidump w/ heap from Visual Studio (when attached to Unity editor). Please let me know what else I can do to assist. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
Unity.dmp (1,154,452 bytes) 2023-10-13 18:25 https://www.noesisengine.com/bugs/file_download.php?file_id=1983&type=bug image.png (64,173 bytes) 2023-10-13 18:30 https://www.noesisengine.com/bugs/file_download.php?file_id=1984&type=bug Unity2.dmp (1,154,688 bytes) 2023-10-13 18:32 https://www.noesisengine.com/bugs/file_download.php?file_id=1985&type=bug image-2.png (176,865 bytes) 2023-10-18 17:58 https://www.noesisengine.com/bugs/file_download.php?file_id=1987&type=bug Base Layer Blur With Secondary Blur-.png (2,564,528 bytes) 2023-10-28 18:13 https://www.noesisengine.com/bugs/file_download.php?file_id=2005&type=bug Base Layer Blur.png (1,661,300 bytes) 2023-10-28 18:13 https://www.noesisengine.com/bugs/file_download.php?file_id=2006&type=bug |
||||
Notes | |
(0008817)
stonstad 2023-10-13 18:30 |
Top of stack trace. |
(0008818)
stonstad 2023-10-13 18:32 |
If I hit continue in the debugger, it starts reading invalid memory.... nhandled exception at 0x00007FFD65FAC121 (Noesis.dll) in Unity.exe: 0xC0000005: Access violation writing location 0x00000066168D0FF0. Exception thrown at 0x00007FFD65FAC121 (Noesis.dll) in Unity.exe: 0xC0000005: Access violation writing location 0x00000066168D0FF0. Unhandled exception at 0x00007FFD65FAC121 (Noesis.dll) in Unity.exe: 0xC0000005: Access violation writing location 0x00000066168D0FF0. Exception thrown at 0x00007FFD65FAC121 (Noesis.dll) in Unity.exe: 0xC0000005: Access violation writing location 0x00000066168D0FF0. Unhandled exception at 0x00007FFD65FAC121 (Noesis.dll) in Unity.exe: 0xC0000005: Access violation writing location 0x00000066168D0FF0. Exception thrown at 0x00007FFD65FAC121 (Noesis.dll) in Unity.exe: 0xC0000005: Access violation writing location 0x00000066168D0FF0. Unhandled exception at 0x00007FFD65FAC121 (Noesis.dll) in Unity.exe: 0xC0000005: Access violation writing location 0x00000066168D0FF0. Exception thrown at 0x00007FFD65FAC121 (Noesis.dll) in Unity.exe: 0xC0000005: Access violation writing location 0x00000066168D0FF0. Unhandled exception at 0x00007FFD65FAC121 (Noesis.dll) in Unity.exe: 0xC0000005: Access violation writing location 0x00000066168D0FF0. Exception thrown at 0x00007FFD65FAC121 (Noesis.dll) in Unity.exe: 0xC0000005: Access violation writing location 0x00000066168D0FF0. Unhandled exception at 0x00007FFD65FAC121 (Noesis.dll) in Unity.exe: 0xC0000005: Access violation writing location 0x00000066168D0FF0. Exception thrown at 0x00007FFD65FAC121 (Noesis.dll) in Unity.exe: 0xC0000005: Access violation writing location 0x00000066168D0FF0. Unhandled exception at 0x00007FFD65FAC121 (Noesis.dll) in Unity.exe: 0xC0000005: Access violation writing location 0x00000066168D0FF0. Exception thrown at 0x00007FFD65FAC121 (Noesis.dll) in Unity.exe: 0xC0000005: Access violation writing location 0x00000066168D0FF0. Unhandled exception at 0x00007FFD65FAC121 (Noesis.dll) in Unity.exe: 0xC0000005: Access violation writing location 0x00000066168D0FF0. |
(0008820)
stonstad 2023-10-13 18:49 |
I can't reliably reproduce it. Clicking on buttons *may* cause the stack overflow. Because it is not consistent and I'm having trouble isolating it to a single line of code. This is high priority for me because if I can't get the PC version to run OK, I have to roll back to 3.2.1, and that impacts XBOX work, which has the corrupt texture issue in 3.2.1. |
(0008828)
sfernandez 2023-10-16 18:27 |
I'm not able to open the attached crash dumps. Could you open them fine in your Visual? Which version? |
(0008829)
stonstad 2023-10-16 18:33 |
They came from VS 2022 17.5.2. I tried opening them and they don't work for me either. :( I kept getting VS errors when I tried to save dump. Assuming that is still broken, when retesting with PDBs help? |
(0008835)
jsantos 2023-10-16 20:58 |
I don't think PDBs will help. Let's try again to generate dumps. because without them we are unable to get enough information. I also assume you are not able to reproduce this in our Buttons example right? |
(0008843)
stonstad 2023-10-18 17:04 |
Understood. I'm working to understand why VS isn't properly exporting dumps. That's correct -- the button sample does not reproduce this behavior. |
(0008844)
jsantos 2023-10-18 17:16 |
Thanks! |
(0008845)
stonstad 2023-10-18 17:58 (Last edited: 2023-10-18 17:58) |
Still working on getting a dump exported. I keep getting an error message. I receive this error when I export from Unity and the built binary.... I'll try changing VS versions. |
(0008850)
jsantos 2023-10-19 11:07 (Last edited: 2023-10-27 21:11) |
Thanks for the dump! @Sergio This is seems to be related to an infinite loop generating offscreen nodes for visual brushes Noesis.dll!Noesis::RenderTreeHelper::AccumNode() Line 1541 C++ > Noesis.dll!Noesis::RenderTreeHelper::GenerateOffscreenNodes() Line 482 C++ Noesis.dll!Noesis::RenderTreeHelper::GenerateOffscreenNodes() Line 523 C++ Noesis.dll!Noesis::RenderTreeHelper::GenerateOffscreenNodes() Line 523 C++ Noesis.dll!Noesis::RenderTreeHelper::GenerateOffscreenNodes() Line 523 C++ Noesis.dll!Noesis::RenderTreeHelper::GenerateOffscreenNodes() Line 523 C++ Noesis.dll!Noesis::RenderTreeHelper::GenerateOffscreenNodes() Line 523 C++ Noesis.dll!Noesis::RenderTreeHelper::GenerateOffscreenNodes() Line 523 C++ Noesis.dll!Noesis::RenderTreeHelper::GenerateVisualBrush() Line 800 C++ Noesis.dll!Noesis::RenderTreeHelper::GenerateVisualBrushes() Line 668 C++ Noesis.dll!Noesis::RenderTreeHelper::GenerateOffscreenNodes() Line 518 C++ Noesis.dll!Noesis::RenderTreeHelper::GenerateVisualBrush() Line 800 C++ Noesis.dll!Noesis::RenderTreeHelper::GenerateVisualBrushes() Line 668 C++ |
(0008860)
stonstad 2023-10-20 21:07 |
If you have any test assemblies you would like us to try, we are ready and available. Or if there is a proposed work-around, thank you! |
(0008861)
stonstad 2023-10-20 21:18 |
Separately, we're seeing a hang when the game launches on Xbox and the build is release/master. We're thinking it could be related to the above behavior. Thanks, Shaun |
(0008864)
stonstad 2023-10-23 14:30 |
Good afternoon. I'm just reaching out to see if there are any updates? Thank you. |
(0008865)
jsantos 2023-10-23 14:53 |
Hello, we haven't had time to work on this |
(0008877)
stonstad 2023-10-24 20:14 |
How can I help to provide the diagnostic data needed to resolve this behavior? This bug prevents us from upgrading to 3.2.2. 3.2.1 is showing texture issues on Xbox and we are stuck between two worlds. Thanks, Shaun. |
(0008881)
jsantos 2023-10-25 11:48 |
Right now, we have all the needed information, we will come back as soon as possible. By the way, 3.2.1 should work in Xbox is you disable "Linear" rendering. |
(0008884)
stonstad 2023-10-26 16:17 |
Understood. Switching to gamma rendering creates a different set of problems for us. If the issue is related to visual brushes, perhaps I can arrange my XAML resourced dictionaries differently? |
(0008891)
sfernandez 2023-10-27 21:23 |
Hi, The crash is definitely related to VisualBrushes. What is happening is that there is an element A with a VisualBrush that targets an element B with another VisualBrush that targets an ancestor of element A. We should detect that circularity, show an error message and avoid any stack overflow. In the meantime could you please check your usage of VisualBrushes and maybe disable them? |
(0008892)
stonstad 2023-10-28 00:43 |
Your feedback as helpful. OK, the cause is the use of BackgroundEffectBehavior (shown in style below) in combination with a pop-up window. Usage is shown below the style. <Style x:Key="BorderControlHero" TargetType="local:BorderControlHero"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="local:BorderControlHero"> <Grid HorizontalAlignment="{TemplateBinding HorizontalAlignment}" VerticalAlignment="{TemplateBinding VerticalAlignment}"> <Grid.RowDefinitions> <RowDefinition Height="Auto"/> <RowDefinition Height="*"/> </Grid.RowDefinitions> <Grid.ColumnDefinitions> <ColumnDefinition Width="*"/> </Grid.ColumnDefinitions> <!-- Bottom Shape --> <Grid Grid.Row="1"> <Path x:Name="_BottomPanelBlur"> <!-- disabled to prevent stackoverflow behavior in 3.2.2 --> <!--<b:Interaction.Behaviors> <noesis:BackgroundEffectBehavior x:Name="_BottomPanelBackgroundEffect" Source="{Binding ElementName=_BackgroundBlurSource}"> <BlurEffect Radius="{Binding Radius, Source={StaticResource BottomBlurRadius}}"/> </noesis:BackgroundEffectBehavior> </b:Interaction.Behaviors>--> </Path> <Path x:Name="_BottomPanelColor" Fill="{StaticResource DefaultUI.Brush.Bottom.Gradient}" Stroke="{StaticResource DefaultUI.Brush.Border}" Margin="0,-1,0,0" Opacity="0.5"> <Path.Effect> <DropShadowEffect Direction="270" Opacity="0.365" BlurRadius="20" ShadowDepth="18"/> </Path.Effect> </Path> <Path x:Name="_DecorLeft" Fill="{StaticResource DefaultUI.Brush.Decor.BottomLeft.Gradient}" VerticalAlignment="Bottom" HorizontalAlignment="Left" Margin="-1,0,0,0" Opacity="0.7"/> <Path x:Name="_DecorRight" Fill="{StaticResource DefaultUI.Brush.Decor.BottomRight.Gradient}" VerticalAlignment="Bottom" HorizontalAlignment="Right" RenderTransformOrigin="0.5,0.5" Opacity="0.7"> <Path.RenderTransform> <ScaleTransform ScaleX="-1"/> </Path.RenderTransform> </Path> </Grid> <!-- Content --> <ContentPresenter Grid.Row="1" ContentSource="Content" /> <!-- Top Shape --> <Grid Grid.Row="0"> <Path x:Name="_TopPanelBlur" > <!--<b:Interaction.Behaviors> <noesis:BackgroundEffectBehavior x:Name="_TopPanelBackgroundEffect" Source="{Binding ElementName=_BackgroundBlurSource}"> <BlurEffect Radius="{Binding Radius, Source={StaticResource TopBlurRadius}}"/> </noesis:BackgroundEffectBehavior> </b:Interaction.Behaviors>--> </Path> <Path x:Name="_TopPanelColor" Fill="{StaticResource DefaultUI.Brush.Top.Gradient}" Stroke="{StaticResource DefaultUI.Brush.Border}" Opacity="0.7"> <Path.Effect> <DropShadowEffect Direction="270" Opacity="0.35" ShadowDepth="8" BlurRadius="20"/> </Path.Effect> </Path> <Path x:Name="_DecorTop" Fill="{StaticResource DefaultUI.Brush.Decor.Gradient}" VerticalAlignment="Top"/> <Ellipse x:Name="_LineHighlight" Fill="{StaticResource DefaultUI.Brush.Decor.Gradient}" Height="1" VerticalAlignment="Bottom" Width="500"/> </Grid> <!-- Top Content --> <Grid Grid.Row="0" HorizontalAlignment="Center" Effect="{StaticResource DefaultUI.Effect.TextShadow}"> <StackPanel Orientation="Horizontal" VerticalAlignment="Center" Margin="0, 0, 0, -12"> <ContentControl Template="{StaticResource logo_template}" Background="{StaticResource DefaultUI.Brush.LogoBlueBg}" Width="45" Height="45" Visibility="{Binding LogoVisibility, RelativeSource={RelativeSource AncestorType={x:Type local:BorderControlHero}}}" /> <TextBlock x:Name="_LogoText" HorizontalAlignment="Center" FontFamily="{StaticResource TekoMedium}" FontSize="40" VerticalAlignment="Center" Foreground="White" noesis:Text.CharacterSpacing="90" Margin="18, 0, 0, 0" Text="{Binding TitleText, RelativeSource={RelativeSource AncestorType={x:Type local:BorderControlHero}}}" Visibility="{Binding TitleVisibility, RelativeSource={RelativeSource AncestorType={x:Type local:BorderControlHero}}}" /> </StackPanel> </Grid> </Grid> </ControlTemplate> </Setter.Value> </Setter> </Style> _BackgroundBlurSource is created as a top-level element within the game's visual tree: <!-- game's top level visual tree --> <Grid> <Grid x:Name="_BaseLayerBlurSource"> <Grid x:Name="_BackgroundBlurSourceContainer" Opacity="0"> <Border x:Name="_BackgroundBlurSource" Background="{DynamicResource DefaultUI.Brush.Background}"/> </Grid> <Grid x:Name="_BaseLayer"/> </Grid> <local:OverlayLayer x:Name="_OverlayLayer"/> </Grid> _BackgroundBlurSource and OverlayLayer exist within separate trees to prevent a stackoverflow. This works successfully in 3.2.1. |
(0008893)
stonstad 2023-10-28 17:43 (Last edited: 2023-10-28 17:44) |
It works in 3.2.1 all the time. And in 3.2.2 it works most of the time. When it fails, I am not seeing my code in the call stack. I am thinking this is a Noesis race condition. |
(0008894)
stonstad 2023-10-28 18:13 |
- The camera renders to a texture which is saved in Resources["DefaultUI.Brush.Background"] - This texture is then used as a background for _BackgroundBlurSource. - The style shown uses _BackbroundBlurSource as a background for BackgroundEffectBehavior - BaseLayerBlurSource is saved in Resource["BaseLayerBlurSource"]. This resource contains _BackgroundBlurSource and base layer U layers (_BaseLayer). - Pop-up layers use BaseLayerBlurSource for their BackgroundEffectBehavior. The visual result is as follows: - Base Layer Blur.png. BackgroundEffectBehavior uses _BackgroundBlurSource. - Base Layer Blur with Secondary Blur.png BackgroundEffectBehavior uses _BackgroundBlurSource _BaseLayerBlurSource. It works well except in 3.2.2 sometimes. |
(0008895)
stonstad 2023-10-28 18:54 (Last edited: 2023-10-28 19:14) |
I don't really understand what is happening or why. I may not share more detail for a while until I can understand what is happening. |
(0008899)
stonstad 2023-10-30 06:11 |
I can stop the crashes by disabling the visual brush used by BackgroundEffectBehavior. After careful analysis I do not believe there is a cyclic dependency with visual brushes. With the functionality disabled, I'm now seeing other behaviors during subsequent rounds of editor playback. The strange behaviors are resolved by an app domain reload. Some of these behaviors are documented in https://www.noesisengine.com/bugs/view.php?id=2791 and https://www.noesisengine.com/bugs/view.php?id=2793 Other behaviors are visual, such as UIs appearing differently based on the order of invocation within the visual tree. If there truly was a cyclic dependency in visual brushes, wouldn't 3.2.1, by necessity, also experience a stack overflow? I think the process for reloading app domains in Noesis changed. |
(0008901)
sfernandez 2023-10-30 11:40 |
If this error was not happening always it might be related to your other posts 0002791 and 0002793. It seems that some elements in the UI tree are not correctly released from play to play and are somehow mixed or misused in subsequent plays. |
(0008908)
stonstad 2023-10-30 17:41 |
The previously described crash behavior is now resolved by changing the binding approach. Previously, binding BackgroundEffectBehavior.Source was accomplished as follows: // code-behind: public static readonly DependencyProperty BlurLayerProperty = DependencyProperty.Register("BlurLayer", typeof(FrameworkElement), typeof(BorderControlTitle), new PropertyMetadata(null)); public FrameworkElement BlurLayer { get { return (FrameworkElement)GetValue(BlurLayerProperty); } set { SetValue(BlurLayerProperty, value); } } public override void OnApplyTemplate() { base.OnApplyTemplate(); if (Template != null && BlurLayer != null) { BackgroundEffectBehavior _BottomPanelBackgroundEffect = GetTemplateChild("_BottomPanelBackgroundEffect") as BackgroundEffectBehavior; BackgroundEffectBehavior _TopPanelBackgroundEffect = GetTemplateChild("_TopPanelBackgroundEffect") as BackgroundEffectBehavior; if (_BottomPanelBackgroundEffect != null) _BottomPanelBackgroundEffect.Source = BlurLayer; if (_TopPanelBackgroundEffect != null) _TopPanelBackgroundEffect.Source = BlurLayer; } } Binding is now accomplished as follows: public static readonly DependencyProperty BlurLayerProperty = DependencyProperty.Register("BlurLayer", typeof(FrameworkElement), typeof(BorderControlTitle), new PropertyMetadata(null)); public FrameworkElement BlurLayer { get { return (FrameworkElement)GetValue(BlurLayerProperty); } set { SetValue(BlurLayerProperty, value); } } // XAML: <b:Interaction.Behaviors> <noesis:BackgroundEffectBehavior Source="{Binding RelativeSource={RelativeSource AncestorType=local:BorderControlHero}, Path=BlurLayer}"> <BlurEffect Radius="{Binding Radius, Source={StaticResource BottomBlurRadius}}"/> </noesis:BackgroundEffectBehavior> </b:Interaction.Behaviors> All error messages and crashes are now resolved. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2690 | [NoesisGUI] C++ SDK | crash | always | 2023-09-14 20:56 | 2024-01-22 11:47 |
Reporter: | dsrour | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | feedback | Product Version: | 3.2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2.4 | ||||
Platform: | Any | ||||
Summary: | No reliable to recreate views with their contents | ||||
Description: |
More context on this forum post: https://www.noesisengine.com/forums/viewtopic.php?p=16044#p16044 We integrated Noesis into our engine. A bunch of systems make use of Noesis. At anytime, the engine's renderer could reset itself (due to modifying rendering settings or changing graphics API at runtime). When such a reset occurs, we would like to update all view's renderer. However this isn't possible. In Renderer::Shutdown(), there's a specific comment saying: // mInitialized is left to true because we only support one Init()/Shutdown() cycle for now To work around this, when the renderer resets, we do the following for all views: - GetContent() from a view - Call Shutdown on the view's renderer and release the view - Create a new view using the content from GetContent() This works ok for some views, but for some others (for ex. ones that have animation content), we get an assert in TimeManager::AddMasterClock(...) where the target pointer member is NULL. Ignoring this assert leads to an eventual crash in Attached are screenshots of the callstack when the assert occurs and when the crash occurs after ignoring the asserts. |
||||
Tags: | C++ | ||||
Steps To Reproduce: |
Create a view with some content and try to recreate it: - GetContent() from a view - Call Shutdown on the view's renderer and release the view - Create a new view using the content from GetContent() I'm unsure exactly why specific views are having issues with this specific logic. I assume it's related to the content having some animations since the assert occurs when transferring animations, which eventually leads to the assert in TimeManager::AddMasterClock(...). Please refer to the screenshots for callstacks. |
||||
Additional Information: | |||||
Attached Files: |
noesis_crash_assert.png (96,194 bytes) 2023-09-14 20:56 https://www.noesisengine.com/bugs/file_download.php?file_id=1946&type=bug noesis_assert_callstack.png (29,365 bytes) 2023-09-14 20:56 https://www.noesisengine.com/bugs/file_download.php?file_id=1947&type=bug |
||||
Notes | |
(0009081)
jsantos 2024-01-12 12:22 (Last edited: 2024-01-12 12:22) |
Revisions r13182 and r13185 implemented (experimental) support for grabbing RenderDoc captures. This requires hot-swapping the render context, the same scenario that you are trying to solve here. We are doing something similar, creating a new view with the same root content. The code for recreating the view is this one (Window::RecreateView) mView = GUI::CreateView(this); mView->SetScale(mDisplay->GetScale()); mView->SetTessellationMaxPixelError(TessellationMaxPixelError::HighQuality()); mView->SetEmulateTouch(emulateTouch); mView->SetFlags(mViewFlags); mView->SetSize(mDisplay->GetClientWidth(), mDisplay->GetClientHeight()); mView->Update(0.0f); mView->GetRenderer()->Init(context->GetDevice()); In my tests, animations are working fine. Could you please try this when 3.2.3 is released and in case you are still getting an assert attach a XAML here) ? |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2347 | [NoesisGUI] Unity3D | minor | always | 2022-05-12 17:14 | 2024-01-22 11:47 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1.4 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.5 | ||
Target Version: | 3.2.4 | ||||
Platform: | Any | ||||
Summary: | MultiBinding shows error messages when removing target from the visual tree | ||||
Description: | From forum post https://www.noesisengine.com/forums/viewtopic.php?t=2602 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008968)
sfernandez 2023-11-21 20:46 |
Reopening, it seems to be a regression on 3.2.2 version (or some earlier version). |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2721 | [NoesisGUI] Unity3D | major | always | 2023-10-11 08:59 | 2024-01-22 11:46 |
Reporter: | Otter | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2.2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2.4 | ||||
Platform: | Any | ||||
Summary: | ToolTip is not affected by WorldSpaceUI scale | ||||
Description: |
When adding a tooltip to a WorldSpaceUI, with a scale less than 1, the tooltip does not get scaled properly. Also when tooltip is visible the text is upside down. The issue is not there when rendering to texture. Forum: https://www.noesisengine.com/forums/viewtopic.php?t=3092 |
||||
Tags: | |||||
Steps To Reproduce: |
Import Assets.zip or 1. Create a button with ToolTip property 2. Add it to WorldSpaceUI and change the scale of WorldSpaceUI to 0.1 3. Hover over it (tooltip is not in the proper scale) |
||||
Additional Information: | |||||
Attached Files: |
Assets.zip (12,453 bytes) 2023-10-11 08:59 https://www.noesisengine.com/bugs/file_download.php?file_id=1978&type=bug ToolTip3.png (158,606 bytes) 2023-10-11 08:59 https://www.noesisengine.com/bugs/file_download.php?file_id=1979&type=bug ToolTip2.png (154,541 bytes) 2023-10-11 08:59 https://www.noesisengine.com/bugs/file_download.php?file_id=1980&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2717 | [NoesisGUI] C++ SDK | major | always | 2023-10-10 06:36 | 2024-01-22 11:46 |
Reporter: | nikobarli | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1.3 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2.4 | ||||
Platform: | Any | ||||
Summary: | Scroll position after the focus is lost and returned | ||||
Description: |
Scroll position broken after the focus is lost and returned. Please see the attached video and steps to reproduce. This is quite problem in our software. We'd appreciate if you can provide us with a patch to fix it. Thank you. |
||||
Tags: | |||||
Steps To Reproduce: |
1. Apply the attached patch to Noesis sample (Hello-world) 2. Run HelloWorld sample 3. Click and select the bottom-most box 4. Scroll to the top 5. Click any other window to make the Noesis window lost focus 6. Click the top most box // The content scrolls uncontrolled and a wrong box is made selected |
||||
Additional Information: | |||||
Attached Files: |
repro.mp4 (385,164 bytes) 2023-10-10 06:36 https://www.noesisengine.com/bugs/file_download.php?file_id=1974&type=bug ScrollProblem.patch (22,635 bytes) 2023-10-10 06:36 https://www.noesisengine.com/bugs/file_download.php?file_id=1975&type=bug |
||||
Notes | |
(0008799)
sfernandez 2023-10-10 13:01 |
Are you still on 3.1.3 version? The code that produces this situation is in FrameworkElement::OnGotFocus(), it is bringing into view the element when it gets focused. In 3.2 we have implemented the FocusManager so we can now differentiate between logical and keyboard focus. I verified that in WPF when a window loses focus, the logical focus remains, so when returning the focus to the window, the logical focus does not change and that code in FrameworkElement is not exectuted. We will fix it for 3.2 version, but in 3.1 it will require a bit more of a hack, let me think about it to provide a patch. |
(0008801)
nikobarli 2023-10-11 01:46 (Last edited: 2023-10-11 01:49) |
Hi Sergio, Thank you for looking into this issue immediately. We plan to shift to 3.2.x in our next development branch. But the currently active branch is still using 3.1.3 (cannot upgrade because of risk management). |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2716 | [NoesisGUI] Unity3D | minor | always | 2023-10-07 10:05 | 2024-01-22 11:46 |
Reporter: | DevFear | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2.4 | ||||
Platform: | Any | ||||
Summary: | Text in TextBox is converted to float when bound to double | ||||
Description: | When writing the exact number in the field, the text is truncated to 5 digits after the decimal point. Apparently, internally it is converted to float, and then back to the double property of the model. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2713 | [NoesisGUI] Unity3D | major | always | 2023-10-04 15:16 | 2024-01-22 11:46 |
Reporter: | Otter | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2.2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2.4 | ||||
Platform: | Any | ||||
Summary: | DropShadowEffect has artifacts when close to the edges of screen | ||||
Description: |
When moving to the edge of the screen drop shadow effect gets artifacts. Forum: https://www.noesisengine.com/forums/viewtopic.php?t=3072 |
||||
Tags: | |||||
Steps To Reproduce: |
Import Assets.zip or 1. Create a button 2. Add DropShadowEffect 3. Rotate the camera so the shadow starts to touch edge of the screen |
||||
Additional Information: | |||||
Attached Files: |
Assets.zip (14,917 bytes) 2023-10-04 15:16 https://www.noesisengine.com/bugs/file_download.php?file_id=1966&type=bug DropShadowArtifactRightCorner.png (43,989 bytes) 2023-10-04 15:16 https://www.noesisengine.com/bugs/file_download.php?file_id=1967&type=bug DropShadowArtifactBottomLeft.png (38,712 bytes) 2023-10-04 15:16 https://www.noesisengine.com/bugs/file_download.php?file_id=1968&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2711 | [NoesisGUI] C# SDK | crash | always | 2023-10-04 11:48 | 2024-01-22 11:46 |
Reporter: | jphyzic | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1.4 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2.4 | ||||
Platform: | Any | ||||
Summary: | Application crash with AccessViolationException | ||||
Description: |
I'm using Unity 2021.3.21f1 with Noesis 3.1.4. At random intervals my application crashes (call stack below). I was able to reliably cause a crash by creating MultiBinding objects in a cycle - then releasing these objects after some time causes a crash. This error may be related to https://www.noesisengine.com/bugs/view.php?id=2693, although the Noesis version there is 3.2.1, but the sympthoms are the same. I've created a reproduction project on https://github.com/ChernyshevDS/NoesisCrashRepro, hope it'll be useful. 0x000001BAD22D008A (Mono JIT Code) (wrapper managed-to-native) Noesis.NoesisGUI_PINVOKE:BaseComponent_Release (intptr) 0x000001BACF4AFF1B (Mono JIT Code) Noesis.BaseComponent:Release (intptr) 0x000001BAFB6D593B (Mono JIT Code) Noesis.Extend:ReleasePending () 0x000001BAFB6D4CFB (Mono JIT Code) Noesis.Extend:Update () 0x000001BAFB6D4BB3 (Mono JIT Code) Noesis.View:Update (double) 0x000001BAFB6C7A9B (Mono JIT Code) NoesisView:ExternalUpdateInternal () 0x000001BAFB6C78FB (Mono JIT Code) NoesisView:LateUpdate () 0x000001BA648FEF08 (Mono JIT Code) (wrapper runtime-invoke) object:runtime_invoke_void__this__ (object,intptr,intptr,intptr) 0x00007FFF90B0FEB4 (mono-2.0-bdwgc) mono_jit_set_domain 0x00007FFF90A4E764 (mono-2.0-bdwgc) mono_object_get_virtual_method 0x00007FFF90A4E8FC (mono-2.0-bdwgc) mono_runtime_invoke I was able to get a crash dump with the following details: CONTEXT: (.ecxr) rax=00007fff8e1ea860 rbx=0000000000000000 rcx=000001bad3987918 rdx=00000075e0d2e8d0 rsi=000001bad3987918 rdi=000001ba1d26cf90 rip=0000000000007463 rsp=00000075e0d2e8e8 rbp=00000075e0d2e980 r8=0000000000000000 r9=0000000000000001 r10=0000000000008000 r11=00007fff90917200 r12=00000075e0d2f030 r13=00000075e0d2f250 r14=000001ba1cd32d20 r15=000001bacc8cbde0 iopl=0 nv up ei pl nz na po nc cs=0033 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00010206 00000000`00007463 ?? ??? EXCEPTION_RECORD: (.exr -1) ExceptionAddress: 0000000000007463 ExceptionCode: c0000005 (Access violation) ExceptionFlags: 00000000 NumberParameters: 2 Parameter[0]: 0000000000000008 Parameter[1]: 0000000000007463 Attempt to execute non-executable address 0000000000007463 |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2700 | [NoesisGUI] C++ SDK | block | always | 2023-09-26 04:24 | 2024-01-22 11:46 |
Reporter: | nikobarli | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1.3 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2.4 | ||||
Platform: | Any | ||||
Summary: | Width of element inside Virtualizing Stack Panel is not resized correctly | ||||
Description: |
Width of element inside Virtualizing Stack Panel is not resized correctly. Please see the attached video that compares the behavior of Noesis compared to WPF. # Please note that the video shows our test programs, but we also prepared the a demo patch for Noesis sample programs as described in the "Steps To Reproduce" below. |
||||
Tags: | |||||
Steps To Reproduce: |
Please apply the attached patch to NoesisGUI sample codes. Then run and compare the behavior of HelloWorld and HelloWorld-blend. |
||||
Additional Information: | |||||
Attached Files: |
bug.mp4 (295,358 bytes) 2023-09-26 04:24 https://www.noesisengine.com/bugs/file_download.php?file_id=1953&type=bug VirtualizingStackPanel.patch (24,581 bytes) 2023-09-26 04:24 https://www.noesisengine.com/bugs/file_download.php?file_id=1954&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2698 | [NoesisGUI] Unity3D | minor | random | 2023-09-25 07:39 | 2024-01-22 11:46 |
Reporter: | ckfinite | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | feedback | Product Version: | 3.2.1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2.4 | ||||
Platform: | Any | ||||
Summary: | MediaState-related issue causes editor CTD while idle | ||||
Description: |
Had a weird one - a C# recompilation caused the editor to CTD with the following error (Filename: Packages/NoesisGUI/Runtime/NoesisUnity.cs Line: 360) [NOESIS/E] Component 'Converter<NoesisApp.MediaState> ()' already registered UnityEngine.StackTraceUtility:ExtractStackTrace () UnityEngine.DebugLogHandler:LogFormat (UnityEngine.LogType,UnityEngine.Object,string,object[]) UnityEngine.Logger:Log (UnityEngine.LogType,object,UnityEngine.Object) UnityEngine.Debug:LogError (object,UnityEngine.Object) NoesisUnity:UnityLog (int,string) (at Packages/NoesisGUI/Runtime/NoesisUnity.cs:360) Noesis.Extend:RegisterNativeType (System.Type,bool) (at Packages/NoesisGUI/Runtime/API/Core/Extend.cs:1313) Noesis.Extend:EnsureNativeType (System.Type,bool) (at Packages/NoesisGUI/Runtime/API/Core/Extend.cs:1823) Noesis.Extend:EnsureNativeType (System.Type) (at Packages/NoesisGUI/Runtime/API/Core/Extend.cs:1815) Noesis.Extend:Box (object) (at Packages/NoesisGUI/Runtime/API/Core/ExtendBoxing.cs:125) Noesis.Extend:GetInstanceHandle (object) (at Packages/NoesisGUI/Runtime/API/Core/Extend.cs:6017) Noesis.PropertyMetadata:SetDefaultValueHelper (object) (at Packages/NoesisGUI/Runtime/API/Proxies/PropertyMetadata.cs:53) Noesis.PropertyMetadata:set_DefaultValue (object) (at Packages/NoesisGUI/Runtime/API/Proxies/PropertyMetadata.cs:36) Noesis.FrameworkPropertyMetadata:.ctor (object) (at Packages/NoesisGUI/Runtime/API/Proxies/FrameworkPropertyMetadataExtend.cs:29) NoesisApp.MediaElement:.cctor () (at Packages/NoesisGUI/Runtime/API/MediaElement/MediaElement.cs:116) NoesisUnity:Init () (at Packages/NoesisGUI/Runtime/NoesisUnity.cs:71) NoesisLangServer/<>c:<.cctor>b__0_0 () (at Packages/NoesisGUI/Editor/NoesisLangServer.cs:14) UnityEditor.EditorApplication:Internal_CallUpdateFunctions () (Filename: Packages/NoesisGUI/Runtime/NoesisUnity.cs Line: 360) ================================================================= Native Crash Reporting ================================================================= Got a UNKNOWN while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= ================================================================= Managed Stacktrace: ================================================================= at <unknown> <0xffffffff> at Noesis.NoesisGUI_PINVOKE:PropertyMetadata_SetDefaultValueHelper <0x0011b> at Noesis.PropertyMetadata:SetDefaultValueHelper <0x0011a> at Noesis.PropertyMetadata:set_DefaultValue <0x0008a> at Noesis.FrameworkPropertyMetadata:.ctor <0x000ca> at NoesisApp.MediaElement:.cctor <0x002b2> at System.Object:runtime_invoke_void <0x00184> at <unknown> <0xffffffff> at NoesisUnity:Init <0x007ca> at <>c:<.cctor>b__0_0 <0x000a2> at UnityEditor.EditorApplication:Internal_CallUpdateFunctions <0x00327> at System.Object:runtime_invoke_void <0x00184> ================================================================= Received signal SIGSEGV Obtained 2 stack frames RtlLookupFunctionEntry returned NULL function. Aborting stack walk. <Missing stacktrace information> I've gotten used to editor CTDs while editing XAML using the VSCode extension, but C# is a new one. Haven't seen this one before and can't reproduce it, so don't have a good idea of what actually caused this. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008765)
sfernandez 2023-09-25 11:13 |
Could you please attach the crash dump and editor log? |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2685 | [NoesisGUI] Unity3D | crash | always | 2023-09-08 23:22 | 2024-01-22 11:46 |
Reporter: | Josh Campbell | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2.4 | ||||
Platform: | Any | ||||
Summary: | When special characters for keybindings unity crashes | ||||
Description: | Alphabetical characters and numeric characters work but special characters like ! cause a unity crash. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008714)
sfernandez 2023-09-11 11:35 |
Can you attach the XAML you use for the key binding? Do you get any error message when the XAML is imported? |
(0008776)
sfernandez 2023-09-27 11:30 |
Any chance to get a crash dump for this? I wasn't able to reproduce the issue. |
(0008783)
Josh Campbell 2023-09-27 19:01 (Last edited: 2023-09-27 19:02) |
This is the info the dev provided me with. Please let me know what else we can get for you, I can try to get a crash log later this week. "So in the keyboard it was that" <Grid Width="740" > <Grid.InputBindings> <KeyBinding Command="{Binding ExclamationPointCommandBinding}" Key="Oem1" /> </Grid.InputBindings> .... (edited) It broke for other keys too... pretty much every Oem and some button between caps, shift and ctrl but can't remember which one and was not able to use any modifier but binding with all letters was ok <KeyBinding Command="{Binding ExclamationPointCommandBinding}" Key="1" Modifiers="Shift" /> |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2679 | [NoesisGUI] C# SDK | crash | always | 2023-09-06 02:47 | 2024-01-22 11:46 |
Reporter: | ai_enabled | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2.1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2.4 | ||||
Platform: | Any | ||||
Summary: | Crashes after NoesisGUI reloading | ||||
Description: |
Hi guys, so a property in a ViewModel returns an array of strings. It's then bound to ItemsControl to display the list of text entries. There is no crash if it's returning "new string[0]" each time. There is a 100% crash if it's returning a cached/singleton instance instead (such as Array.Empty<string>()) — but this crash happens only after NoesisGUI was reloaded (which in our case means a call to GUI.UnregisterNativeTypes() as we cannot shutdown NoesisGUI completely, if you remember). I've debugged it and clearly the root of the issue is the _weakExtends in NoesisExtend.cs which stores the weak references to the outdated pointers after GUI.UnregisterNativeTypes(). After checking 0002424 it seems this is a relatively new code so some issues are expected... I've put a very simple workaround for it — I'm doing _weakExtends = new(); in the end of UnregisterNativeTypes() method (inside ClearTables() method actually, which I think makes sense). This workaround has resolved the issue as I no longer get the crash in the scenario which I've described above. The property is properly returned and data binding properly works. However, now NoesisGUI simply crashes with MemoryAccessViolation in UnregisterNativeTypes() after the second reloading. The exception stack trace is as following: at Noesis.NoesisGUI_PINVOKE.BaseComponent_Release(IntPtr jarg1) at Noesis.BaseComponent.Release(IntPtr cPtr) at Noesis.Extend.ReleasePending() at Noesis.Extend.Shutdown() at Noesis.Extend.UnregisterNativeTypes() So there is some component which is released incorrectly. Alas I cannot debug it further so please help. Please let me know if you need a debug build to investigate this issue. Regards! |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008703)
ai_enabled 2023-09-06 03:16 (Last edited: 2023-09-06 03:32) |
Ok, I've found a fix for the second crash as well. My first fix is not perfect as assigning a new instance of the ConditionalWeakTable _weakExtends = new(); still keeps the referenced ExtendNotifier instances alive. They will eventually reach GC finalization and ask NoesisGUI to release itself (which 100% happens during the second reloading which always results in a crash; BTW, I've tried and it's NOT helpful to call GC.Collect() + GC.WaitForPendingFinalizers() to force collecting these references right after _weakExtends = new(); — some entries still remained in heap memory). Apparently I just need to ensure that no ExtendNotifier instances will ever invoke its finalizer if its parent _weakExtends is replaced with a new instance. Obviously it would be great if I can simply foreach references stored in _weakExtends and release each of them manually before creating a new instance of _weakExtends table. However ConditionalWeakTable doesn't support enumeration on .NET Framework (this is new API added in .NET Standard 2.1). The second idea was to store a WeakReference on the current _weakExtends... but apparently it's NOT supported — the WeakReference always replies NOT alive no matter whether _weakExtends is alive or not. (Ha-ha, so there is simply too much weakness for .NET to handle!) The third idea is simply to store the current version number of the _weakExtends instance: private static byte _latestWeakStorageId; So when I create a new _weakExtends instance in the ClearTables() method I simply increment the version number. I've put a simple check in ExtendNotifier finalizer: if (currentWeakStorageId != _latestWeakStorageId) { // storage for this weak reference is destroyed, no need to release return; } (of course, the field currentWeakStorageId in ExtendNotifier is assigned in its constructor) And it works! No more crashes. I think the only downside is that there are still some pointers (ExtendNotifier) stored in NoesisGUI native library which will be never released. (again, we cannot simply enumerate _weakExtends to release them all) But probably it's harmless and will not result in any major leak. Regards! |
(0008704)
sfernandez 2023-09-06 12:19 |
Thanks for the detailed info, I'm going to analyze it and see what would be the best option to fix this. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2638 | [NoesisGUI] Unity3D | crash | always | 2023-07-03 10:19 | 2024-01-22 11:46 |
Reporter: | DevFear | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2.1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2.4 | ||||
Platform: | Any | ||||
Summary: | Geometry.Parse: Native type 'BaseObject' is not registered | ||||
Description: |
If you call Geometry.Parse before using the resource dictionary in your code, a "Native type 'BaseObject' is not registered" exception will be thrown. Source: https://www.noesisengine.com/forums/viewtopic.php?p=15711#p15711 |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | It is happening because if you don't load any xaml before using Noesis API, our plugin does not get correctly initialized. | ||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2623 | [NoesisGUI] Unity3D | crash | random | 2023-06-12 17:47 | 2024-01-22 11:46 |
Reporter: | stonstad | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2.1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2.4 | ||||
Platform: | Any | ||||
Summary: | Domain Reload Crash - Attempt to access invalid address | ||||
Description: |
ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FFDE6162973) 0x00007FFDE6162973 (Noesis) (function-name not available) 0x00007FFDE61CE5C8 (Noesis) Rect_GetStaticType ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FFDE6162973) 0x00007FFDE6162973 (Noesis) (function-name not available) 0x00007FFDE62E26D3 (Noesis) DependencyProperty_GetOwnerTypeHelper 0x00007FFDE626A564 (Noesis) MultiBindingExpression_UpdateSource 0x00007FFDE617C03B (Noesis) Boxed_String_GetStaticType 0x00007FFDE644D0D4 (Noesis) FreeString 0x00007FFDE62EA1CF (Noesis) DependencyProperty_GetOwnerTypeHelper 0x00007FFDE617BF51 (Noesis) Boxed_String_GetStaticType 0x00007FFDE644D0D4 (Noesis) FreeString 0x00007FFDE62EA1CF (Noesis) DependencyProperty_GetOwnerTypeHelper 0x00007FFDE63AD408 (Noesis) Extend_XamlProvider 0x00007FFDE617BF51 (Noesis) Boxed_String_GetStaticType 0x00007FFDE6201026 (Noesis) Rect_GetStaticType 0x00007FFDE61F93E9 (Noesis) Rect_GetStaticType 0x00007FFDE639A5C4 (Noesis) FormattedText_Init 0x00007FFDE617C03B (Noesis) Boxed_String_GetStaticType 0x00007FFDE63A8910 (Noesis) SizeChangedInfo_PreviousSize_get 0x000002481B05D44C (Mono JIT Code) (wrapper managed-to-native) Noesis.NoesisGUI_PINVOKE:BaseComponent_Release (intptr) 0x000002481B05D313 (Mono JIT Code) [D:\Source\StellarConquest\StellarConquest.Utilities\Noesis\3.2.1\Runtime\API\Proxies\BaseComponent.cs:62] Noesis.BaseComponent:Release (intptr) 0x000002495799D5B3 (Mono JIT Code) [D:\Source\StellarConquest\StellarConquest.Utilities\Noesis\3.2.1\Runtime\API\Core\Extend.cs:6110] Noesis.Extend:ReleasePending () 0x000002482CB03393 (Mono JIT Code) [D:\Source\StellarConquest\StellarConquest.Utilities\Noesis\3.2.1\Runtime\API\Core\Extend.cs:83] Noesis.Extend:Shutdown () 0x000002482CB026B3 (Mono JIT Code) [D:\Source\StellarConquest\StellarConquest.Utilities\Noesis\3.2.1\Runtime\API\Core\Extend.cs:36] Noesis.Extend:OnDomainUnload (object,System.EventArgs) 0x000002482CB01D75 (Mono JIT Code) (wrapper delegate-invoke) <Module>:invoke_void_object_EventArgs (object,System.EventArgs) 0x000002482CB01A3A (Mono JIT Code) System.AppDomain:DoDomainUnload () 0x00000247EE3EF668 (Mono JIT Code) (wrapper runtime-invoke) object:runtime_invoke_void__this__ (object,intptr,intptr,intptr) 0x00007FFDE5730394 (mono-2.0-bdwgc) [C:\build\output\Unity-Technologies\mono\mono\mini\mini-runtime.c:3445] mono_jit_runtime_invoke 0x00007FFDE566EB44 (mono-2.0-bdwgc) [C:\build\output\Unity-Technologies\mono\mono\metadata\object.c:3066] do_runtime_invoke 0x00007FFDE55523C0 (mono-2.0-bdwgc) [C:\build\output\Unity-Technologies\mono\mono\metadata\appdomain.c:3485] mono_domain_try_unload 0x00007FFDE571A61A (mono-2.0-bdwgc) [C:\build\output\Unity-Technologies\mono\mono\metadata\unity-utils.c:757] mono_unity_domain_unload 0x00007FF7CB59ABC0 (Unity) UnloadDomain 0x00007FF7CB58B42B (Unity) MonoManager::CreateAndSetChildDomain 0x00007FF7CB589F9C (Unity) MonoManager::BeginReloadAssembly |
||||
Tags: | |||||
Steps To Reproduce: | On DomainReload, Noesis crashed the Unity editor. I have fixed the prior issues related to singletons. I'm not seeing any Stellar Conquest code in this stack trace. It does not show an access to a Noesis resource. This appears to be a different issue. | ||||
Additional Information: | |||||
Attached Files: |
Crash_2023-06-12_154337515.zip (1,128,769 bytes) 2023-06-12 17:47 https://www.noesisengine.com/bugs/file_download.php?file_id=1866&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2611 | [NoesisGUI] Unity3D | crash | sometimes | 2023-05-29 13:32 | 2024-01-22 11:46 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2.1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2.4 | ||||
Platform: | Any | ||||
Summary: | Crash using singleton instance after reloading xaml | ||||
Description: |
Following the callstack and the code attached in ticket 0002579 I see this is related to a UIStateMachine which is used like a singleton. It seems that after reloading of a xaml that instance points to a proxy with its native pointer already set to null. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2598 | [NoesisGUI] Unity3D | major | always | 2023-05-15 11:50 | 2024-01-22 11:46 |
Reporter: | DevFear | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2.1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2.4 | ||||
Platform: | Any | ||||
Summary: | Inheritance from StackPanel is incorrect | ||||
Description: |
If you inherit your element from StackPanel, then it will not work correctly in Unity. Without specifying an explicit width, it will not automatically match the width of the child elements. A source: https://www.noesisengine.com/forums/viewtopic.php?t=2935 |
||||
Tags: | Unity, xaml | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2596 | [NoesisGUI] C# SDK | major | always | 2023-05-12 11:47 | 2024-01-22 11:46 |
Reporter: | DevFear | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2.1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2.4 | ||||
Platform: | Any | ||||
Summary: | OnVisualChildrenChanged not found | ||||
Description: | The method is not implemented in C# | ||||
Tags: | C#, Unity | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2595 | [NoesisGUI] C# SDK | major | always | 2023-05-12 11:43 | 2024-01-22 11:46 |
Reporter: | DevFear | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2.1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2.4 | ||||
Platform: | Any | ||||
Summary: | GetLayoutClip not found | ||||
Description: |
The method is not implemented in C#. Source: https://www.noesisengine.com/forums/viewtopic.php?t=2936 |
||||
Tags: | C#, Unity | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2589 | [NoesisGUI] Unity3D | major | always | 2023-05-05 23:17 | 2024-01-22 11:46 |
Reporter: | Josh Campbell | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2.0 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2.4 | ||||
Platform: | Android | ||||
Summary: | Opacity is fully opaque or fully transparent | ||||
Description: | Any UI element with opacity value less than 100% is not rendered in VR (Android Build) but shows up fine when tested in Unity editor. | ||||
Tags: | |||||
Steps To Reproduce: |
Create a xaml element with an opacity less than 1.0 (Reporting Dev Tested for Both ContentControl and Button elements.) Building for android device, load the XAML onto the Quest headset, the element with opacity less than 100% should be invisible. |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2577 | [NoesisGUI] C++ SDK | feature | N/A | 2023-04-21 19:09 | 2024-01-22 11:46 |
Reporter: | christyjquinn | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2.1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2.4 | ||||
Platform: | Any | ||||
Summary: | Extend GamepadTrigger to include option to handle events | ||||
Description: | See https://www.noesisengine.com/forums/viewtopic.php?p=15499#p15499 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2569 | [NoesisGUI] Unity3D | feature | always | 2023-04-13 14:03 | 2024-01-22 11:46 |
Reporter: | ismael_aheartful | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2.0 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2.4 | ||||
Platform: | Any | ||||
Summary: | InputActionTrigger not supported on Unity | ||||
Description: |
The "noesis:InputActionTrigger" element is not supported for Unity to be used with the new Input System. Only "GamepadTrigger" is recognized, and it constrains how can you implement your actions in an InputActionAsset, as this element only binds to a preset of actions defined by Noesis. InputActionTrigger should be supported as it is currently in Unreal, so full control of the actions is posible for implementing an input template. https://www.noesisengine.com/forums/viewtopic.php?p=15488 |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2543 | [NoesisGUI] C# SDK | minor | random | 2023-03-25 19:01 | 2024-01-22 11:46 |
Reporter: | asusralis | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2.0 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2.4 | ||||
Platform: | Any | ||||
Summary: | UI explicitly freezing on 3.2. | ||||
Description: | I have never experienced this before 3.2. Noesis will freeze Unity for 10 - 15 seconds before working again. This only happens when using the in-game UI. I've noticed it when hovering over elements, but it also happened once or twice during navigation. What is the best way for me to help you track this? Is there anything I can do while it's frozen to send to you? | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008366)
sfernandez 2023-03-27 20:15 |
If you can attach Visual Studio to the Unity process, click pause and then save a mini dump it might indicate if it is stuck inside Noesis. Could you send us the dump to check it? |
(0008377)
asusralis 2023-03-29 11:59 |
It seemed this stopped once I restarted my computer. If it happens again I will do this. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2515 | [NoesisGUI] C# SDK | minor | always | 2023-02-20 13:01 | 2024-01-22 11:46 |
Reporter: | voula_d | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1.7 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2.4 | ||||
Platform: | Windows | ||||
Summary: | Dispatcher.BeginInvoke does not accept object[] as argument | ||||
Description: | WPF Dispatcher.BeginInvoke calls not accept object[] as params and pass that to the callbacks as arguments. Noesis equivalent call only accepts an object and not object[] and so no callback is invoked because of parameter count mismatch. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2002 | [NoesisGUI] C++ SDK | feature | have not tried | 2021-05-06 12:46 | 2024-01-22 11:46 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.0.12 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2.4 | ||||
Platform: | Any | ||||
Summary: | Implement RelativePanel | ||||
Description: |
https://docs.microsoft.com/en-us/uwp/api/windows.ui.xaml.controls.relativepanel?view=winrt-19041 This panel in conjunction with interactivity triggers is very useful to create responsive UI. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1512 | [NoesisGUI] Unity3D | feature | always | 2019-07-02 21:41 | 2024-01-22 11:46 |
Reporter: | SIMU-ctortman | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 2.2.2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2.4 | ||||
Platform: | Any | ||||
Summary: | ValidateValueCallback Not Available In Unity SDK | ||||
Description: | We needed to implement the DependencyProperty's ValidateValueCallback. It is listed as a support component of the class in the documentation (https://www.noesisengine.com/docs/2.1/Gui.DependencySystem.DependencyProperty.html). However when trying to hook into it, the property does not appear to be available in the DependencyProperty constructor or as a property within the class. | ||||
Tags: | Unity | ||||
Steps To Reproduce: |
1) Download NoesisGUI Unity 2.2.2 plugin 2) Attempt to write code to initialize or modify a DependencyProperty object 3) Observe that no ValidateValueCallback is available |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0005806)
sfernandez 2019-07-05 12:51 |
You're right, ValidateValueCallback is not exposed in C# API, we will include in a future release. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3009 | [NoesisGUI] Unity3D | minor | always | 2024-01-15 07:35 | 2024-01-22 11:45 |
Reporter: | C4ustic | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2.2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2.4 | ||||
Platform: | Windows | ||||
Summary: | One way binding on checkbox to a bool breaks if the checkbox is clicked | ||||
Description: |
Simple scenario is having one bool of data and two check boxes. Bind both IsChecked too the bool. One TwoWay and one OneWay. Clicking the two way checkbox will work as expected but after clicking the OneWay the box will toggle but the data will naturally not change and now the binding is broken. Clicking the TwoWay checkbox after that will no longer have any effect on the OneWay checkbox. Running the same code in windows works. The behavior there is when the OneWay binding checkbox is clicked, it still visually gets checked (without changing the data) but the binding remains so checking the TwoWay binded checkbox will still effect the one way checkbox. Naturally my use case is more complicated and I need the binding to be intact. |
||||
Tags: | |||||
Steps To Reproduce: |
<CheckBox Margin="40,5" x:Name="x_onlyAllsowPitch_CheckBox" Content=" temp" FontSize="36" IsChecked="{Binding Temp, Mode=OneWay}"/> <CheckBox Margin="40,5" x:Name="x_onlyAllsowPitch_CheckBox2" Content=" temp2" FontSize="36" IsChecked="{Binding Temp, Mode=TwoWay}"/> bool temp; public bool Temp{ get { return temp; } set { temp = value; NotifyPropertyChanged("Temp"); } } |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2636 | [NoesisGUI] Unity3D | major | always | 2023-06-30 18:18 | 2024-01-22 11:40 |
Reporter: | stonstad | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | feedback | Product Version: | 3.2.1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2 | ||||
Platform: | Any | ||||
Summary: | Grid.Children.Add() Infinite Loop / Hang | ||||
Description: |
The following incorrect code causes Noesis to enter an infinite loop: Grid grid = new Grid(); Rectangle r1 = new Rectangle; grid.Children.Add(r1); grid.Children.Add(r1); // obviously wrong, but should not cause infinite loop/hang |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008777)
sfernandez 2023-09-27 13:05 |
I'm not able to reproduce this issue with the given code. I just get an error saying: "Child already has a logical parent" Could you try in an empty project to see if you can make it enter an infinite loop/hang? |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2949 | [NoesisGUI] Studio | minor | have not tried | 2023-12-15 11:03 | 2024-01-19 20:06 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | When animating just switching between TransfromGroup tab is recording keyframes | ||||
Description: |
- Create a Storyboard and start recording - Set a TransformGroup in any element - Just switching tabs in the TransformGroup will create keyframes for the first property in the selected tab |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3019 | [NoesisGUI] Studio | trivial | always | 2024-01-17 19:13 | 2024-01-18 21:28 |
Reporter: | fllorens | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | F2 shortcut not working for Asset Panel asset renaming | ||||
Description: | as seen here: https://youtu.be/6iouSTq37aM?feature=shared&t=146 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3021 | [NoesisGUI] Unreal | minor | always | 2024-01-18 15:19 | 2024-01-18 21:18 |
Reporter: | vmaurer | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.3 | ||
Target Version: | 3.2.3 | ||||
Platform: | Any | ||||
Summary: | LogClass warnings regarding unproper pathnames on start up | ||||
Description: |
It seems this problem only occurs in UE 5.3 LogClass: Warning: Property StructProperty UNoesisSettings::ApplicationResources defines MetaData key "AllowedClasses" which contains short type name "NoesisXaml". Suggested pathname: "/Script/NoesisRuntime.NoesisXaml". Module:NoesisRuntime File:Classes/NoesisSettings.h LogClass: Warning: Property ArrayProperty UNoesisSettings::DefaultFonts defines MetaData key "AllowedClasses" which contains short type name "FontFace". Suggested pathname: "/Script/Engine.FontFace". Module:NoesisRuntime File:Classes/NoesisSettings.h LogClass: Warning: Short type name "NoesisXaml" provided for TryFindType. Please convert it to a path name (suggested: "/Script/NoesisRuntime.NoesisXaml"). Callstack: LogClass: Warning: Short type name "NoesisXaml" provided for TryFindType. Please convert it to a path name (suggested: "/Script/NoesisRuntime.NoesisXaml"). Callstack: |
||||
Tags: | Unreal | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2868 | [NoesisGUI] Studio | minor | always | 2023-11-21 18:34 | 2024-01-18 19:34 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Show ControlStoryboardAction Storyboard as a dropdown selector | ||||
Description: |
We should show the Storyboard property for the ControlStoryboardAction as a dropdown with the available storyboards. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0009093)
dfranjic 2024-01-18 19:34 |
A dropdown is now shown with the implementation of ResourceProperty |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2940 | [NoesisGUI] Studio | minor | have not tried | 2023-12-12 17:40 | 2024-01-18 17:21 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Content clipped in control's dummy editor | ||||
Description: | as seen here: https://youtu.be/RDyPfWjnrrk?feature=shared&t=1814 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3013 | [NoesisGUI] Studio | minor | always | 2024-01-16 16:10 | 2024-01-17 15:14 |
Reporter: | maherne | Platform: | |||
Assigned To: | maherne | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Selected Element RenderTransform is applied to HoverAdorner | ||||
Description: | HoverAdorner should not be affected by the selected element's RenderTransform. Calculate width, height, and zoom scale instead. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2951 | [NoesisGUI] Studio | tweak | have not tried | 2023-12-15 11:25 | 2024-01-17 14:19 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Show only TransformGroup in transform properties | ||||
Description: |
Simplify the UX of transform properties by only using TransformGroup as value Automatically set RenderTransformOrigin to (0.5, 0.5) when anything is changed in the TransformGroup for the first time, and the property has its default value. The handler shown in the adorner it always starts at (0.5, 0.5) so it makes sense. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3014 | [NoesisGUI] Studio | crash | always | 2024-01-16 17:33 | 2024-01-17 00:29 |
Reporter: | jsantos | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Crash removing element in the navigator | ||||
Description: | Removing an element that was added before another one is crashing the studio | ||||
Tags: | |||||
Steps To Reproduce: |
1. Create a new Page 2. Add a StackPanel to the root Grid 3. Add a new StackPanel as child of the first one 4. Now add a new StackPanel before the last one (so both has the same parent, but the the last one goes first) 5. Delete the StackPanel created in 4. |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2988 | [NoesisGUI] C++ SDK | minor | always | 2024-01-03 08:00 | 2024-01-16 18:25 |
Reporter: | saji8k | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | feedback | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Support tvOS in the Native C++ SDK | ||||
Description: |
While tvOS is supported in Unity, it is not currently supported in the Native C++ SDK. This is because the application framework has not been implemented yet for tvOS. Please implement the application framework for tvOS, so that you can add support for tvOS to the native C++ SDK. |
||||
Tags: | |||||
Steps To Reproduce: | Open the Mac SDK. There are no tvOS workspaces or project files. | ||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0009051)
jsantos 2024-01-04 14:28 |
I can send you binaries of the core library for tvOS. Please, let me know what Noesis version you need. Thank you! Glad to accept changes to the app framework. Regarding visionOS, I will check that too, but we haven't tried this platform yet and probably more important changes are needed. |
(0009052)
saji8k 2024-01-04 15:07 |
If you could send the tvOS binaries for the latest version, 3.2.2, that would be great. Thank you for checking into visionOS. Since visionOS is based off of iOS, I am hoping the changes to the core library will be slim to none. |
(0009090)
jsantos 2024-01-16 18:24 (Last edited: 2024-01-16 18:25) |
Please, download binaries for tvOS (aligned with 3.2.2 version) at https://drive.google.com/file/d/1_bog5WrTssKiuDLrIfPIBAAY4eEZzKDm/view?usp=sharing Thanks for having a look at this! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3015 | [NoesisGUI] Studio | minor | always | 2024-01-16 17:39 | 2024-01-16 17:39 |
Reporter: | jsantos | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | "Save Changes" dialog not showing when closing TAB | ||||
Description: | If you close a TAB that is not active (middle mouse button for example) with unsaved changes, you lose them without a warning dialog | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3012 | [NoesisGUI] Studio | minor | always | 2024-01-15 13:35 | 2024-01-15 16:00 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Crash when selecting Visual States | ||||
Description: |
as seen here: https://youtu.be/TLlMEd3NqBM?feature=shared&t=306 The Studio crashes when selecting an element and then a Visual State while editing a control's new template |
||||
Tags: | |||||
Steps To Reproduce: |
1. Create a control template 2. Select an element of the template 3. Try to select a Visual state |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0009085)
dfranjic 2024-01-15 14:33 |
Already fixed. The fix will be available in 0.0.62 It's due to the motion path adorner, it's not checking whether a Storyboard exists (in case of visual states it doesn't exist until first animation). |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3010 | [NoesisGUI] Studio | minor | always | 2024-01-15 12:59 | 2024-01-15 15:53 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Crash when editing a path with the pen tool | ||||
Description: |
as seen here: https://youtu.be/z2pIHjyD0dU?feature=shared&t=1722 |
||||
Tags: | |||||
Steps To Reproduce: |
1. Create an open path with the pen tool 2. Deselect it and select it again with the direct selection tool 3. Select the Pen tool and try to click on an open end to resume the path creation. |
||||
Additional Information: | |||||
Attached Files: |
Page0.xaml (357 bytes) 2024-01-15 14:50 https://www.noesisengine.com/bugs/file_download.php?file_id=2081&type=bug Page0-2.xaml (615 bytes) 2024-01-15 14:58 https://www.noesisengine.com/bugs/file_download.php?file_id=2082&type=bug |
||||
Notes | |
(0009086)
dfranjic 2024-01-15 14:44 |
I can't seem to reproduce this. It seems that some step is either missing or some action before corrupted the document. |
(0009088)
fllorens 2024-01-15 14:50 (Last edited: 2024-01-15 14:51) |
Here is a open path I just did right now, select the path and click on the path tool, then try to click on the top end vertex |
(0009089)
fllorens 2024-01-15 14:58 |
Sorry, this is the good one: |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2839 | [NoesisGUI] Studio | minor | always | 2023-11-16 21:36 | 2024-01-15 14:34 |
Reporter: | maherne | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Animating SolidColorBrush Opacity resets Color | ||||
Description: | When animating SolidColorBrush, changing Opacity resets any Color change. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2434 | [NoesisGUI] Unity3D | minor | always | 2022-09-27 13:58 | 2024-01-15 11:41 |
Reporter: | jetjalopy | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | feedback | Product Version: | 3.1.5 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1.7 | ||||
Platform: | Windows | ||||
Summary: | ToggleButton with one way binding | ||||
Description: |
I have a ToggleButton in a view, its IsChecked property is bound to the computed property in OneWay mode. I call the PropertyChanged event if one of the elements is changed. It works fine if I don't click toggle button. But if I click on it, property will not reading anymore. Forum discussion: https://www.noesisengine.com/forums/viewtopic.php?t=2731 |
||||
Tags: | Unity | ||||
Steps To Reproduce: |
1. Create a toggle button in a xaml with a one way binding. 2. Create a computed property. 3. Raise a property changed event. 4. Click on the toggle button. 5. Raise a property changed event. |
||||
Additional Information: | |||||
Attached Files: |
Main.xaml (1,074 bytes) 2022-09-27 13:58 https://www.noesisengine.com/bugs/file_download.php?file_id=1690&type=bug Main.xaml.cs (3,135 bytes) 2022-09-27 13:58 https://www.noesisengine.com/bugs/file_download.php?file_id=1691&type=bug |
||||
Notes | |
(0008690)
spadapet 2023-09-01 08:14 |
I'm hitting this same issue, a fix would be nice. |
(0008695)
sfernandez 2023-09-04 16:03 |
Is this happening to you with NoesisGUI 3.2.1? |
(0008696)
spadapet 2023-09-04 18:44 |
For me I'm using NoesisGUI 3.2.1 on Windows (not Unity). This issue seemed related although I may be hitting something similar. I tried RadioButton and ToggleButton with OneWay and TwoWay bindings, but whenever I clicked a button, the IsChecked binding stopped working. I ended up styling a ListBox to look like radio buttons. If I'm hitting a different issue I can log a new bug, I'd rather use RadioButtons instead of a ListBox. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3006 | [NoesisGUI] Unity3D | minor | always | 2024-01-12 12:52 | 2024-01-12 20:00 |
Reporter: | kristoffer | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.3 | ||
Target Version: | 3.2.3 | ||||
Platform: | Any | ||||
Summary: | Unity FillRule Nonzero vs NonZero | ||||
Description: |
I have XAML with an element like: <PathGeometry Figures="..." FillRule="Nonzero"/> While using that in Unity 3D 2022.3.16 with Noesis 3.2.2 an error is shown in the Unity log: [NOESIS/E] ...: Cannot set value for 'PathGeometry.FillRule', unable to convert 'Nonzero' to a valid value That error can be removed simply by changing Nonzero to NonZero, so it's not a biggy. However External\NoesisGUI\Runtime\API\Proxies\FillRule.cs specifies it as Nonzero so I guess it should be changed in one place or the other for consitency? (Copied over from https://www.noesisengine.com/forums/viewtopic.php?t=3186) |
||||
Tags: | Unity, xaml | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0009084)
jsantos 2024-01-12 20:00 |
Fixed in r 13188 There was a typo in the reflection of the FillRule enumeration. Also, EnumConverters are now case-insensitive (as in WPF) Thanks for the feedback. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3008 | [NoesisGUI] Studio | minor | always | 2024-01-12 18:10 | 2024-01-12 19:55 |
Reporter: | fllorens | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Merged dictionary brush resource not shown | ||||
Description: | As seen here: https://youtu.be/z2pIHjyD0dU?feature=shared&t=101 | ||||
Tags: | |||||
Steps To Reproduce: |
1. Merge a dictionary with some brush resource 2. Create and select an element and apply resource to a brush 3. Notice how the brush is not updating in the viewport |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2724 | [NoesisGUI] Unity3D | major | always | 2023-10-12 14:57 | 2024-01-12 11:58 |
Reporter: | stonstad | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2.3 | ||||
Platform: | Any | ||||
Summary: | UI Non-Responsive When Deployed to XBOX | ||||
Description: |
Both my game and the Noesis Buttons sample does not respond to gamepad input when deployed to the XBOX. The Buttons Sample works in the Unity Editor if Gamepad actions are enabled on the NoesisView, but still does not work when deployed to XBOX. Noesis 3.2.2 Unity 2022.3.5f1. Latest GDK |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008812)
jsantos 2023-10-12 15:55 |
I think you need to install the xbox specific plugin for the Unity input system and remap the actions in the view. I am not sure if we can have this properly configured by default in our package (without having dependencies to consoles plugins). I will have a look at this ASAP. |
(0008813)
stonstad 2023-10-12 18:06 |
Thank you. I'm going to test this out and will reply back here. |
(0008816)
stonstad 2023-10-13 16:07 |
Awesome. All good! Thank you! I didn't understand and thought it was for XBOX specific APIs, like haptic/rumble motor APIs. Thank you! |
(0008826)
stonstad 2023-10-16 15:28 |
Thank you. Please feel free to close this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3005 | [NoesisGUI] Studio | minor | unable to reproduce | 2024-01-11 17:26 | 2024-01-12 11:53 |
Reporter: | fllorens | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Crash when editing a TabItem template | ||||
Description: |
As seen here: https://youtu.be/7aHHWI3tYD4?feature=shared&t=2068 I'm attaching the crash dump. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
App.StudioTool.dmp (245,882 bytes) 2024-01-11 17:26 https://www.noesisengine.com/bugs/file_download.php?file_id=2080&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3004 | [NoesisGUI] Studio | minor | always | 2024-01-11 17:19 | 2024-01-12 11:53 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Duplicating elements inside a template will not copy TemplatedParent bindings | ||||
Description: |
As seen here: https://youtu.be/7aHHWI3tYD4?feature=shared&t=1821 a brush TemplatedParent binding is not duplicated correctly. 'Foreground="{Binding Path=Foreground, RelativeSource={RelativeSource TemplatedParent}}" ' is copied as 'Foreground="{Binding Path=Foreground}"' in the duplicated element. |
||||
Tags: | |||||
Steps To Reproduce: |
1. Create a control template and edit it 2. Create an element inside with a TemplatedParent binding 3. Duplicate it |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0009079)
dfranjic 2024-01-11 19:24 |
Serialization of RelativeSource wasn't implemented. It should be fixed with r13178. Though, an issue I noticed is that the binding isn't applied when alt+dragging it, but only when I release the mouse button. But, at least it's properly written down in XAML and displayed after the mouse release. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3002 | [NoesisGUI] Studio | minor | always | 2024-01-11 13:38 | 2024-01-11 20:30 |
Reporter: | fllorens | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | xaml file not opening after closing it | ||||
Description: | As shown here: https://youtu.be/7JC-fKEYk7k?feature=shared&t=681 a file is saved, closed and then can't be opened again | ||||
Tags: | |||||
Steps To Reproduce: |
1. Create a new page with the Assets panel 2. Save and close it 3. Click on it again to try to reopen it. |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3003 | [NoesisGUI] Studio | minor | always | 2024-01-11 15:46 | 2024-01-11 17:32 |
Reporter: | fllorens | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Image brush editor not available inside button style | ||||
Description: |
As shown here: https://youtu.be/7aHHWI3tYD4?feature=shared&t=1821 Image and gradient brush editors are not shown inside a button style placed inside another control template |
||||
Tags: | |||||
Steps To Reproduce: |
1. Create a template for a control and place inside a repeatbutton or a button 2. create and edit a style for the button 3. Try to show the Image or gradient brush editor for a brush property |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2871 | [NoesisGUI] Studio | feature | have not tried | 2023-11-21 18:42 | 2024-01-11 14:15 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | low | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Animated translation should show a motion path | ||||
Description: | Animated elements with translation should show a motion path while editing the timeline. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2999 | [NoesisGUI] C++ SDK | minor | have not tried | 2024-01-09 17:16 | 2024-01-10 11:30 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.3 | ||
Target Version: | 3.2.3 | ||||
Platform: | Any | ||||
Summary: | Ambiguous symbol in Interaction.cpp in Unity builds | ||||
Description: |
From forum post: https://www.noesisengine.com/forums/viewtopic.php?t=3183'TriggerCollection': ambiguous symbol 2>(compiling source file 'CMakeFiles/NoesisUtils.dir/Unity/unity_3_cxx.cxx') 2>C:\_Development\Repositories\rtg\third_party\Noesis\Include\NsGui\FrameworkElement.h(43,35): 2>could be 'Noesis::UICollection<Noesis::BaseTrigger> Noesis::TriggerCollection' 2>C:\_Development\Repositories\rtg\libs\NoesisUtils\Public\NsApp\TriggerCollection.h(27,32): 2>or 'NoesisApp::TriggerCollection' We need to properly disambiguate the TriggerCollection references by using the namespace always. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2998 | [NoesisGUI] Studio | minor | always | 2024-01-09 12:58 | 2024-01-10 11:18 |
Reporter: | fllorens | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Jagged stroke on TextBlock with small StrokeThickness | ||||
Description: | Small stroke values assigned to textblocks (any font family) result in a jagged outline | ||||
Tags: | |||||
Steps To Reproduce: |
1. Create a textblock 2. Add a Stroke color and StrokeThickness with a small value |
||||
Additional Information: | |||||
Attached Files: |
JaggedStrokeTextBlock.jpg (107,683 bytes) 2024-01-09 12:58 https://www.noesisengine.com/bugs/file_download.php?file_id=2078&type=bug JaggedTextBlock.xaml (543 bytes) 2024-01-09 17:04 https://www.noesisengine.com/bugs/file_download.php?file_id=2079&type=bug |
||||
Notes | |
(0009068)
sfernandez 2024-01-09 16:40 |
Can't reproduce, can you paste the XAML here that reproduces it? |
(0009072)
fllorens 2024-01-09 17:04 |
Yes, here you are: |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2864 | [NoesisGUI] Studio | minor | always | 2023-11-21 18:22 | 2024-01-10 02:58 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Can't scroll the timeline more than the visible seconds | ||||
Description: |
The number of seconds visible in the Storyboard timeline depends on the Studio window size. And when the timeline is totally zoomed out, you cannot scroll horizontally to see more time. This makes impossible to add keyframes further away from the initial visible seconds. We should see how other software deal with this situation and allow to scroll at least for the Duration of the Storyboard. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0009029)
sfernandez 2023-12-14 18:07 |
As discussed we should allow to move the time marker past the end of the timeline, in that case it should continue scrolling as if the timeline is infinite. I think we should also allow ctrl + mouse wheel to zoom in-out the timeline. That way we can easily move to far away times. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2746 | [NoesisGUI] Studio | feature | have not tried | 2023-10-20 14:54 | 2024-01-10 02:58 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Allow selection animation timelines in the navigator and delete | ||||
Description: | It would be good if we could select an animation timeline (for a single property or for a group of properties that share part of the path) and delete everything by just pressing the Delete key. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2853 | [NoesisGUI] Studio | minor | sometimes | 2023-11-20 15:17 | 2024-01-10 02:57 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Timeline scrollbar right end is cropped | ||||
Description: | As seen here https://youtu.be/DC0YTtlfxD4?feature=shared&t=810 sometimes the right end of the scrollbar disappears under the properties panel | ||||
Tags: | |||||
Steps To Reproduce: |
1. Open a timeline and carefully resize the scrollbar until the scrollbar background appears to extend to the right 2. move the entire scrollbar to the right |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0009073)
dfranjic 2024-01-10 02:57 |
This happened because TimelineItem and time indicator would sometimes be to the right of timeline control area which would then cause the TimelineControl to protrude. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2981 | [NoesisGUI] Studio | minor | always | 2024-01-02 12:52 | 2024-01-10 02:55 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Timeline broken when zooming out and scrolling | ||||
Description: | As seen here https://youtu.be/Fsz0uIoyxjo?feature=shared&t=213 the timeline breaks apart zooming out ans scrolling. | ||||
Tags: | |||||
Steps To Reproduce: |
1. Open a storyboard 2. Zoom in and place or create a keyframe in a random time point, not a round number. 3. Zoom out, place the timeline pointer at the start and scroll. |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2992 | [NoesisGUI] Studio | minor | always | 2024-01-05 16:19 | 2024-01-09 19:38 |
Reporter: | fllorens | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | New color resource not shown in Solid Color Brush editor | ||||
Description: | as seen here: https://youtu.be/_BVXMra08jo?feature=shared&t=76 color resource is created (with the page selected) but not shown. | ||||
Tags: | |||||
Steps To Reproduce: |
1. Create or open a file 2. select root page and click on the background brush - solid color brush 3. select a color and save it as a resource using the plus icon |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0009071)
dfranjic 2024-01-09 17:03 |
This only happens for the root element (Page), because I assume the logic for gathering the available color resources doesn't check the element itself, but only parents, and since Page is the one containing the color resources, it doesn't show them. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2977 | [NoesisGUI] Studio | minor | always | 2023-12-28 12:04 | 2024-01-09 14:34 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | [ApplicationTutorial] [Buttons] [Detroit] App.xaml crashes the Studio | ||||
Description: | as seen here: https://youtu.be/zEjD7YHOmQE?feature=shared&t=23 trying to open App.xaml crashes the app. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2991 | [NoesisGUI] Studio | crash | always | 2024-01-04 14:25 | 2024-01-08 19:09 |
Reporter: | dstewart | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Studio Crashes when creating a New Page without a Noesis File loaded. | ||||
Description: |
Studio allows the user to create a New Page, even without a Noesis project file loaded. This action causes Studio to crash. If no Noesis File is loaded in the application, the "New Page" menu option should be disabled, greyed out, and ideally with a tooltip stating "An open project is required to create a new page". |
||||
Tags: | |||||
Steps To Reproduce: |
1) Open Noesis Studio, but do not load a Noesis File via the 'Open File hamburger menu item. 2) From the hamburger menu in the upper lefthand corner of the application, select File-->New page Observe the application crashing. |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2993 | [NoesisGUI] Studio | minor | always | 2024-01-05 16:43 | 2024-01-08 14:04 |
Reporter: | fllorens | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Grouping canvas children inside stackpanel creates unnecessary margins | ||||
Description: | as seen here: https://youtu.be/_BVXMra08jo?feature=shared&t=318 grouping canvas children inside a stackpanel makes the stackpanel inherit the first child top and left properties, but creates unnecessary margins to the stackpanel elements. | ||||
Tags: | |||||
Steps To Reproduce: |
1. Create a canvas and place a pair of elements inside 2. Select the elements and group them inside a Stackpanel 3. Notice the margins |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2994 | [NoesisGUI] Studio | minor | always | 2024-01-05 16:46 | 2024-01-08 11:05 |
Reporter: | fllorens | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Creating a TextBlock style crashes the Studio | ||||
Description: | As shown here: https://youtu.be/_BVXMra08jo?feature=shared&t=580 | ||||
Tags: | |||||
Steps To Reproduce: |
1. Create a textblock 2. With the adorner or the context menu try to create a style |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2970 | [NoesisGUI] Studio | minor | always | 2023-12-22 11:00 | 2024-01-05 12:37 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Problems working with MediaElements | ||||
Description: |
- Select a MediaElement in the "Add Element" panel, and draw it in the viewport. The draw rectangle will move weird and placed in wrong positions when crossing the snapping guides (it happens also for the Image element) - To select the Source (video/audio) you need to write the path manually in the properties panel. We should show the available media assets with a dropdown as we do for images - We should also allow dragging and dropping videos to the viewport and automatically create the MediaElement - When the Source video is selected it starts playing automatically. We should create the MediaElement used in edition mode scope so it doesn't play (setting LoadingBehavior to Manual maybe?) - Although the MediaElement gets updated every frame, it doesn't produce any render commands, so the viewport is not updated when playing |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0009053)
sfernandez 2024-01-05 12:37 |
[DONE] We should also allow dragging and dropping videos to the viewport and automatically create the MediaElement |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2987 | [NoesisGUI] C++ SDK | feature | have not tried | 2024-01-03 07:48 | 2024-01-04 14:29 |
Reporter: | saji8k | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2 | ||||
Platform: | Any | ||||
Summary: | Use Multi-Channel Signed Distance Fields to get Sharper Text Corners | ||||
Description: |
When displaying text with NoesisGUI, the corners of each character are rounded and not sharp. This is occurring because text in NoesisGUI is rendered using (Single-Channel) Signed Distance Fields. Please add support using Multi-Channel Signed Distance Fields to rendering text. This would allow for sharp corners while still maintaining good performance. Pretty much every bespoke engine uses MSDF these days Godot - https://docs.godotengine.org/en/stable/tutorials/ui/gui_using_fonts.html Evergine - https://evergine.com/new-font-and-text-feature/ Hazel - https://github.com/TheCherno/Hazel Introduction to MSDF Text Rendering Video by TheCherno https://www.youtube.com/watch?v=J26hm7r-k6A |
||||
Tags: | |||||
Steps To Reproduce: |
Create a TextBlock with the Arial FontFamily and a huge FontSize (like 300). Compare the visual output of Blend and NoesisGUI renderers. In the Blend renderer, the corners of each character are sharp. In the NoesisGUI renderer, the corners of each character are rounded. |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2984 | [NoesisGUI] Unity3D | trivial | always | 2024-01-02 17:21 | 2024-01-03 15:06 |
Reporter: | fllorens | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | [BackgroundBlur] [CustomAnimation] [Rive] font not found | ||||
Description: |
as seen here: https://youtu.be/IpzgMZRyOmU?feature=shared&t=113 opening BackgroundBlur sample with Unity 2022.2.10f1 throws the following error: Font not found: './#Rajhdani SemiBold' Also missing font error in Rive and CustomAnimation samples. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2980 | [NoesisGUI] Unity3D | crash | always | 2024-01-02 11:14 | 2024-01-03 11:05 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.3 | ||
Target Version: | 3.2.3 | ||||
Platform: | Any | ||||
Summary: | Crash clicking TextBox used in ItemsControl item template | ||||
Description: |
From forums post: https://www.noesisengine.com/forums/viewtopic.php?t=3176 |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
CrashTextBox.zip (439,186 bytes) 2024-01-02 11:14 https://www.noesisengine.com/bugs/file_download.php?file_id=2068&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2985 | [NoesisGUI] C++ SDK | minor | always | 2024-01-02 17:22 | 2024-01-02 19:55 |
Reporter: | xueyan.mu@zwift.com | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.3 | ||
Target Version: | 3.2.3 | ||||
Platform: | Any | ||||
Summary: | Selected Item in Combobox does not have updated display text when its content changes | ||||
Description: |
Hello! I currently have a ComboBox where, when I change the language of my game, the current value that is shown does not change language. Then I received a response from sfernandez: I've just tried and this works as expected in WPF: when selected item changes its Content, it automatically updates the parent ComboBox display text. So it is clearly a bug in Noesis, no need to create any custom ComboBox. Could you please report it in our bugtracker? |
||||
Tags: | |||||
Steps To Reproduce: |
this is the xaml and c++ code I used: XAML: <StackPanel> <TextBlock Text="{DynamicResource title}"/> <ComboBox SelectedIndex="{Binding SelectedItemIndex, Mode=TwoWay}"> <ComboBoxItem Content="{DynamicResource ex1}"/> <ComboBoxItem Content="{DynamicResource ex2"/> <ComboBoxItem Content="{DynamicResource ex3}"/> </ComboBox> </StackPanel> C++: int ExampleViewModel::GetSelectedItemIndex() const { return mItemIndex; } void ExampleViewModel::SetSelectedItemIndex(int index) { mItemIndex = index; OnPropertyChanged("SelectedItemIndex"); UpdateFilteredList(); } ... NsProp("SelectedItemIndex", &ExampleViewModel::GetItemIndex, &ExampleViewModel::SetItemIndex); |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0009050)
sfernandez 2024-01-02 19:55 |
Fixed in changeset 13135 |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2983 | [NoesisGUI] Studio | minor | always | 2024-01-02 17:21 | 2024-01-02 17:30 |
Reporter: | dstewart | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Unable to Create Grid Definitions when Child of an Auto Row | ||||
Description: |
There appears to be a bug where you are unable to create rows in an auto-proportioned. grid element which is child to another grid. This sentence is not very clear, so the best way is to follow the repro steps below. |
||||
Tags: | |||||
Steps To Reproduce: |
1) Create a Parent 3-Row Grid, with the topmost row definition set to "Auto'. The two bottom rows can be set to 1* each. 2) Place a child Grid inside the 3-Row Grid created in Step 1, and assign it to Row 0 (the first row from the top of the screen) 3) Place a text Block inside this Child Grid element. Normally, at this point, the first Row of the Parent Grid should resize to the height of the text block. 4) Now, attempt to create 3 rows, of 1 Star each, inside of this Child Grid. Observe how the rows do not render as three equally-sized rows. 5) Change the Parent's Row 0 Value from Auto, to any fixed size, either in Pixels of Stars. Observe how the Rows render properly. Expected results: Proportional Star Grid's rows should render even if inside of an Auto-Sized row. |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2982 | [NoesisGUI] Studio | minor | have not tried | 2024-01-02 14:43 | 2024-01-02 14:47 |
Reporter: | dstewart | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Grid Definition Unable to be set to a star value | ||||
Description: |
I'm not entirely sure how to reproduce this, but attached you will find a video of this in action. Row 3 is not accepting to be set to a Star Value, and also shows numbers without a unit attached to it. |
||||
Tags: | |||||
Steps To Reproduce: | N/A - sorry :( | ||||
Additional Information: | |||||
Attached Files: |
2024-01-02 08-39-53.mp4 (4,095,165 bytes) 2024-01-02 14:43 https://www.noesisengine.com/bugs/file_download.php?file_id=2069&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2944 | [NoesisGUI] Studio | minor | always | 2023-12-13 18:41 | 2024-01-02 13:42 |
Reporter: | fllorens | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | unable to reproduce | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Dragging an image to the viewport renders it without size | ||||
Description: | as seen here https://youtu.be/38NboknWlLk?feature=shared&t=1193 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2895 | [NoesisGUI] Studio | feature | have not tried | 2023-11-24 15:46 | 2024-01-02 13:37 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Show "margins" for children inside Canvas | ||||
Description: |
We should show the "margins" (left/right and top/bottom) applied to the child inside the Canvas. Also, it would be nice to have a similar behavior as with the Grid when dragging a child, so it updates Canvas.Left or Canvas.Right properties depending if the element is near the left or right edges. And in that case, we should have a "lock" toggle to allow the user to anchor the child to one of the sides, so dragging the child will always update the locked property. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2860 | [NoesisGUI] Studio | crash | have not tried | 2023-11-21 17:56 | 2024-01-02 13:14 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Crash using a BitmapImage in design DataContext | ||||
Description: |
1. Create a dynamic class in Data panel. 2. Add an object property with type BitmapImage 3. Assign data context to root object 4. Edit image property and assign a BitmapImage object 5. Choosing from the UriSource combo box an image will crash the Studio |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0009043)
sfernandez 2023-12-21 16:11 |
I think it is with BitmapSource instead |
(0009044)
dfranjic 2023-12-21 17:58 |
Have you been able to reproduce this bug lately? I can't reproduce it following the given steps (with BitmapSource or BitmapImage). If it's not fixed, I feel like something has to be done before these steps. With r13123 I fixed an issue where XamlUndoRedoCommand would try to access design data context objects NodeObject as if they're part of the XAML document you're viewing, but since they're handled differently it caused a crash. Fix for the 0002956 I committed a week ago could've also fixed this bug, it could've been the same cause. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2979 | [NoesisGUI] C++ SDK | minor | always | 2024-01-02 04:53 | 2024-01-02 10:55 |
Reporter: | saji8k | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.3 | ||
Target Version: | 3.2.3 | ||||
Platform: | Any | ||||
Summary: | VS Warning that Variable 'Noesis::QueryCursorEventArgs::cursor' is uninitialized | ||||
Description: |
I keep getting the following warning when compiling. Warning C26495 Variable 'Noesis::QueryCursorEventArgs::cursor' is uninitialized. Always initialize a member variable (type.6). \Include\NsGui\UIElementEvents.inl 147 https://learn.microsoft.com/en-us/cpp/code-quality/c26495?view=msvc-170 Changing Line 479 in UIElementEvents.h from: mutable Cursor* cursor; to: mutable Cursor* cursor = nullptr; removes the warning. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0009049)
sfernandez 2024-01-02 10:55 |
Thanks a lot for reporting this! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2978 | [NoesisGUI] Studio | minor | always | 2023-12-28 12:40 | 2023-12-29 11:17 |
Reporter: | fllorens | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | [ApplicationTutorial] Elements missing when opening with Studio | ||||
Description: | As seen here https://youtu.be/zEjD7YHOmQE?feature=shared there are elements missing in the Studio. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2976 | [NoesisGUI] Studio | feature | N/A | 2023-12-28 11:53 | 2023-12-29 11:12 |
Reporter: | fllorens | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Loaded Triggers should be disabled when the viewport is not in play mode | ||||
Description: |
As we have seen in a lot of tests, animations started by triggers are distracting and interfere with layout and asset work. The triggers should be somewhat disabled when in normal mode, to prevent this problems. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2973 | [NoesisGUI] Studio | feature | N/A | 2023-12-27 13:04 | 2023-12-27 13:12 |
Reporter: | dstewart | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | WYSIWYG Properties for MediaElement | ||||
Description: |
We are looking to add the following controls to the MediaElement: Features marked with asterisks (**) denote new, or modified features. ---------------------------------------------------------------------------------------------------- Position: [Input Field] -- (Default: Current Timestamp) **Source: [Dropdown] -- { Media File List } -- (Default: None) Stretch: [Dropdown] -- { None | Fill | Uniform | UniformToFill } -- (Default: UniformToFill) Stretch Direction: [Dropdown] -- { UpOnly | DownOnly | Both } -- (Default: Both) **Start Playback at: [Dropdown] -- {Start of File | Custom Timestamp} -- (Default: Start of File) **Custom Start Timestamp: [Input Field] -- (Default: Empty. If user inputs a value, it changes the Start Playback to 'Custom Timestamp') **End Playback at: [Dropdown] -- {End of File | Custom Timestamp} -- (Default: Start of File) **Custom End Timestamp: [Input Field] -- (Default: Empty. If user inputs a value, it changes the End Playback to 'Custom Timestamp') **Media End Behavior: [Dropdown] -- { Loop From Start | Freeze End Frame | Unload File | Jump to Timestamp | Load New Media } -- (Default: Freeze Final Frame) **Media End Restart Timestamp: [Input Field] -- (Default: Empty. If user inputs a value, it changes the Media End Behavior to "Jump to Timestamp") **Media End Next Media Source: [Dropdown] -- { Media File List } -- (Default: None. If user selects a file from the dropdown, it changes the Media End Behavior to "Load New Media", and clears the Media End Restart Timestamp Input Field to Empty) SpeedRatio: [Input Field] -- (Default: 1) IsMuted: [Checkbox] -- (Default: Off) Volume: [Input Field] -- (Default: 0.5) Balance: [Input Field] -- (Default: 0) LoadedBehavior: [Dropdown] -- { Close| Stop| Manual | Play |Pause } -- (Default: Play) UnloadedBehavior: [Dropdown] -- { Close| Stop| Manual | Play |Pause } -- (Default: Close) Scrubbing Enabled: [CheckBox] -- (Default: Off) |
||||
Tags: | |||||
Steps To Reproduce: | N/A | ||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2630 | [NoesisGUI] C# SDK | feature | N/A | 2023-06-21 13:01 | 2023-12-26 19:52 |
Reporter: | dauthleikr | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | C# SDK Vulkan RenderContext support | ||||
Description: |
Please provide the vulkan render device via the .NET SDK. See: https://github.com/Noesis/Managed/issues/6 |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0009047)
dauthleikr 2023-12-26 11:50 |
Hi, are you guys able to provide an ETA here? Is there any way we can help (open source contributions?) |
(0009048)
jsantos 2023-12-26 19:51 |
Following our C++ implementation (available in the C++ SDK) you could build your own version in C#. This what we are going to do (and what we did with the other renderers). |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2971 | [NoesisGUI] Studio | minor | always | 2023-12-22 12:53 | 2023-12-26 13:08 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | No root grid on DataTemplate | ||||
Description: | There's no grid shown in the navigator panel of a newly created DataTemplate | ||||
Tags: | |||||
Steps To Reproduce: |
1. In resources panel create a new DataTemplate 2. Edit it and look at the Navigatot panel |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2964 | [NoesisGUI] Studio | major | always | 2023-12-20 13:05 | 2023-12-22 18:17 |
Reporter: | dfranjic | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Dragging the RGBA textbox values in the brush editor updates the value in preview but doesn't write it down in XAML | ||||
Description: |
Dragging the NumericInputs of a color picker in a SolidColorBrush will change the color in the preview but it won't be written down in the XAML. Entering RGBA values in the textbox and then pressing Enter key works, as does using the color picker control directly. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2967 | [NoesisGUI] Studio | minor | have not tried | 2023-12-20 19:09 | 2023-12-22 16:29 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Crash when trying to edit foreground of a style | ||||
Description: | as seen here: https://youtu.be/uJoLl116edE?feature=shared&t=855 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0009046)
dfranjic 2023-12-22 16:29 |
The crashes would occur because Studio assumed the Style must have a <Setter/> for that property (Foreground in this case) when in fact it didn't have the <Setter/> because it came from the BasedOn Style object. Should be fixed with r13127. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2972 | [NoesisGUI] Studio | minor | always | 2023-12-22 15:41 | 2023-12-22 16:06 |
Reporter: | dfranjic | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Crash when deleting a font file from a project | ||||
Description: |
To reproduce this, make sure that the font file is not open in the Noesis Studio and then try deleting the font. This happens because Project::HandleFileRemove() expects the ProjectFile::GetData() to host the value of FontDocument type. But, since the FontDocument isn't open in the Studio, ProjectFile::GetData() will return nullptr. Clarification: the font data is needed to get the actual font family name from it (arialn.ttf -> "Arial Narrow") |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0009045)
dfranjic 2023-12-22 16:06 |
Fixed with r13126 by using Project::mProjectFonts list to get the font family name from a font file path. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2877 | [NoesisGUI] Studio | minor | always | 2023-11-23 12:09 | 2023-12-21 18:33 |
Reporter: | fllorens | Platform: | |||
Assigned To: | maherne | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | No way to draw elements in a parent grid with children panels | ||||
Description: |
As seen here https://youtu.be/nyaiHuqcR08?feature=shared&t=1129 there's no way to draw to a parent grid if there's another child panel blocking it. The panel's adorner inform the user of the action but it can't be bypassed holding Ctrl key. |
||||
Tags: | |||||
Steps To Reproduce: |
1. Create a panel inside another one 2. Try to draw an element over the child panel, holding Ctrl key |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008982)
sfernandez 2023-11-23 12:56 |
There is a way to draw to a parent panel when it has other child panels. You can "lock" the child panel so it can't be a target of the added/drawn elements. Anyway, I've seen that Blend keeps the selection as parent of the newly created elements. So if you have a Grid selected, and that grid has another panel covering it entirely, any new added/dreawn elements are still added to the selected Grid. If the selected element doesn't allow adding children, then its parent will be the target of the newly added elements. We should do something like that. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2966 | [NoesisGUI] Studio | minor | have not tried | 2023-12-20 16:07 | 2023-12-20 19:56 |
Reporter: | dfranjic | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Opening a color resource list for the Color property in a brush editor triggers a ApplyColorResource command | ||||
Description: |
Just clicking on the toggle to show all the available color resources for a brush property is going to trigger an EventTrigger which calls ApplyColorResource command. This makes the Studio modify the XAML even though no resource was clicked. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2813 | [NoesisGUI] Studio | minor | always | 2023-11-02 13:42 | 2023-12-20 14:23 |
Reporter: | fllorens | Platform: | |||
Assigned To: | maherne | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Cancelling action with Esc key locks Navigator | ||||
Description: | As seen here https://youtu.be/K0r8EANNB6k?feature=shared&t=3680 cancelling an element's translation makes the Navigator panel locked and unselectable. | ||||
Tags: | |||||
Steps To Reproduce: |
1. Select and move an element 2. While moving hit the Esc key 3. Try to select an element on the NAvigator panel |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2884 | [NoesisGUI] Studio | minor | have not tried | 2023-11-23 13:33 | 2023-12-20 12:36 |
Reporter: | fllorens | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Grid reverting to RowSpan=3 even after resizing | ||||
Description: | Weird behavior seen here https://youtu.be/nyaiHuqcR08?feature=shared&t=4010 with a grid that seems to revert to a Grid.RowSpan=3 after reinitializing the Studio. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0009042)
sfernandez 2023-12-20 12:36 |
It looks like this was happening because xaml was malformed with Grid attached properties being set multiple times. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2947 | [NoesisGUI] Studio | minor | have not tried | 2023-12-14 15:04 | 2023-12-20 12:32 |
Reporter: | fllorens | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Crash when reordering grid element | ||||
Description: | as seen here: https://youtu.be/38NboknWlLk?feature=shared&t=3033 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2958 | [NoesisGUI] Studio | minor | always | 2023-12-15 18:16 | 2023-12-20 12:31 |
Reporter: | fllorens | Platform: | |||
Assigned To: | maherne | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Selecting a Textblocks's child crashes the Studio | ||||
Description: | as seen here: https://youtu.be/38NboknWlLk?feature=shared&t=3248 | ||||
Tags: | |||||
Steps To Reproduce: |
1. Add a textblock to the Navigator 2. Add a grid as a child of the textblock 3. Save, close and open it again 4. Try to select the grid |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2957 | [NoesisGUI] Studio | minor | have not tried | 2023-12-15 18:13 | 2023-12-20 12:05 |
Reporter: | fllorens | Platform: | |||
Assigned To: | maherne | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Crash when dragging an image to the navigator | ||||
Description: | as seen here: https://youtu.be/38NboknWlLk?feature=shared&t=3067 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0009040)
fllorens 2023-12-20 11:46 |
Crash seems fixed in 0.00.55 |
(0009041)
maherne 2023-12-20 12:05 |
Fixed in an earlier commit. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2925 | [NoesisGUI] Studio | minor | always | 2023-12-11 15:33 | 2023-12-19 22:06 |
Reporter: | maherne | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Exception while editing an element name in the Navigator | ||||
Description: | While editing an element name in the Navigator, if you press the Delete key until the caret is at the end of the name, and then press Delete again, you'll hit a read access violation exception in \Gui\Editor\Src\SetElementNameCommand.cpp, line 32. It seems that Node is deleted before the name is set. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2942 | [NoesisGUI] Studio | feature | N/A | 2023-12-12 19:54 | 2023-12-19 20:59 |
Reporter: | maherne | Platform: | |||
Assigned To: | maherne | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Properties panel rework | ||||
Description: |
- Show attached properties based on the selected element, and it's parent. - Rework property categories, priority/ordering, and importance (primary/secondary). Include categories for specific controls. - Display non-important/secondary properties in an expander within each category. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2963 | [NoesisGUI] Studio | minor | always | 2023-12-19 19:08 | 2023-12-19 20:59 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Duplicated textblocks don't copy FontFamily property | ||||
Description: | as seen here: https://youtu.be/VYOW_P9AfhA?feature=shared&t=2675 | ||||
Tags: | |||||
Steps To Reproduce: |
1. Create a textblock and set some properties and a FontFamily 2. Duplicate the textblock 3. Close the page and open it again |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0009039)
dfranjic 2023-12-19 20:59 |
The serializer was saving the duplicated TextBlock's FontFamily as following:<TextBlock> <TextBlock.FontFamily> <FontFamily/> </TextBlock.FontFamily> </TextBlock> It didn't save the source of the font family, thus why no font was applied. It should be fixed with r13110. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2960 | [NoesisGUI] Studio | minor | always | 2023-12-19 11:04 | 2023-12-19 19:07 |
Reporter: | dstewart | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Typed Input for Opacity Does Not Register | ||||
Description: |
The Opacity property on elements can currently be adjust by mouse (by either dragging the slider, or clicking on the value input field, and using the mouse wheel). However, the Opacity cannot be adjusted by typing in a new value in the input field. |
||||
Tags: | |||||
Steps To Reproduce: |
1A) Create a Grid element on the canvas. 1B) In the Properties panel for the Grid element, under the 'Appearance' section, click the Opacity numerical value, and type in a different value between 0 and 100. Observe how the opacity does not change. Expected results: Typed value saves, and takes effect. 2A) Create a Grid element on the canvas. 2B) In the Properties panel for the Grid element, under the 'Appearance' section, open the 'Background' colour picker. 2C) Under the tab for 'Solid Color Brush', click the Opacity numerical value, and type in a different value between 0 and 100. Observe how the opacity does not change. Expected results: Typed value saves, and takes effect. |
||||
Additional Information: | |||||
Attached Files: |
OpacityBug.jpg (86,718 bytes) 2023-12-19 11:04 https://www.noesisengine.com/bugs/file_download.php?file_id=2063&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2961 | [NoesisGUI] Studio | major | always | 2023-12-19 12:25 | 2023-12-19 19:07 |
Reporter: | dstewart | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | New Colours Are Not Registered During Animation Recordings | ||||
Description: |
When attempting to perform an operation of having a text colour change from a Button "Normal" to "MouseOver" state, the colour cannot be changed. Marking this as "Major" because without this, it's going to be very difficult to do even the simplest of demos of Button Interactive styles. |
||||
Tags: | |||||
Steps To Reproduce: |
1) Place any Button on the canvas, and set it's size to 800x400 2) Right-Click on the Button, and under the 'Template' menu, select 'Create'. 3) Create a new TextBlock element within the button, and in the Properties panel, under the TextBlock Header - set the Text Property to be a Binding of type: Relative | Mode: Templated Parent | Path: Content. 4) Whilst inside the Template of the Button, under the Animations/Visual States, navigate to the 'MouseOver' CommonState. 5) Press "Record" on the Animation Timeline for this state. 6) Attempt to change the colour of the TextBlock to a specified RGB, HSL, or Hex value. Observe how the colours input do not match the colours reproduced on-screen. 7) Press the "Record" button again to end the recording. 8) Click back and forth between the 'Normal' and 'MouseOver' states and notice how the colour changes have not applied as expected. |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2815 | [NoesisGUI] Studio | minor | always | 2023-11-02 13:59 | 2023-12-19 18:06 |
Reporter: | fllorens | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Group into Viewbox is adding weird size and margins | ||||
Description: |
As seen here https://youtu.be/K0r8EANNB6k?feature=shared&t=4120 And also here: https://youtu.be/nyaiHuqcR08?feature=shared&t=386 |
||||
Tags: | |||||
Steps To Reproduce: |
1. Create a grid and draw a button inside 2. Reset the grid's layout 3. Using the context menu, group the grid into a Viewbox 4. Look at the Height, Width and Margin values |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008962)
jsantos 2023-11-21 16:07 |
There are similar issues when grouping into Grid |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2962 | [NoesisGUI] Studio | minor | have not tried | 2023-12-19 15:00 | 2023-12-19 18:05 |
Reporter: | dstewart | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Bound Elements Display In-Editor, but not when Running | ||||
Description: |
When Binding Data to an Element (eg: a TextBlock), when in-Editor, the output displayed is correct, and matches the ViewModel data. However, when pressing "Start" and running the UI, all elements with bindings lose their content. |
||||
Tags: | |||||
Steps To Reproduce: |
1) Create a TextBlock on the Canvas of a new Page. 2) Create a Dynamic Class containing a Text String field. 3) Create a ViewModel Object containing the Text String field. 4) Assign the ViewModel to the entire Page. 5) Assign the ViewModel's text string to the TextBlock. Generate Data for the entire page. Observe how the TextBlock is populated with the ViewModel's data. 6) Press 'Start' to run the Interface. Observe how the TextBlock loses its content. Expected Results: ViewModel content is present both in-editor and when running. |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0009038)
dfranjic 2023-12-19 15:41 |
This happens when starting the play mode from within the template/style scope. It's still a bug though and has been fixed with r13103. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2920 | [NoesisGUI] Studio | minor | have not tried | 2023-12-05 17:44 | 2023-12-19 12:21 |
Reporter: | fllorens | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Page brush not updating | ||||
Description: | as seen here: https://youtu.be/Q6D2MOPir84?feature=shared&t=124 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2917 | [NoesisGUI] Studio | minor | always | 2023-12-04 19:18 | 2023-12-19 12:20 |
Reporter: | fllorens | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Editing an asset name shows a hovering adorner | ||||
Description: | as seen here https://youtu.be/Q6D2MOPir84?feature=shared&t=13 | ||||
Tags: | |||||
Steps To Reproduce: |
1. Edit an asset's name (f2) 2. Click with the caret to deselect 3. Click and drag to select text. A hovering adorner will appear. |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2878 | [NoesisGUI] Studio | minor | always | 2023-11-23 12:16 | 2023-12-19 12:09 |
Reporter: | fllorens | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Image elements are created with no size | ||||
Description: | As seen here https://youtu.be/nyaiHuqcR08?feature=shared&t=1759 creating an Image element by dragging results in a width/height 0 element. | ||||
Tags: | |||||
Steps To Reproduce: | 1. Drag an image element from the Add Element panel to the viewport | ||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2875 | [NoesisGUI] Studio | minor | unable to reproduce | 2023-11-23 11:46 | 2023-12-19 12:08 |
Reporter: | fllorens | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Oversized selection outline for paths | ||||
Description: | as seen here https://youtu.be/nyaiHuqcR08?feature=shared&t=741 selecting some paths grouped into canvas and viewbox shows an oversized selection outline | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2959 | [NoesisGUI] Studio | minor | always | 2023-12-18 18:59 | 2023-12-19 11:09 |
Reporter: | dstewart | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Windows | ||||
Summary: | Hex Value Input Does not Register in Colour Picker | ||||
Description: | Typing Hex Values, or Copy-Pasting Hex Values into the Colour Picker does not produce a new colour for an element. | ||||
Tags: | |||||
Steps To Reproduce: |
Repro Steps: 1) Add, or Select any Grid element on a page. 2) Attempt to change the background colour of the Grid by either typing: a) #FFFFFFFF or b) Copy-Pasting #FFFFFFFF into the Hex value text input field. 3) Press [Enter] to confirm. Observe how the colour reverts to the hex value that was entered prior to inputting the newest value. Note that the same error does *not* occur when editing RGB or HSB values. |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2771 | [NoesisGUI] Studio | crash | always | 2023-10-25 12:48 | 2023-12-19 11:09 |
Reporter: | dfranjic | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Clearing SolidColorBrush.Color value causes a crash | ||||
Description: |
When the SolidColorBrush is stored inline in XAML, such as:<Border Background="#FFFFFF"/> the Studio crashes when clearing the Color property of the Background Brush. That's because the ColorProperty doesn't have a owner NodeObject (<SolidColorBrush/>) which the ClearLocalValue method expects. Studio expected the following code: <Border> <Border.Background> <SolidColorBrush Color="#FFFFFF"/> </Border.Background> </Border> |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2956 | [NoesisGUI] Studio | minor | always | 2023-12-15 15:12 | 2023-12-15 21:04 |
Reporter: | maherne | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Crash when editing Design Data in a Collection | ||||
Description: |
When trying to edit the Design Data value of a property inside of a collection, an exception read access violation (this is nullptr) is thrown: Gui.Editor.dll!Editor::DocumentObjectTreeItem::GetDocument() Line 70 at C:\Source\Noesis\NoesisEditor\NoesisSDK\Native\Src\Packages\Gui\Editor\Src\DocumentObjectTreeItem.cpp(70) Gui.Editor.dll!Editor::Helper::FindPropertyPath(Editor::XamlDocument * doc, Noesis::NodeObject * node, unsigned int * parents, Editor::DocumentObjectTreeItem * customTreeItem) Line 599 at C:\Source\Noesis\NoesisEditor\NoesisSDK\Native\Src\Packages\Gui\Editor\Src\PropertyHelper.cpp(599) Gui.Editor.dll!Editor::Helper::FindProperty(Editor::DocumentObjectTreeItem * treeItem, Noesis::NodeObject * node, Noesis::Symbol owner, Noesis::Symbol prop) Line 713 at C:\Source\Noesis\NoesisEditor\NoesisSDK\Native\Src\Packages\Gui\Editor\Src\PropertyHelper.cpp(713) Gui.Editor.dll!Editor::UpdateDataContextPropertyCommand::Execute() Line 222 at C:\Source\Noesis\NoesisEditor\NoesisSDK\Native\Src\Packages\Gui\Editor\Src\UpdateDataContextPropertyCommand.cpp(222) Gui.Editor.dll!Editor::ObjectPropertySource::ApplyValue(const Noesis::ArrayRef<Editor::PropertyUpdateRequest> & props, bool isLocalOnly, bool canAnimate) Line 431 at C:\Source\Noesis\NoesisEditor\NoesisSDK\Native\Src\Packages\Gui\Editor\Src\ObjectPropertySource.cpp(431) Gui.Editor.dll!Editor::Property::OnSetValue(Noesis::BaseComponent * param) Line 643 at C:\Source\Noesis\NoesisEditor\NoesisSDK\Native\Src\Packages\Gui\Editor\Src\Property.cpp(643) |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2955 | [NoesisGUI] Studio | minor | always | 2023-12-15 15:07 | 2023-12-15 21:03 |
Reporter: | maherne | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Dynamic Type Backup Issues | ||||
Description: |
- Adding/changing Dynamic Types are only saved on a manual save, a crash will cause all changes to be lost. - Instances of Dynamic Type data are only saved on a manual save, a crash will cause all changes to be lost. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2880 | [NoesisGUI] Studio | minor | always | 2023-11-23 12:26 | 2023-12-15 10:54 |
Reporter: | fllorens | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | transformGroup's Flip Y/X axis buttons do nothing | ||||
Description: | as seen here: https://youtu.be/nyaiHuqcR08?feature=shared&t=2206 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2654 | [NoesisGUI] Unity3D | feature | always | 2023-07-24 14:14 | 2023-12-14 20:09 |
Reporter: | picpic2006 | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.3 | ||
Target Version: | 3.2.3 | ||||
Platform: | Any | ||||
Summary: | Rive input two way binding | ||||
Description: |
it would be very helpful to have my rive animation updating this input on my view model when mouse interaction on it, when in two way binding. Today i can set it from my view model, but clic on animation doesn't update the rive input. |
||||
Tags: | C#, Rive | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2858 | [NoesisGUI] Studio | minor | random | 2023-11-21 17:40 | 2023-12-14 14:38 |
Reporter: | fllorens | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Mouse wheel scrolling the viewport instead of zooming | ||||
Description: | As seen here https://youtu.be/DC0YTtlfxD4?feature=shared&t=1841 it happens randomly, behaving as if the Ctrl key is held. It starts to work again after reinitializing the Studio. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008963)
sfernandez 2023-11-21 18:14 |
More wrong behaviors because of this issue: - Clicking in the Navigator will extend the selection (multiple selection) instead of changing the selection to the clicked element |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2943 | [NoesisGUI] C++ SDK | feature | have not tried | 2023-12-13 16:00 | 2023-12-14 13:40 |
Reporter: | Phodopus | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Implement iOS-like rubberband (bounce) and inertia effect in Scrollviewer | ||||
Description: | It would be nice for mobile games/apps if NoesisGUI would natively support an iOS-like inertia and bounce effect for a Scrollviewer as discused here: https://www.noesisengine.com/forums/viewtopic.php?t=1234 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2945 | [NoesisGUI] Studio | minor | have not tried | 2023-12-13 18:48 | 2023-12-14 13:39 |
Reporter: | fllorens | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Deleting asset from assets panel don't remove it | ||||
Description: | as seen here: https://youtu.be/38NboknWlLk?feature=shared&t=1272 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2562 | [NoesisGUI] C++ SDK | feature | always | 2023-04-12 16:50 | 2023-12-14 13:08 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.3 | ||
Target Version: | 3.2.3 | ||||
Platform: | Any | ||||
Summary: | RiveControl: add support for images | ||||
Description: | Add support for rendering images embedded in rive files. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2707 | [NoesisGUI] Unity3D | feature | always | 2023-10-03 07:36 | 2023-12-14 13:08 |
Reporter: | aliagha.huseynli | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.1 | ||
Product Build: | Resolution: | duplicate | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.3 | ||
Target Version: | 3.2.3 | ||||
Platform: | Windows | ||||
Summary: | NoesisGUI cannot handle raster files and in the .riv file in Unity | ||||
Description: |
Hey noesisGUI team, I have a problem with Noesis. I use RiveApp for my game project's main menu. I used some raster files and some vector files in it. When I export the RiveApp file (.riv) and bring it to noesisGUI when I start my Unity app to see the result. I see only vector files and don't see raster image files. Is this a bug or it should be like that? Please reply to me asap. Thanks in advance |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2708 | [NoesisGUI] Unity3D | crash | always | 2023-10-03 07:40 | 2023-12-14 13:05 |
Reporter: | aliagha.huseynli | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.3 | ||
Target Version: | 3.2.3 | ||||
Platform: | Windows | ||||
Summary: | Unity crash because of Noesis cannot handle RiveApp text feature | ||||
Description: | Basically, I used new text feature of RiveApp in my .riv file and try to import it in my Unity by xaml. Every single time it crashes. | ||||
Tags: | |||||
Steps To Reproduce: |
Try to create rive file with just text then export it as .riv then add it in xaml file source then save it and start unity or just open the unity window don't touch anything it will crash anyway. |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2563 | [NoesisGUI] C++ SDK | feature | always | 2023-04-12 16:52 | 2023-12-14 13:05 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.3 | ||
Target Version: | 3.2.3 | ||||
Platform: | Any | ||||
Summary: | RiveControl: add support for meshes | ||||
Description: | Implement rendering of meshes (requires support for images first). | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2913 | [NoesisGUI] Studio | minor | have not tried | 2023-12-01 18:28 | 2023-12-13 20:40 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Keyframe property values change randomly | ||||
Description: | as seen here: https://youtu.be/NNZQ2ZvIXC0?feature=shared&t=4036 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2876 | [NoesisGUI] Studio | minor | always | 2023-11-23 11:57 | 2023-12-13 20:12 |
Reporter: | fllorens | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Resource item drag adorner stuck over brush property | ||||
Description: | As seen here https://youtu.be/nyaiHuqcR08?feature=shared&t=943 the adorner doesn't disappear when the brush has been updated | ||||
Tags: | |||||
Steps To Reproduce: |
1. Create a brush resource 2. From the resources panel drag the item to a brush property |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2740 | [NoesisGUI] Studio | minor | always | 2023-10-20 14:23 | 2023-12-13 19:02 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Adding element to the Navigator places it outside the parent container bounds | ||||
Description: |
If you have selected a design size like 720p (anything different from Free Aspect), and try to add an element (a Rectangle for example) to a panel like Grid, it places the element outside the bounds of the Grid. It should add the new element centered in the parent container. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2810 | [NoesisGUI] Studio | minor | always | 2023-11-02 12:57 | 2023-12-13 18:59 |
Reporter: | fllorens | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Black viewport when clearing a TransformGroup Scale value | ||||
Description: | As seen here https://youtu.be/K0r8EANNB6k?feature=shared&t=2220 the viewport gets black whenever the user clears or uses backspace on a TransformGroup Scale value. | ||||
Tags: | |||||
Steps To Reproduce: |
1. Select an element 2. Go to Properties > Transform > RenderTransform > TransformGroup > Scale 3. Select a Scale property value and hit backspace |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2806 | [NoesisGUI] Studio | trivial | always | 2023-11-02 10:18 | 2023-12-13 18:58 |
Reporter: | fllorens | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | New Page shortcut not working | ||||
Description: | As seen here https://youtu.be/K0r8EANNB6k?feature=shared&t=26 hitting Ctrl+N doesn't create a new page. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2941 | [NoesisGUI] Studio | major | always | 2023-12-12 17:57 | 2023-12-12 18:14 |
Reporter: | dfranjic | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Texture and font providers are not able to load the assets when the XAML is in a subdirectory | ||||
Description: |
Let's say we have this kind of organization of files/ProjectRoot /Menu Main.xaml background.png font.ttf If the Main.xaml references background.png, it's going to look something like this: <Image Source="background.png"/> When loading the Main.xaml file on the next startup, the project global texture provider will try to load "/background.png" (from the project root) rather than relative to the Main.xaml ("/Menu/background.png") |
||||
Tags: | |||||
Steps To Reproduce: |
1. Create a XAML file in a subdirectory and open the said XAML file 2. Put an image file or a font file in the same subdirectory 3. Reference that image/font file in the XAML file 4. Close the XAML file 5. Open the XAML file 6. Observe how the image/font file isn't applied to the element that references it |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2939 | [NoesisGUI] Studio | minor | have not tried | 2023-12-12 17:36 | 2023-12-12 18:12 |
Reporter: | fllorens | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Can't use resource brushes inside visual states | ||||
Description: |
as seen here https://youtu.be/RDyPfWjnrrk?feature=shared&t=1814 |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2053 | [NoesisGUI] Unreal | major | always | 2021-06-28 16:28 | 2023-12-12 11:34 |
Reporter: | maxnt | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.12 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.0 | ||
Target Version: | 3.1 | ||||
Platform: | Any | ||||
Summary: | ComboBox Selected Index not updating when selecting first item | ||||
Description: | In UE4 when selecting a combobox's first item (Index 0) a property that is bound to SelectedIndex does not trigger the set UFUNCTION to be called. However, selecting other items works fine (Index > 0). | ||||
Tags: | |||||
Steps To Reproduce: |
Add a Combobox to xaml with more than 1 CombBoxItem and bind SelectedIndex to a ViewModel property Create Get and Set UFUNCTIONs in C++ Add breakpoint or logging to Set function Run project and change Combobox selected item Notice Set not being called when selecting first item WPF <ComboBox SelectedIndex="{Binding TestSelectedIndex, Mode=TwoWay}" > <ComboBox.Items> <ComboBoxItem Content="1"></ComboBoxItem> <ComboBoxItem Content="2"></ComboBoxItem> <ComboBoxItem Content="3"></ComboBoxItem> </ComboBox.Items> </ComboBox> C++ UFUNCTION() void GetTestSelectedIndex(UPARAM(ref) int32 OutTestSelectedIndex) const; UFUNCTION() void SetTestSelectedIndex(int32 Index); |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007315)
maxnt 2021-06-30 18:40 |
Update This is not a bug I have a typo in my Get function UFUNCTION() void GetTestSelectedIndex(UPARAM(ref) int32& OutTestSelectedIndex) const; With this change everything works as expected! |
(0007316)
hcpizzi 2021-07-02 11:20 |
On top of supporting native getters with an out ref parameter, we now support getters with return values too. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2934 | [NoesisGUI] Studio | minor | random | 2023-12-11 19:43 | 2023-12-12 02:32 |
Reporter: | maherne | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Undo sometimes fails due to a Node byte index mismatch | ||||
Description: | Randomly, when undoing the deletion of an element or the changing it's parent, the byte index stored in the undo momento will not match any current node, leading to an exception. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2926 | [NoesisGUI] Studio | minor | always | 2023-12-11 15:37 | 2023-12-11 17:52 |
Reporter: | maherne | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | When duplicating a container with named numbers items, all items get the same name | ||||
Description: | When duplicating a container where the elements have the same name, but different numbers, the duplicated container will contain elements with the same name and number. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
Duplicated.PNG (10,540 bytes) 2023-12-11 15:37 https://www.noesisengine.com/bugs/file_download.php?file_id=2047&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2924 | [NoesisGUI] C++ SDK | major | random | 2023-12-07 19:24 | 2023-12-11 17:32 |
Reporter: | AnKor | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.3 | ||
Target Version: | 3.2.3 | ||||
Platform: | Any | ||||
Summary: | Read access violation in D3D12RenderDevice::UploadUniforms | ||||
Description: |
I'm not 100% sure it is a Noesis bug, but it looks very suspicious. Recently I catched a couple of "read access violation" crashes during memcpy part of D3D12RenderDevice::UploadUniforms uint32_t size = Align(data.numDwords * sizeof(uint32_t), 256); void* ptr = MapBuffer(mConstants[i], size); memcpy(ptr, data.values, size); I didn't save exact values, but I can definitely say: - data->numDwords was 7; - data->values was not null, but seemingly a valid value; - access violation happened at 4096 byte boundary (last digits were 000 in hex); - the difference between the faulted address and data.values was exactly 240 bytes. I can try to get more data when it happens next time, but it is very rare. So far it just looks like memcpy *reading* beyond the input buffer. Shouldn't it be copying "numDwords * 4" instead of "size" bytes? |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0009002)
jsantos 2023-12-08 10:30 |
You are right, we should be copying only "numDwords * 4" bytes. The code is not correct. Could you please apply the change and let me know if this fixes your crash? Thank you! |
(0009003)
AnKor 2023-12-08 11:25 |
I've applied the change and so far all is good, but the crash was very rare anyway. Thanks for confirming. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2775 | [NoesisGUI] Studio | minor | always | 2023-10-26 14:38 | 2023-12-11 12:57 |
Reporter: | fllorens | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Duplicate elements use 'Name' instead of 'x:Name' | ||||
Description: |
As seen here https://youtu.be/3C8q3FXvqKM?feature=shared&t=665 when the user duplicates an element in the viewport, the new element gets an 'Name="OriginalName"' instead of a 'x:Name="OriginalName_Copy". This is also problematic because the user can easily create elements with both Name and x:Name |
||||
Tags: | |||||
Steps To Reproduce: |
Add an element, rename it and duplicate it. Rename the duplicated element. Open the XAML file and you’ll find an element with both x:Name and Name. |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2412 | [NoesisGUI] C++ SDK | minor | always | 2022-09-07 14:18 | 2023-12-10 03:32 |
Reporter: | jsantos | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.5 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.3 | ||
Target Version: | 3.1.7 | ||||
Platform: | Any | ||||
Summary: | Improve diagnostics error when loading fonts | ||||
Description: |
Right now, system fonts that are not found do not emit errors. Instead, local fonts give proper error when not found. This is to allow optional families in fallback chains like: FontFamily="Tahoma, Arial, Calibri" We could improve this a bit by giving error when no font is found in the list of fallbacks. We should also consider adding an internal font (with just one glyph) to render squares when there is not other font available. In consoles for examples, there aren't system fonts available. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2861 | [NoesisGUI] Studio | minor | always | 2023-11-21 18:03 | 2023-12-07 18:21 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Margin adorner shown in wrong position when selecting the Viewbox child | ||||
Description: |
1. Create a Viewbox that fills the page with Stretch=Uniform 2. Add a Border (or any element) inside with a smaller size (100x100 for example) 3. Set Border margin to some value (20,20,20,20 for example) 3. Selecting the Border will show the margins in the wrong position |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2767 | [NoesisGUI] Studio | feature | N/A | 2023-10-24 17:47 | 2023-12-07 17:26 |
Reporter: | jsantos | Platform: | |||
Assigned To: | maherne | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Improvement when adding new elements | ||||
Description: |
Add visual feedback when a new element is added to the page: - When adding new elements to the main view, we should highlight where the item is going to be placed. - When adding to the navigator, we should highlight the element where we are dropping and also indicate if we are being inserted after or before (like in Blend). - We should also allow reordering in the Navigator and highlight where the dragged element would be placed. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2866 | [NoesisGUI] Studio | minor | have not tried | 2023-11-21 18:32 | 2023-12-04 19:15 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | EventTrigger seems to be renaming Storyboard | ||||
Description: | As seen here https://youtu.be/DC0YTtlfxD4?feature=shared&t=3250 there's only a renamed storyboard. When an EventTrigger loaded is created, it appears to rename or try to open a 'Storyboard0' that doesn't exist. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008998)
dfranjic 2023-12-04 16:33 |
I can't seem to reproduce the issue and I can't really locate the issue in the Studio's code. It could be maybe that the Studio is not showing the 'Storyboard0' in the list of storyboards but it exists in the XAML code. Just speculation.. If you find a way to reproduce the issue, please do tell. |
(0008999)
dfranjic 2023-12-04 18:00 |
Discovered a way to reproduce it all the time. 1. Create a Storyboard / have a Storyboard with animations 2. Make sure the Storyboard name doesn't equal to "Storyboard0" 3. Drag a keyframe 4. Try to create a BeginStoryboard action in a EventTrigger and it's going to create a Storyboard0 object rather than use the existing Storyboard Seems like dragging a keyframe causes the issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2914 | [NoesisGUI] Studio | minor | have not tried | 2023-12-01 18:34 | 2023-12-04 17:56 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Multiple keyframes created around a time snapping point | ||||
Description: | as seen here https://youtu.be/NNZQ2ZvIXC0?feature=shared&t=4968 and here https://youtu.be/NNZQ2ZvIXC0?feature=shared&t=4999 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2862 | [NoesisGUI] Studio | crash | sometimes | 2023-11-21 18:16 | 2023-12-04 17:29 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Crash deleting the last point of a Path | ||||
Description: |
1. Create a Path with the Pen tool 2. Start removing points with the Pen tool 3. Deleting the last point will crash the studio |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2482 | [NoesisGUI] C# SDK | crash | always | 2022-12-27 00:06 | 2023-12-02 13:43 |
Reporter: | stonstad | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.5 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.0 | ||
Target Version: | 3.2 | ||||
Platform: | Any | ||||
Summary: | DirectX 12 Behavior | ||||
Description: |
After switching Unity DirectX API from 11 to 12, my UI text now appears corrupt. See screenshot, below -- * Updated. Behavior appears also related to editor crashes. See stack trace, dump, and logs below. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
image.png (1,497,239 bytes) 2022-12-27 00:06 https://www.noesisengine.com/bugs/file_download.php?file_id=1729&type=bug Crash_2022-12-26_230913923.zip (557,291 bytes) 2022-12-27 00:11 https://www.noesisengine.com/bugs/file_download.php?file_id=1730&type=bug |
||||
Notes | |
(0008187)
stonstad 2022-12-27 00:11 |
I was encountering repeated crashes. The crashes stopped after I disabled the NoesisView component. Stack trace w/ dump and logs included, below. d3d12: upload buffer was full! Waited for COPY queue for 3.023 ms. d3d12: upload buffer was full! Waited for COPY queue for 2.329 ms. d3d12 : CreateCommittedResource 'TexturesD3D12::CreateTextureInternal() Texture' (128 x 2) format 10 failed (887a0005). Device Remove Reason (HRESULT): 0x887a0006 |
(0008188)
stonstad 2022-12-27 00:13 |
Unity 2022.2.1f1, built-in pipeline. |
(0008189)
stonstad 2022-12-27 00:38 |
After working with DirectX12 and Unity, it is unlikely that I will switch to DX12 any time soon. Across different scenes I am seeing a 10% FPS performance hit. This bug report is for informational purposes. Please let me know if you need anything. Thanks, Shaun. |
(0008190)
jsantos 2023-01-02 12:44 |
Thanks for the report! It seems Unity 2022.2 broke an important low-level feature for D3D12 that is needed by Noesis. It is a pity because 2022.2 is the first version where D3D12 is not marked as experimental. We already have a workaround and also many improvements that will come with NoesisGUI 3.2. Let's leave this opened for now. |
(0008191)
jsantos 2023-01-02 12:45 |
https://forum.unity.com/threads/iunitygraphicsd3d12v7-getnextframefencevalue-always-return-1.1378035/ |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2397 | [NoesisGUI] C++ SDK | feature | N/A | 2022-08-15 23:01 | 2023-12-02 13:40 |
Reporter: | jsantos | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.0 | ||
Target Version: | 3.2 | ||||
Platform: | Any | ||||
Summary: | Implement support for OpenType Font Features | ||||
Description: |
https://docs.microsoft.com/en-us/dotnet/desktop/wpf/advanced/opentype-font-features The Advanced Typographic tables (OpenType Layout tables) extend the functionality of fonts with either TrueType or CFF outlines. OpenType Layout fonts contain additional information that extends the capabilities of the fonts to support high-quality international typography. Most OpenType fonts expose only a subset of the total OpenType features available. <Paragraph FontFamily="Palatino Linotype"> 2<Run Typography.Variants="Superscript">3</Run> 14<Run Typography.Variants="Superscript">th</Run> </Paragraph> |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2628 | [NoesisGUI] C++ SDK | feature | have not tried | 2023-06-14 13:01 | 2023-12-02 13:19 |
Reporter: | laudaicat | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | WebGPU render target implement | ||||
Description: | WebGPU will be released soon, and I'm in need of porting my game to work with Web Assembly. Therefore, I kindly request you to implement the WebGPU render target. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008996)
laudaicat 2023-12-02 01:41 |
Hi, any ETA for this feature? |
(0008997)
jsantos 2023-12-02 13:19 |
We want to implement this at some point in 3.2 but right now the priority is releasing Noesis Studio |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2911 | [NoesisGUI] Unity3D | crash | sometimes | 2023-12-01 02:38 | 2023-12-02 00:48 |
Reporter: | dmacd10@gmail.com | Platform: | |||
Assigned To: | OS: | ||||
Priority: | normal | OS Version: | |||
Status: | new | Product Version: | 3.2.0 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | WebGL | ||||
Summary: | Intermittent race/crash when updating popup bindings and updating layout under WebGL | ||||
Description: |
Uncaught RuntimeError: null function or function signature mismatch at Noesis::Delegate<void (Noesis::PropertyMetadata*)>::operator()(Noesis::PropertyMetadata*) const (0d95134a:0xb181c0) at Noesis::Mouse::SetOver(Noesis::Mouse::HitInfo const&) (0d95134a:0xbe7e2e) at Noesis::Mouse::Capture(Noesis::UIElement*, Noesis::CaptureMode, bool) (0d95134a:0xbe7b60) at Noesis::Mouse::Capture(Noesis::UIElement*, Noesis::CaptureMode) (0d95134a:0xbe7a37) at Noesis::Popup::MouseCapture() (0d95134a:0xbe21d7) at Noesis::Popup::OnPropertyChanged(Noesis::DependencyPropertyChangedEventArgs const&) (0d95134a:0xbe200a) at Noesis::DependencyObject::NotifyPropertyChanged(Noesis::DependencyProperty const*, Noesis::StoredValue*, void const*, void const*, bool, bool, Noesis::PropertyMetadata const*) (0d95134a:0xafb2f4) at Noesis::DependencyObject::InternalSetValue(Noesis::DependencyProperty const*, void*, void const*, void*, unsigned char, Noesis::Expression*, Noesis::PropertyMetadata const*, Noesis::Value::Destination, bool) (0d95134a:0xafb0cb) at Noesis::ValueStorageManagerImpl<bool>::SetValue(Noesis::DependencyObject*, Noesis::DependencyProperty const*, Noesis::BaseComponent*, unsigned char, Noesis::Expression*, Noesis::PropertyMetadata const*, Noesis::Value::Destination) const (0d95134a:0xcbfa89) at Noesis::DependencyProperty::SetValueObject(Noesis::DependencyObject*, Noesis::BaseComponent*, unsigned char, Noesis::Expression*, Noesis::PropertyMetadata const*, Noesis::Value::Destination) const (0d95134a:0xafd271) at Noesis::DependencyObject::InternalSetExpression(Noesis::DependencyProperty const*, Noesis::Expression*, unsigned char) (0d95134a:0xaf9a0b) at Noesis::DependencyObject::InternalInvalidateProperty(Noesis::DependencyProperty const*, unsigned char) (0d95134a:0xaf9b0d) at Noesis::DependencyObject::InvalidateProperty(Noesis::DependencyProperty const*, unsigned char) (0d95134a:0xaf9cad) at Noesis::BindingExpression::InvalidateTarget() const (0d95134a:0xb79cbb) at Noesis::BindingExpression::OnNotifyPropertyChanged(Noesis::BaseComponent*, Noesis::PropertyChangedEventArgs const&) (0d95134a:0xb7c062) at Noesis::Delegate<void (Noesis::Freezable*, Noesis::FreezableEventReason)>::MemberFuncStub<Noesis::DependencyObject::ChangedHandler, void (Noesis::DependencyObject::ChangedHandler::*)(Noesis::Freezable*, Noesis::FreezableEventReason)>::Invoke(Noesis::Freezable*, Noesis::FreezableEventReason) const (0d95134a:0xafc050) at Noesis::Delegate<void (Noesis::DependencyObject*, Noesis::DependencyPropertyChangedEventArgs const&)>::operator()(Noesis::DependencyObject*, Noesis::DependencyPropertyChangedEventArgs const&) const (0d95134a:0xafaa73) at Noesis::Delegate<void (Noesis::Freezable*, Noesis::FreezableEventReason)>::MultiDelegate::Invoke(Noesis::Freezable*, Noesis::FreezableEventReason) const (0d95134a:0xafc2f2) at Noesis::Delegate<void (Noesis::DependencyObject*, Noesis::DependencyPropertyChangedEventArgs const&)>::operator()(Noesis::DependencyObject*, Noesis::DependencyPropertyChangedEventArgs const&) const (0d95134a:0xafaa73) at Noesis_LaunchPropertyChangedEvent (0d95134a:0xc4f106) at Extend_NotifyPropertyChanged_m4C6AEF46F1B7B41759EE4339CE2D1E22FA80B027 (0d95134a:0x1902d6f) at KeyGeneratedEventHandler_Invoke_mD73F8C7BC0305037EC520C3F4AF3DE74E5481DDA_OpenStatic(KeyGeneratedEventHandler_t5EDD824AAD4D47A4C32E693596793AB83DB84107*, Il2CppObject*, EventArgs_t37273F03EAC87217701DD431B190FBD84AD7C377*, MethodInfo const*) (0d95134a:0x21bb9f) at U3CU3Ec__DisplayClass3_0_U3CNotifyPropertyChangedU3Eb__0_m0917F2C64D8F1C85AA44BD2E115F99F9CB0D092E (0d95134a:0x1dee636) at U3CActionWrapperU3Ed__9_MoveNext_m1CFEC200F3CE9D502AD9F66FDB71157E205A3502 (0d95134a:0x1e31366) at SetupCoroutine_InvokeMoveNext_m72FC77384CAC3133B6EE650E0581D055B34B2F5F (0d95134a:0x1f51f49) at RuntimeInvoker_FalseVoid_t4861ACF8F4594C3437BB48B6E56783494B843915_VoidU2A_t104EAEFBD2D237A8C29618913DA9B4D99355E965_Int32_t680FF22E76F6EFAD4375103CBBFFA0421349384C(void (*)(), MethodInfo const*, void*, void**, void*) (0d95134a:0x24ba587) at il2cpp::vm::Runtime::InvokeWithThrow(MethodInfo const*, void*, void**) (0d95134a:0x24d1d40) at dynCall_iiii (0d95134a:0x252fc7e) at invoke_iiii (1aafc9a6-c9d8-4df0-82f1-914a3cdb1c3b:136:517727) at il2cpp::vm::Runtime::Invoke(MethodInfo const*, void*, void**, Il2CppException**) (0d95134a:0x24d0de2) at il2cpp_runtime_invoke (0d95134a:0x24d2e5f) at scripting_method_invoke(ScriptingMethodPtr, ScriptingObjectPtr, ScriptingArguments&, ScriptingExceptionPtr*, bool) (0d95134a:0x24d410d) at ScriptingInvocation::Invoke(ScriptingExceptionPtr*, bool) (0d95134a:0x17c9cf9) at Coroutine::Run(bool*) (0d95134a:0x172fad5) at MonoBehaviour::TryCreateAndRunCoroutine(ScriptingObjectPtr, ScriptingMethodPtr, Coroutine**) (0d95134a:0xdfd6cb) at MonoBehaviour_CUSTOM_StartCoroutineManaged2(Il2CppObject*, Il2CppObject*) (0d95134a:0x1770626) at MonoBehaviour_StartCoroutine_m4CAFF732AA28CD3BDC5363B44A863575530EC812 (0d95134a:0x1f54b5e) at U3CU3Ec__DisplayClass10_0_U3CInvokeU3Eb__0_mED84D20A7D5179F060156B6C70B336DB33B7527B (0d95134a:0x1e31302) at UnityDispatcher_Update_mB9A32436F5525A7D8D8A68EA42FE07679F8065E7 (0d95134a:0x1e3106a) at RuntimeInvoker_TrueVoid_t4861ACF8F4594C3437BB48B6E56783494B843915(void (*)(), MethodInfo const*, void*, void**, void*) (0d95134a:0x2496c31) at il2cpp::vm::Runtime::InvokeWithThrow(MethodInfo const*, void*, void**) (0d95134a:0x24d1d40) at dynCall_iiii (0d95134a:0x252fc7e) at invoke_iiii (1aafc9a6-c9d8-4df0-82f1-914a3cdb1c3b:136:517727) at il2cpp::vm::Runtime::Invoke(MethodInfo const*, void*, void**, Il2CppException**) (0d95134a:0x24d0de2) at il2cpp_runtime_invoke (0d95134a:0x24d2e5f) at scripting_method_invoke(ScriptingMethodPtr, ScriptingObjectPtr, ScriptingArguments&, ScriptingExceptionPtr*, bool) (0d95134a:0x24d410d) at ScriptingInvocation::Invoke(ScriptingExceptionPtr*, bool) (0d95134a:0x17c9cf9) at MonoBehaviour::CallUpdateMethod(int) (0d95134a:0xdfd2bf) at MonoBehaviour::Update() (0d95134a:0xdfd2d4) at BehaviourManager::Update() (0d95134a:0x1582a13) |
||||
Tags: | |||||
Steps To Reproduce: |
I haven't isolated precise steps yet, but this is affecting users in production, so I wanted to surface it. Because this is fairly intermittent, I suspect a race condition is involved. The basic flow is: Resize screen (in this case unity webgl) Hide all popups by setting (via binding) IsOpen=false Wait a few frames Show them again by updating IsOpen binding to true Incidentally, were doing this because of another bug where popups sometimes become detached from their anchors when the screen resizes (happens in unity and webgl). I didn't report that one yet, but the workaround is (was) to just close and open them again later. |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008995)
dmacd10@gmail.com 2023-12-02 00:48 |
Update: It turns out I was manipulating Popup.StaysOpen = false / true at the same time as IsOpen. Leaving this out, I haven't been able to reproduce the crash. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2867 | [NoesisGUI] Studio | minor | always | 2023-11-21 18:32 | 2023-12-01 17:27 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Changes in TransformGroup editor textboxes are updating instantly | ||||
Description: | We should wait until user hits Enter or the text box loses focus to update the element in the viewport as it happens with the rest of editors. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2907 | [NoesisGUI] Studio | feature | have not tried | 2023-11-29 16:18 | 2023-11-29 16:53 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Some logical children not shown in the Navigator | ||||
Description: |
There are some controls that expose properties other than the Content property that are also used to connect logical children. For example: - BulletDecorator.Bullet - Track.Thumb, Track.DecreaseButton, Track.IncreaseButton In Blend they show those properties in the Navigator and you can even drag elements there, or see the element that is being set in the property (see attached image). We should show something like that too, and this could also be used to show and edit the contents of properties like ContextMenu or ToolTip. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
logicalchild.png (7,049 bytes) 2023-11-29 16:18 https://www.noesisengine.com/bugs/file_download.php?file_id=2038&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2905 | [NoesisGUI] Studio | minor | always | 2023-11-29 12:35 | 2023-11-29 12:45 |
Reporter: | fllorens | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | ListBox template with scrollbar stops showing ListBoxItems | ||||
Description: | Seen here https://youtu.be/Z_yrQTEOwto?feature=shared&t=2631 | ||||
Tags: | |||||
Steps To Reproduce: |
1. Create a ListBox with ListBoxItems 2. Create a template for the ListBox 3. Add a ScrollViewer with an ItemsPresenter 4. Create a template for the ScrollViewer 5. Add a ScrollContentPresenter and a ScrollBar 6. Press play, the items will disappear |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2834 | [NoesisGUI] Studio | minor | N/A | 2023-11-09 17:49 | 2023-11-27 18:26 |
Reporter: | maherne | Platform: | |||
Assigned To: | maherne | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Add Element functionality for TextBlocks | ||||
Description: | Add the ability to use Add Element to place elements in a TextBlock (using an InlineUIContainer) | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2898 | [NoesisGUI] Studio | minor | always | 2023-11-27 17:22 | 2023-11-27 17:30 |
Reporter: | fllorens | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Crash when editing gradient in a visual state | ||||
Description: | Seen in https://youtu.be/dbBgvtudFlg?feature=shared&t=1833 | ||||
Tags: | |||||
Steps To Reproduce: |
1. Edit a template 2. Create and assign a gradient 3. In the template's visual states, try to edit the gradient with the gradeint widget |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2893 | [NoesisGUI] Studio | minor | have not tried | 2023-11-24 15:36 | 2023-11-24 20:16 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | NumericInput showing unexpected decimals sometimes | ||||
Description: |
When dragging to change the value, sometimes the number represented shows too many decimals. For example, increasing the value from 0.6 to 0.7 shows 0.7000001 instead. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2881 | [NoesisGUI] Studio | minor | always | 2023-11-23 12:41 | 2023-11-23 21:09 |
Reporter: | fllorens | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Crash when adding an ItemsPresenter to a ListBox template | ||||
Description: | As seen here https://youtu.be/dbBgvtudFlg?feature=shared&t=391 trying to add an ItemsPresenter as a child of a ScrollViewer inside a ListBox template crashes the Studio. | ||||
Tags: | |||||
Steps To Reproduce: |
1. Create a ListBox and create a new template for it. 2. Add a ScrollViewer 3. Try to add a ItemsPresenter as a child of the ScrollViewer |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2890 | [NoesisGUI] Studio | feature | always | 2023-11-23 16:39 | 2023-11-23 17:14 |
Reporter: | fllorens | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | New control templates should have all the necessary elements | ||||
Description: | As seen here https://youtu.be/dbBgvtudFlg?feature=shared&t=229 an empty control template is disorienting for a new user, as it does not contain the necessary elements to function properly. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2693 | [NoesisGUI] Unity3D | crash | sometimes | 2023-09-18 08:02 | 2023-11-23 16:49 |
Reporter: | ckfinite | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.3 | ||
Target Version: | 3.2.3 | ||||
Platform: | Any | ||||
Summary: | Unexpected RefCount(2) deleting object at [number] causes hard crash | ||||
Description: |
At seemingly-random intervals I'm seeing the error [NOESIS/E] Unexpected RefCount(2) deleting object at 00000211806A6268 UnityEngine.StackTraceUtility:ExtractStackTrace () UnityEngine.DebugLogHandler:LogFormat (UnityEngine.LogType,UnityEngine.Object,string,object[]) UnityEngine.Logger:Log (UnityEngine.LogType,object,UnityEngine.Object) UnityEngine.Debug:LogError (object,UnityEngine.Object) NoesisUnity:UnityLog (int,string) (at Packages/NoesisGUI/Runtime/NoesisUnity.cs:360) Noesis.BaseComponent:Release (intptr) (at Packages/NoesisGUI/Runtime/API/Proxies/BaseComponent.cs:62) Noesis.Extend:ReleasePending () (at Packages/NoesisGUI/Runtime/API/Core/Extend.cs:6110) Noesis.Extend:Update () (at Packages/NoesisGUI/Runtime/API/Core/Extend.cs:6119) Noesis.View:Update (double) (at Packages/NoesisGUI/Runtime/API/Core/View.cs:366) NoesisView:UpdateInternal () (at Packages/NoesisGUI/Runtime/NoesisView.cs:1455) NoesisView:LateUpdate () (at Packages/NoesisGUI/Runtime/NoesisView.cs:1356) show up and crash Unity to desktop, which is not ideal. However, I don't know what object 00000211806A6268 is and don't have a great way to bisect my way to what's going on. Clearly, there's residual Noesis-land reference to an object that is being deallocated from C#, but I don't know where. Is there a good way to debug this? |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
Editor.zip (1,016,583 bytes) 2023-09-21 07:31 https://www.noesisengine.com/bugs/file_download.php?file_id=1949&type=bug Editor.log (1,017,034 bytes) 2023-10-08 06:07 https://www.noesisengine.com/bugs/file_download.php?file_id=1972&type=bug crash.dmp (3,366,083 bytes) 2023-10-08 06:07 https://www.noesisengine.com/bugs/file_download.php?file_id=1973&type=bug |
||||
Notes | |
(0008753)
sfernandez 2023-09-20 11:31 |
As you don't seem to have a reproducible scenario let's see if we can at least find what kind of object is being destroyed when that crash happens to narrow down the problem. Could you please modify in our plugin script Extend.cs the ReleasePending() function to something like the code below, and then attach here the crash dump and Editor.log generated by Unity. private static void ReleasePending() { lock (_pendingRelease) { int numPending = _pendingRelease.Count; for (int i = 0; i < numPending; ++i) { IntPtr cPtr = _pendingRelease[i]; IntPtr nativeType = Noesis.BaseComponent.GetDynamicType(cPtr); NativeTypeInfo info = GetNativeTypeInfo(nativeType); Debug.Log($"Releasing '{info.Type}' at {cPtr.ToString("X16")}"); BaseComponent.Release(cPtr); } _pendingRelease.RemoveRange(0, numPending); } } |
(0008760)
ckfinite 2023-09-21 08:20 |
I provided the logs in a private note, for anyone else looking's information. The primary lines of relevance are: Releasing 'Noesis.GridViewColumn' at 000002C274967190 UnityEngine.StackTraceUtility:ExtractStackTrace () UnityEngine.DebugLogHandler:LogFormat (UnityEngine.LogType,UnityEngine.Object,string,object[]) UnityEngine.Logger:Log (UnityEngine.LogType,object) UnityEngine.Debug:Log (object) Noesis.Extend:ReleasePending () (at Packages/NoesisGUI/Runtime/API/Core/Extend.cs:6112) Noesis.Extend:Update () (at Packages/NoesisGUI/Runtime/API/Core/Extend.cs:6123) Noesis.View:Update (double) (at Packages/NoesisGUI/Runtime/API/Core/View.cs:366) NoesisView:UpdateInternal () (at Packages/NoesisGUI/Runtime/NoesisView.cs:1455) NoesisView:LateUpdate () (at Packages/NoesisGUI/Runtime/NoesisView.cs:1356) (Filename: Packages/NoesisGUI/Runtime/API/Core/Extend.cs Line: 6112) [NOESIS/E] Unexpected RefCount(2) deleting object at 000002C27496A4E8 UnityEngine.StackTraceUtility:ExtractStackTrace () UnityEngine.DebugLogHandler:LogFormat (UnityEngine.LogType,UnityEngine.Object,string,object[]) UnityEngine.Logger:Log (UnityEngine.LogType,object,UnityEngine.Object) UnityEngine.Debug:LogError (object,UnityEngine.Object) NoesisUnity:UnityLog (int,string) (at Packages/NoesisGUI/Runtime/NoesisUnity.cs:360) Noesis.BaseComponent:Release (intptr) (at Packages/NoesisGUI/Runtime/API/Proxies/BaseComponent.cs:62) Noesis.Extend:ReleasePending () (at Packages/NoesisGUI/Runtime/API/Core/Extend.cs:6114) Noesis.Extend:Update () (at Packages/NoesisGUI/Runtime/API/Core/Extend.cs:6123) Noesis.View:Update (double) (at Packages/NoesisGUI/Runtime/API/Core/View.cs:366) NoesisView:UpdateInternal () (at Packages/NoesisGUI/Runtime/NoesisView.cs:1455) NoesisView:LateUpdate () (at Packages/NoesisGUI/Runtime/NoesisView.cs:1356) (Filename: Packages/NoesisGUI/Runtime/NoesisUnity.cs Line: 360) Releasing 'Noesis.Binding' at 000002C274A3A4C0 UnityEngine.StackTraceUtility:ExtractStackTrace () UnityEngine.DebugLogHandler:LogFormat (UnityEngine.LogType,UnityEngine.Object,string,object[]) UnityEngine.Logger:Log (UnityEngine.LogType,object) UnityEngine.Debug:Log (object) Noesis.Extend:ReleasePending () (at Packages/NoesisGUI/Runtime/API/Core/Extend.cs:6112) Noesis.Extend:Update () (at Packages/NoesisGUI/Runtime/API/Core/Extend.cs:6123) Noesis.View:Update (double) (at Packages/NoesisGUI/Runtime/API/Core/View.cs:366) NoesisView:UpdateInternal () (at Packages/NoesisGUI/Runtime/NoesisView.cs:1455) NoesisView:LateUpdate () (at Packages/NoesisGUI/Runtime/NoesisView.cs:1356) (Filename: Packages/NoesisGUI/Runtime/API/Core/Extend.cs Line: 6112) ERROR: InvalidOperationException: Native type 'BaseObject' is not registered | Stacktrace: Noesis.Extend.GetNativeTypeInfo (System.IntPtr nativeType) (at Packages/NoesisGUI/Runtime/API/Core/Extend.cs:468) Noesis.Extend.ReleasePending () (at Packages/NoesisGUI/Runtime/API/Core/Extend.cs:6111) Noesis.Extend.Update () (at Packages/NoesisGUI/Runtime/API/Core/Extend.cs:6123) Noesis.View.Update (System.Double timeInSeconds) (at Packages/NoesisGUI/Runtime/API/Core/View.cs:366) NoesisView.UpdateInternal () (at Packages/NoesisGUI/Runtime/NoesisView.cs:1455) NoesisView.LateUpdate () (at Packages/NoesisGUI/Runtime/NoesisView.cs:1356) UnityEngine.StackTraceUtility:ExtractStackTrace () UnityEngine.DebugLogHandler:LogFormat (UnityEngine.LogType,UnityEngine.Object,string,object[]) UnityEngine.Logger:Log (UnityEngine.LogType,object) UnityEngine.Debug:LogError (object) (Filename: Assets/Scripts/Utils/Log.cs Line: 80) InvalidOperationException: Native type 'BaseObject' is not registered at Noesis.Extend.GetNativeTypeInfo (System.IntPtr nativeType) [0x0004b] in OurGame\Packages\NoesisGUI\Runtime\API\Core\Extend.cs:468 at Noesis.Extend.ReleasePending () [0x00039] in OurGame\Packages\NoesisGUI\Runtime\API\Core\Extend.cs:6111 at Noesis.Extend.Update () [0x00001] in OurGame\Packages\NoesisGUI\Runtime\API\Core\Extend.cs:6123 at Noesis.View.Update (System.Double timeInSeconds) [0x00001] in OurGame\Packages\NoesisGUI\Runtime\API\Core\View.cs:366 at NoesisView.UpdateInternal () [0x0008c] in OurGame\Packages\NoesisGUI\Runtime\NoesisView.cs:1455 at NoesisView.LateUpdate () [0x0000f] in OurGame\Packages\NoesisGUI\Runtime\NoesisView.cs:1356 (Filename: Packages/NoesisGUI/Runtime/API/Core/Extend.cs Line: 468) The error seems to be primarily related to an attached Behaviour that generates GridViewColumns from a databound ObservableCollection. It doesn't seem to appear when it is not used. I would rather not replace this one, though, because there aren't too many great alternatives to this design from a layout perspective. It seems to have something to do with an unregistered managed object, which is a problem I've ran into before (BaseObject is one of our classes), though this reflection of it is novel. |
(0008762)
sfernandez 2023-09-21 18:53 |
Could you please share the behavior that creates the GridViewColumns and the piece of xaml where it is used? I will try to reproduce the problem myself to work on a solution. |
(0008764)
ckfinite 2023-09-25 07:05 |
Sure, sorry for the delay. The behaviour is public class GridViewGeneratedColumnBehaviour : Behavior<GridView> { public static readonly DependencyProperty ColumnFactoryProperty = DependencyProperty.Register(nameof(ColumnFactory), typeof(IGridViewColumnFactory), typeof(GridViewGeneratedColumnBehaviour), new PropertyMetadata(ColumnFactoryChanged)); public IGridViewColumnFactory ColumnFactory { get => (IGridViewColumnFactory)GetValue(ColumnFactoryProperty); set => SetValue(ColumnFactoryProperty, value); } private static void ColumnFactoryChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { (d as GridViewGeneratedColumnBehaviour)?.GenerateColumns(); } public static readonly DependencyProperty ColumnsProperty = DependencyProperty.Register(nameof(Columns), typeof(IEnumerable), typeof(GridViewGeneratedColumnBehaviour), new PropertyMetadata(ColumnsChanged)); private static void ColumnsChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { (d as GridViewGeneratedColumnBehaviour)?.ColumnsChangedInt(d, e); } private void ColumnsChangedInt(DependencyObject d, DependencyPropertyChangedEventArgs e) { if (e.NewValue is INotifyCollectionChanged c) { c.CollectionChanged += ColumnCollectionChanged; } if (e.OldValue is INotifyCollectionChanged o) { o.CollectionChanged -= ColumnCollectionChanged; } GenerateColumns(); } private void ColumnCollectionChanged(object sender, NotifyCollectionChangedEventArgs e) { GenerateColumns(); } public IEnumerable Columns { get => (IEnumerable)GetValue(ColumnsProperty); set => SetValue(ColumnsProperty, value); } protected override void OnAttached() { base.OnAttached(); GenerateColumns(); } private void GenerateColumns() { if (AssociatedObject == null || AssociatedObject.Columns == null || Columns == null) return; AssociatedObject.Columns.Clear(); foreach (var col in Columns) { AssociatedObject.Columns.Add(ColumnFactory?.ColumnForData(col)); } } } which is used in XAML like <ListView ItemsSource="{Binding Candidates}"> <ListView.Resources> <viewModels:ColumnGenerator x:Key="ColumnGenerator"/> </ListView.Resources> <ListView.View> <GridView AllowsColumnReorder="false"> <i:Interaction.Behaviors> <viewModels:GridViewGeneratedColumnBehaviour Columns="{Binding Values}" ColumnFactory="{StaticResource ColumnGenerator}"/> </i:Interaction.Behaviors> <GridView.ColumnCollection></GridView.ColumnCollection> </GridView> </ListView.View> </ListView> It seems to especially have problems with empty grid cells for some reason, but I haven't put substantial effort into a detailed reproduction case unfortunately. |
(0008767)
sfernandez 2023-09-25 17:30 |
Unfortunately I was not able to reproduce that crash with the provided behavior and xaml. So I generated a new version of the Noesis library with extra checks and information: https://drive.google.com/file/d/1w0Go6BKB0K5h_-lksxLHO-190v_6pOYl/view?usp=sharing Could you please give it a try and provide again the crash dump and logs? It should detect when an object is going to be destroyed with 1 or more references and log the type of the object. You just need to place the new Noesis.dll in the NoesisGUI package folder "Runtime/Libraries/Windows/x86_64". |
(0008786)
jphyzic 2023-10-03 09:18 |
I'm sorry to intervene, but I think I was able to reproduce the issue. It may not be exactly related to mentioned classes, but the behaviour is the same: I get an error in logs `Unexpected RefCount..` followed by a crash. I've made a repository with a reproducable example: https://github.com/ChernyshevDS/NoesisCrashRepro Open a project in Unity 2021.3.21f1and run a SampleScene. It should show an UI with two buttons, each of them causes a crash but with different means. First one creates a ton of MultiBinding objects, which causes a crash after some time. Second one tries to use a `HitResult.VisualHit` which causes an immediate crash (not sure if the same bug, may need to create another issue) |
(0008796)
ckfinite 2023-10-08 06:06 |
It seems to have something to do when the last row of the GridView is deleted. I've put in the debug DLL but don't see anything obvious in the logs. It goes straight from complaining about a messed up bbcode parameter (sorry) to the RefCount and then to erroring over BaseObject not being registered. TrimDiskCacheJob: Current cache size 6mb NOESIS: BBCode tag '%s' color property value '%s' is not a valid color string NOESIS: BBCode tag '%s' color property value '%s' is not a valid color string NOESIS: BBCode tag '%s' color property value '%s' is not a valid color string NOESIS: BBCode tag '%s' color property value '%s' is not a valid color string NOESIS: BBCode tag '%s' color property value '%s' is not a valid color string NOESIS: BBCode tag '%s' color property value '%s' is not a valid color string NOESIS: BBCode tag '%s' color property value '%s' is not a valid color string NOESIS: BBCode tag '%s' color property value '%s' is not a valid color string NOESIS: BBCode tag '%s' color property value '%s' is not a valid color string NOESIS: BBCode tag '%s' color property value '%s' is not a valid color string NOESIS: BBCode tag '%s' color property value '%s' is not a valid color string [NOESIS/E] Unexpected RefCount(2) deleting object at 0000017EF46AFD68 UnityEngine.StackTraceUtility:ExtractStackTrace () UnityEngine.DebugLogHandler:LogFormat (UnityEngine.LogType,UnityEngine.Object,string,object[]) UnityEngine.Logger:Log (UnityEngine.LogType,object,UnityEngine.Object) UnityEngine.Debug:LogError (object,UnityEngine.Object) NoesisUnity:UnityLog (int,string) (at Packages/NoesisGUI/Runtime/NoesisUnity.cs:360) Noesis.BaseComponent:Release (intptr) (at Packages/NoesisGUI/Runtime/API/Proxies/BaseComponent.cs:62) Noesis.Extend:ReleasePending () (at Packages/NoesisGUI/Runtime/API/Core/Extend.cs:6114) Noesis.Extend:Update () (at Packages/NoesisGUI/Runtime/API/Core/Extend.cs:6123) Noesis.View:Update (double) (at Packages/NoesisGUI/Runtime/API/Core/View.cs:366) NoesisView:UpdateInternal () (at Packages/NoesisGUI/Runtime/NoesisView.cs:1455) NoesisView:LateUpdate () (at Packages/NoesisGUI/Runtime/NoesisView.cs:1356) (Filename: Packages/NoesisGUI/Runtime/NoesisUnity.cs Line: 360) ERROR: InvalidOperationException: Native type 'BaseObject' is not registered | Stacktrace: Noesis.Extend.GetNativeTypeInfo (System.IntPtr nativeType) (at Packages/NoesisGUI/Runtime/API/Core/Extend.cs:468) Noesis.Extend.ReleasePending () (at Packages/NoesisGUI/Runtime/API/Core/Extend.cs:6111) Noesis.Extend.Update () (at Packages/NoesisGUI/Runtime/API/Core/Extend.cs:6123) Noesis.View.Update (System.Double timeInSeconds) (at Packages/NoesisGUI/Runtime/API/Core/View.cs:366) NoesisView.UpdateInternal () (at Packages/NoesisGUI/Runtime/NoesisView.cs:1455) NoesisView.LateUpdate () (at Packages/NoesisGUI/Runtime/NoesisView.cs:1356) UnityEngine.StackTraceUtility:ExtractStackTrace () UnityEngine.DebugLogHandler:LogFormat (UnityEngine.LogType,UnityEngine.Object,string,object[]) UnityEngine.Logger:Log (UnityEngine.LogType,object) UnityEngine.Debug:LogError (object) Game.Log:Error (string) (at Assets/Scripts/Utils/Log.cs:80) Game.ExceptionHandler:handleException (string,string,UnityEngine.LogType) (at Assets/Scripts/Utils/ExceptionHandler.cs:18) UnityEngine.Application:CallLogCallback (string,string,UnityEngine.LogType,bool) I've attached the full logs in a private reply. |
(0008798)
ckfinite 2023-10-08 07:15 |
Ah ha! Okay - so, I figured out the commonality between me and jphyzic's code. > First one creates a ton of MultiBinding objects, which causes a crash after some time. This is what my code is doing too. Each time the behaviour updates the gridview it recreates each column. That operation does public class SignatureColumnGenerator : IGridViewColumnFactory { public GridViewColumn ColumnForData(object data) { if (!(data is SignaturesViewModel.SignatureColumn scd)) return null; var familyText = new TextBlock(); var familyBinding = new MultiBinding(); familyBinding.Bindings.Add(new Binding("Reference")); familyBinding.Bindings.Add(new Binding("Detected")); familyBinding.Converter = new FamilyDisplayConverter(); familyBinding.ConverterParameter = scd; familyText.SetBinding(RichText.TextProperty, familyBinding); return new GridViewColumn() { Header = scd.SignatureName, CellTemplate = new DataTemplate() }; } [snip some other stuff] } When I get rid of the MultiBinding, no more problems. It's something to do with the MultiBinding. |
(0008800)
sfernandez 2023-10-10 15:00 |
Thanks a lot for the repro project and the information, I was able to identify the source of the problem. I will prepare a new library for you to try to verify it doesn't crash anymore. |
(0008804)
sfernandez 2023-10-11 11:58 |
Please try the following library: https://drive.google.com/file/d/1M3Oa8nSA9DNbOWeQ90S4oTVc5NN3ttAD/view?usp=sharing Let me know if the crashes are fixed for you. |
(0008811)
jphyzic 2023-10-12 14:19 |
Thanks, I tried this library, but it doesn't help, unfortunately. In fact, any click on UI leads to a crash with the stacktrace ending with: ================================================================= Managed Stacktrace: ================================================================= at <unknown> <0xffffffff> at Noesis.NoesisGUI_PINVOKE:VisualTreeHelper_HitTestHelper <0x000fe> at Noesis.VisualTreeHelper:HitTestHelper <0x000ea> at Noesis.VisualTreeHelper:HitTest <0x00182> at NoesisView:HitTest <0x00262> at NoesisView:ProcessEvent <0x00802> at NoesisView:OnGUI <0x0030a> at System.Object:runtime_invoke_void__this__ <0x00187> ================================================================= Received signal SIGSEGV Obtained 28 stack frames 0x0000013db37ec2ff (Mono JIT Code) (wrapper managed-to-native) Noesis.NoesisGUI_PINVOKE:VisualTreeHelper_HitTestHelper (System.Runtime.InteropServices.HandleRef,Noesis.Point&) 0x0000013db37ebdfb (Mono JIT Code) [VisualTreeHelper.cs:257] Noesis.VisualTreeHelper:HitTestHelper (Noesis.Visual,Noesis.Point) 0x0000013db37ebc73 (Mono JIT Code) [VisualTreeHelper.cs:44] Noesis.VisualTreeHelper:HitTest (Noesis.Visual,Noesis.Point) 0x0000013db37eac83 (Mono JIT Code) [NoesisView.cs:1634] NoesisView:HitTest (single,single) 0x0000013dadac7453 (Mono JIT Code) [NoesisView.cs:1679] NoesisView:ProcessEvent (UnityEngine.Event,bool,bool) 0x0000013dadac692b (Mono JIT Code) [NoesisView.cs:1808] NoesisView:OnGUI () |
(0008814)
sfernandez 2023-10-12 22:57 |
The patched library I provided was generated for NoesisGUI 3.2.2, which version are you using? |
(0008815)
jphyzic 2023-10-13 08:41 |
Oh, I'm sorry, you are right! I didn't realize that I was throwing a 3.2.2 library into a 3.2.1 package, my bad. Now everything seems to work as intended, thank you very much! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2888 | [NoesisGUI] Studio | minor | have not tried | 2023-11-23 16:22 | 2023-11-23 16:22 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | maherne | OS: | |||
Priority: | low | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Changing gradient brush from relative to absolute should keep looking the same | ||||
Description: | We need to recalculate the gradient values (start/end points or radial center/radius) so the gradient looks the same when changing the MappingMode from Relative to Absolute. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2859 | [NoesisGUI] Studio | minor | always | 2023-11-21 17:55 | 2023-11-21 23:02 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Path offset when animating handles | ||||
Description: | As seen here https://youtu.be/DC0YTtlfxD4?feature=shared&t=2815 animating a path endpoint's handle causes a weird offset | ||||
Tags: | |||||
Steps To Reproduce: |
1. Create an open path 2. Create a storyboard 3. While editing the storyboard, try to edit an endpoint's handle |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2865 | [NoesisGUI] Studio | minor | always | 2023-11-21 18:30 | 2023-11-21 22:57 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Animating Path points produces a lot of changes in other properties | ||||
Description: |
When animating a Path vertex, it will generate changes in other properties as Width/Height, Margin, Horizontal/VerticalAlignment... In Blend it seems they are changing the original path to Stretch=None and geometry, then setting the appropriate Width and Height to fit in the animated points so no other property needs to be animated. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2870 | [NoesisGUI] Studio | feature | always | 2023-11-21 18:38 | 2023-11-21 22:56 |
Reporter: | fllorens | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Trigger's RoutedEvent should show options | ||||
Description: | As seen here https://youtu.be/DC0YTtlfxD4?feature=shared&t=3250 Routed Events are hard to come by for a new user, and should be shown in a ComboBox. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008967)
fllorens 2023-11-21 18:40 |
Related to 0002869 |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2869 | [NoesisGUI] Studio | minor | always | 2023-11-21 18:38 | 2023-11-21 18:52 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Show EventTrigger EventName as a dropdown selector | ||||
Description: |
We should show the EventName property for the EventTrigger as a dropdown with the available routed events. It would be perfect if we can prioritize the order of events, even group them. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2811 | [NoesisGUI] Studio | trivial | always | 2023-11-02 13:07 | 2023-11-21 17:53 |
Reporter: | fllorens | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Play shortcut (Ctrl+P) does not activate the Play command | ||||
Description: | As seen here: https://youtu.be/K0r8EANNB6k?feature=shared&t=2388 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2833 | [NoesisGUI] Studio | minor | always | 2023-11-09 17:46 | 2023-11-21 17:49 |
Reporter: | maherne | Platform: | |||
Assigned To: | maherne | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Add Style support to TextBlockAdorner formatting | ||||
Description: | Add support for styles to the TextBlockAdorner formatting bar (bold, italic, and underline). | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2772 | [NoesisGUI] Studio | minor | always | 2023-10-25 13:05 | 2023-11-21 17:48 |
Reporter: | dfranjic | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Elements in the preview use styles defined for the Studio | ||||
Description: |
Elements in user's XAML documents use the Noesis Studio's XAML styles which causes the same XAML code to look different in Noesis Studio and in tools such as VS Blend. To reproduce this issue, create a new TextBlock element and in the Studio preview it's going to be gray rather than black (as it should be). |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
StudioStyles.png (20,603 bytes) 2023-10-25 13:05 https://www.noesisengine.com/bugs/file_download.php?file_id=2000&type=bug |
||||
Notes | |
(0008936)
sfernandez 2023-11-07 19:34 |
This happens not because of the Studio styles, but the NoesisTheme (NoesisTheme.DarkBlue) used for the viewport controls, and the root's (Page) Foreground specified in its style. We need some theme applied so the controls look nice in the Studio (we don't want the internal purple styles by default). By the way, in Blend designer it seems to be a bug, because if you run the application (F5) you will see that the TextBlock is rendered in white. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2822 | [NoesisGUI] Studio | minor | always | 2023-11-07 20:28 | 2023-11-21 14:20 |
Reporter: | jsantos | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Still a few Studio text boxes keep the cursor after hitting Enter | ||||
Description: | I am observing this in the textbox for changing the name of an element and in the search elements textbox (add element for example). | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2802 | [NoesisGUI] Studio | minor | always | 2023-10-31 14:03 | 2023-11-21 12:00 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Hand tool not capturing mouse | ||||
Description: |
Using the hand tool does not capture the mouse, so if the mouse button is released outside the viewport, the tool is not aware of that change and continues dragging the document when the mouse comes back to the viewport. Also, the document is not dragged when the mouse leaves the viewport area. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2801 | [NoesisGUI] Studio | minor | always | 2023-10-31 14:00 | 2023-11-21 12:00 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Hand tool not working as expected with high-DPI monitors | ||||
Description: | In high-DPI monitors (scale > 1) the movement of the document doesn't follow the mouse. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2799 | [NoesisGUI] Studio | feature | have not tried | 2023-10-30 19:00 | 2023-11-21 10:56 |
Reporter: | jsantos | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Move Brush editor to a popup | ||||
Description: | Right now, the Brush editor is embedded in the properties panel and it is a bit confusing when there are several editors (Fill, Stroke) | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2850 | [NoesisGUI] Studio | minor | always | 2023-11-20 14:42 | 2023-11-20 15:59 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Shapes converted to path are clipping | ||||
Description: | as seen here https://youtu.be/DC0YTtlfxD4?feature=shared&t=420 | ||||
Tags: | |||||
Steps To Reproduce: |
1. create a shape, doesn't matter if an ellipse or a rectangle 2. Convert it to path 3. With the direct selection tool modify the points so they are outside the original shape |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2851 | [NoesisGUI] Studio | minor | always | 2023-11-20 14:47 | 2023-11-20 15:59 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Shapes converted to path are not scaling | ||||
Description: | As seen here https://youtu.be/DC0YTtlfxD4?feature=shared&t=630 | ||||
Tags: | |||||
Steps To Reproduce: |
1. Create a shape 2. Convert it to path 3. Try to resize it with the selection tool |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2852 | [NoesisGUI] Studio | minor | always | 2023-11-20 14:55 | 2023-11-20 15:59 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Duplicating a named rectangle don't copy the corner radius property | ||||
Description: | As seen here https://youtu.be/DC0YTtlfxD4?feature=shared&t=810 | ||||
Tags: | |||||
Steps To Reproduce: |
1. Create a rectangle and name it 2. Add RadiusX or RadiusY properties with the adorner for example 3. Using the Alt key duplicate it |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2827 | [NoesisGUI] Studio | minor | have not tried | 2023-11-09 17:05 | 2023-11-16 21:31 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | maherne | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Add helper buttons to HoverAdorner to edit style/template | ||||
Description: | Show edit style/template buttons when hovering elements/controls as shown in the attached image. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
hovermenu.png (16,826 bytes) 2023-11-09 17:05 https://www.noesisengine.com/bugs/file_download.php?file_id=2014&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2838 | [NoesisGUI] Studio | minor | have not tried | 2023-11-16 15:49 | 2023-11-16 16:25 |
Reporter: | dfranjic | Platform: | |||
Assigned To: | maherne | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | AddElementToolState gets stuck when drawing elements | ||||
Description: |
When drawing an element (e.g. Border) it seems that sometimes AddElementToolState doesn't pick up the MouseUp event. I assume this might be due to the HoverAdorner picking up the MouseUp event instead of the tool state. |
||||
Tags: | |||||
Steps To Reproduce: |
1. Select Border element in the "Add element" panel 2. Start drawing the Border 3. Release the left mouse button |
||||
Additional Information: | |||||
Attached Files: |
2838.gif (742,989 bytes) 2023-11-16 15:54 https://www.noesisengine.com/bugs/file_download.php?file_id=2017&type=bug |
||||
Notes | |
(0008946)
dfranjic 2023-11-16 15:54 |
|
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2747 | [NoesisGUI] Studio | minor | always | 2023-10-20 15:01 | 2023-11-16 15:32 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Changing the value in a keyframe not updating the viewport | ||||
Description: |
Create a Storyboard and add some animation keyframes. Select one of the keyframes and change the Value in the Properties panel. The viewport is not updated until you play the animation or another time/frame is selected in the ruler. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008945)
dfranjic 2023-11-16 15:32 |
With r12955 it should update the viewport after the command execution. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2818 | [NoesisGUI] Studio | minor | always | 2023-11-06 19:32 | 2023-11-16 14:45 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Crash when converting color to resource | ||||
Description: | As seen here https://youtu.be/EF0u72Q_ctE?feature=shared&t=132 | ||||
Tags: | |||||
Steps To Reproduce: |
1. Open the Background Brush editor 2. Try to convert the color to a resource using the Color's three-dotted menu |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2788 | [NoesisGUI] Studio | minor | always | 2023-10-28 04:18 | 2023-11-16 01:49 |
Reporter: | maherne | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Editing the Color property of an inherited SolidColorBrush will set the inherited Color | ||||
Description: | On first changing the Foreground Color of a Run in the SolidColorBrush editor, in the properties panel, it will set the color to the inherited SolidColorBrush. Subsequent changes will be applied to a local SolidColorBrush. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008944)
dfranjic 2023-11-16 01:49 |
It should be fixed with r12959. BrushProperty now implements the EnsureValue() which is called whenever user starts to edit some of the brush subproperties (such as Color). BrushProperty::EnsureValue() clones the brush object if it's not a local value and then applies that cloned brush to the parent object as a local value. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2782 | [NoesisGUI] Studio | minor | always | 2023-10-28 02:45 | 2023-11-15 16:39 |
Reporter: | maherne | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | XAML text serializer should not add newlines between Inline elements | ||||
Description: |
The XAML serializer current adds newlines, and indentation, between Inline elements (Runs, Spans, etc.). When the XAML is deserialized these newlines cause extra spaces to be added to the TextBlock. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2745 | [NoesisGUI] Studio | minor | always | 2023-10-20 14:51 | 2023-11-15 16:39 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Setting SpeedRatio while recording a Storyboard has no effect | ||||
Description: |
Create a Storyboard and select it to enter record mode. Animate something and then select the Storybord to see its properties. Changing SpeedRatio, AccelerationRatio or DecelerationRatio properties does nothing. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008941)
dfranjic 2023-11-15 16:39 |
Fixed with r12955. Though, changing properties like AccelerationRatio will cause the keyframes in Ui not to match with the keyframes in the actual animation. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2728 | [NoesisGUI] C# SDK | crash | always | 2023-10-13 19:57 | 2023-11-15 12:21 |
Reporter: | darthmaule2 | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.3 | ||
Target Version: | 3.2.3 | ||||
Platform: | Any | ||||
Summary: | Segfault opening a menu on linux ARM64 | ||||
Description: |
1. Deploy my application to my device running linux ARM64 2. Start my application 3. Open any menu --> Crash 100% of the time Thread 1 (Thread 0xffffb76c5010 (LWP 21992)): #0 0x0000ffbec2067368 in ?? () from /opt/mentor/UiShell/libNoesis.so #1 0x0000ffbec20693bc in ?? () from /opt/mentor/UiShell/libNoesis.so #2 0x0000ffbec1c97e6c in ?? () from /opt/mentor/UiShell/libNoesis.so #3 0x0000ffbec1c98388 in ?? () from /opt/mentor/UiShell/libNoesis.so #4 0x0000ffbec1c99d1c in ?? () from /opt/mentor/UiShell/libNoesis.so #5 0x0000ffbec1ce2310 in ?? () from /opt/mentor/UiShell/libNoesis.so #6 0x0000ffbec1d4d038 in ?? () from /opt/mentor/UiShell/libNoesis.so #7 0x0000ffbec1d39f90 in ?? () from /opt/mentor/UiShell/libNoesis.so #8 0x0000ffbec1d3a190 in ?? () from /opt/mentor/UiShell/libNoesis.so #9 0x0000ffff77e08998 in ?? () #10 0x00000000001dee2b in ?? () Backtrace stopped: previous frame identical to this frame (corrupt stack?) |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | I believe this started after upgrading to Noesis 3.2.2 | ||||
Attached Files: | |||||
Notes | |
(0008823)
darthmaule2 2023-10-13 22:06 |
Confirmed this started happening with v3.2.2 with a git bisect $ git bisect bad 2960c7a0d0c3bd8ac1e4de24449ee66646938ed9 is the first bad commit commit 2960c7a0d0c3bd8ac1e4de24449ee66646938ed9 Author: darthmaule2 Date: Wed Oct 4 11:56:33 2023 -0400 Update to latest Noesis and other nugets |
(0008830)
hcpizzi 2023-10-16 18:39 |
Hi Bryan, Could you provide us an updater to the latest version of the device's software for me to test? Also, if you could send us the base address for libNoesis.so along with a callstack I may be able to find out the symbols. Thanks! |
(0008834)
jsantos 2023-10-16 20:56 |
Also, we are now providing debug libraries for each version of Noesis. Could you please try it? (they are in the private folder) |
(0008847)
darthmaule2 2023-10-18 21:43 |
I put a callstack in the description... not sure how to get anything other than that. Where would I look for this "private" folder? I downloaded the managed and native SDK and don't see it in either. I also don't see any binaries at all in the managed SDK. |
(0008849)
jsantos 2023-10-19 10:50 |
I have sent you an email with more details |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2789 | [NoesisGUI] Unreal | crash | always | 2023-10-28 11:28 | 2023-11-15 11:56 |
Reporter: | Pelo Studio | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.2 | ||
Target Version: | 3.2.3 | ||||
Platform: | Any | ||||
Summary: | Unreal Crash when exporting xaml files. | ||||
Description: |
https://www.youtube.com/watch?v=WuMHGPOINSo&authuser=0 I followed this tutorial here, and get stuck at the point where you need to import xaml file. |
||||
Tags: | |||||
Steps To Reproduce: | Just import xaml file to unreal Project. | ||||
Additional Information: | |||||
Attached Files: |
glitch.riv (18,940 bytes) 2023-10-28 11:28 https://www.noesisengine.com/bugs/file_download.php?file_id=2003&type=bug glitch.xaml (229 bytes) 2023-10-28 11:28 https://www.noesisengine.com/bugs/file_download.php?file_id=2004&type=bug |
||||
Notes | |
(0008924)
hcpizzi 2023-11-03 09:24 |
There are two issues at play here. There was a miss handling of Rive files when they failed to import that I've fixed. The other issue is that, due to Unreal's limitations, we don't support having two files in the same folder with the same name but different extensions. The reason is that they would have the same asset name in Unreal. Simply renaming glitch.xaml to noglitch.xaml, while leaving glitch.riv the same, results in a correctly imported XAML and no crash, even without the fix I just implemented. I'll look into warning about this problem during import to avoid confusion. Thanks. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2768 | [NoesisGUI] Studio | tweak | N/A | 2023-10-24 17:50 | 2023-11-14 18:42 |
Reporter: | jsantos | Platform: | |||
Assigned To: | maherne | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Add element tool not remembering last selection | ||||
Description: | I think the Add Element tool (E) should remember the last selection | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2835 | [NoesisGUI] Studio | minor | have not tried | 2023-11-09 17:55 | 2023-11-14 15:20 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | maherne | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Margin adorner shown when using TextBlockAdorner | ||||
Description: |
When editing the text of a TextBlock margins shouldn't be shown. Right now the MarginAdorner is shown with a weird position and values (see attached image). It happens also just by selecting a Run from the TextBlock in the Navigator. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
txtmargin.png (12,081 bytes) 2023-11-09 17:55 https://www.noesisengine.com/bugs/file_download.php?file_id=2016&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2826 | [NoesisGUI] Studio | minor | always | 2023-11-08 18:38 | 2023-11-14 15:20 |
Reporter: | maherne | Platform: | |||
Assigned To: | maherne | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Adorners should be disabled for Inline selections | ||||
Description: | When an Inline is selected, only the TextBlockAdorner should be active. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008940)
maherne 2023-11-14 15:20 |
Duplicate of 0002835, fixed in that issue |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2821 | [NoesisGUI] Studio | trivial | always | 2023-11-07 20:06 | 2023-11-14 15:17 |
Reporter: | jsantos | Platform: | |||
Assigned To: | maherne | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Undo after adding columns to a grid do not refresh | ||||
Description: | The column (or row) is indeed removed but the editor renderer is not updated | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2828 | [NoesisGUI] Studio | minor | have not tried | 2023-11-09 17:10 | 2023-11-14 13:59 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Make context menu more compact | ||||
Description: |
As shown in the attached image, show context menu options (for Navigator and Viewport) grouped and better organized. Show also the shortcuts and icons when available. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
elctxmenu.png (40,262 bytes) 2023-11-09 17:10 https://www.noesisengine.com/bugs/file_download.php?file_id=2015&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2742 | [NoesisGUI] Studio | minor | have not tried | 2023-10-20 14:35 | 2023-11-14 12:24 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Selecting an element with the mouse could leave it in drag-move state | ||||
Description: |
Click in the center (so the mouse is placed where the RenderTransformOrigin adorner would be rendered) of an unselected element of the viewport. In this case the MouseUp is handled by the selection adorner and does not notify the selection tool about it, so it thinks the mouse is still pressed and you are dragging the element around. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2445 | [NoesisGUI] C++ SDK | feature | always | 2022-10-24 12:47 | 2023-11-14 12:02 |
Reporter: | pdx_hoda_ismail | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1.5 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2 | ||||
Platform: | Any | ||||
Summary: | Implementation of handledEventsToo in AddHandler function | ||||
Description: |
While checking if there is a way to add the handledEventsToo in code, I found in the Microsoft documentation that they have two implementations of the AddHandler function as below: AddHandler(RoutedEvent, Delegate) AddHandler(RoutedEvent, Delegate, Boolean) However, only the first function is implemented in Noesis, and I have to use the handledEventsToo property from the second function in my case. It'd be great if we can use the handledEventsToo in a way to avoid workarounds with lot of code. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2798 | [NoesisGUI] Studio | minor | always | 2023-10-30 18:58 | 2023-11-14 10:40 |
Reporter: | jsantos | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | DecorationHelpers for moving, rotating not always working | ||||
Description: | Trying to resize a rectangle with the decorations. Sometimes the decoration appear but it doesn't do anything because the mouse is not exactly touching the corresponding dot. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2819 | [NoesisGUI] Studio | minor | have not tried | 2023-11-06 20:01 | 2023-11-14 10:40 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | maherne | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | GridAdorner hit test fails when elements are zoomed out | ||||
Description: |
Zooming out the view (making elements smaller) makes that hit-testing over the GridAdorner fails: - Clicking on the Add col/row area does not work and it is not rendered with the blue background - Resizing col/row by dragging the handles does not work |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008934)
sfernandez 2023-11-07 17:57 |
It seems that ResizeAdorner suffers from the same problem. When zooming out the viewport (making elements smaller), hit-testing the adorner handles does not properly work. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2761 | [NoesisGUI] Studio | feature | N/A | 2023-10-24 12:26 | 2023-11-14 02:37 |
Reporter: | jsantos | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Implement a backup system for Hot exits | ||||
Description: |
Files modifies in memory must be stored in the filesystem for easy recovering, in case the studio crashes or is closed. This way next time the Studio is opened, the state of modified files can be restored. Visual Studio Code is doing something similar: https://superuser.com/questions/1225368/visual-studio-code-unsaved-files-location Our folder must be located in a similar location (not in project location to avoid confusion about what must be stored in the repository or not), using hashes. We could have one folder with the hash of the project root directory, and then separate files with each modifiles file (using a hash for this too). |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008939)
dfranjic 2023-11-14 02:37 |
Implemented with r12946. Performance needs testing to see if we should immediately switch to file mapping. With r12946 the backups are saved onto "%APPDATA%/NoesisStudio/Backups" |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2829 | [NoesisGUI] Studio | minor | have not tried | 2023-11-09 17:11 | 2023-11-14 02:35 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Add "Reset Size" option to the context menu | ||||
Description: | This option will reset Width and Height properties to their default (Auto). | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2832 | [NoesisGUI] Studio | minor | have not tried | 2023-11-09 17:24 | 2023-11-14 02:35 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Dragging element from Add Element panel should fill container | ||||
Description: |
When an element is added (by dragging) to the viewport, it should fill the entire container. This means it should use the default Auto for Width/Height, Stretch for Alignment, and 0 Margin (so no need to be doing "Reset Layout" all the time). For containers that use child desired size (Canvas, StackPanel, WrapPanel...) we should provide a minimum size so the new element is rendered. If the user wants to create something with an specific size they can just draw it in the viewport. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2823 | [NoesisGUI] C++ SDK | minor | always | 2023-11-07 20:30 | 2023-11-09 17:44 |
Reporter: | jsantos | Platform: | |||
Assigned To: | maherne | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Issues editing text | ||||
Description: |
With the following XAML created by the studio, I am not able to properly select words (double click) or even move the cursor char by char:<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" Background="#FF4D5052"> <Grid> <TextBlock x:Name="Emoji" Text="hola colcacola" TextWrapping="Wrap" HorizontalAlignment="Center" VerticalAlignment="Center" RenderTransformOrigin="0.5,0.5" Height="103" FontSize="69" TextAlignment="Center" Foreground="#FF10BC0F"/> </Grid> </Page> |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2786 | [NoesisGUI] Studio | minor | always | 2023-10-28 03:00 | 2023-11-09 17:43 |
Reporter: | maherne | Platform: | |||
Assigned To: | maherne | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Template support in TextBlockAdorner | ||||
Description: | Add support for TextBlockAdorner in templates. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2830 | [NoesisGUI] Studio | minor | have not tried | 2023-11-09 17:13 | 2023-11-09 17:13 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Show "Auto" instead of "NaN" for numeric values | ||||
Description: |
In the case of Width and Height properties show also the ActualWidth and ActualHeight in parenthesis:Width: "Auto (1200)" |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2824 | [NoesisGUI] Studio | minor | have not tried | 2023-11-07 20:31 | 2023-11-08 00:05 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Can't remove name of an element | ||||
Description: |
1. Select an element in the viewport or Navigator 2. Assign it a name via double-clicking in the element in the Navigator, or by editing the Name in the top of the Properties panel 3. Edit the name again 4. Try clearing the name, it should remove the x:Name but it just returns to the latest name applied |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008938)
dfranjic 2023-11-08 00:05 |
Seems like that functionality wasn't even implemented. Should be fixed with r12933. Though, it's currently only removing the Name and unregistering the element from NameScope. What it should also do is remove the name occurrence from all parts of the XAML code (like if animation, trigger, even a property binding, etc... is targeting the object). I'd put this functionality in a reusable part of code (such as a separate XamlUndoRedoCommand) so it can also be used when, for example, removing an element (within RemoveElementCommand) and in similar situations. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2825 | [NoesisGUI] Studio | major | have not tried | 2023-11-07 20:57 | 2023-11-07 21:02 |
Reporter: | jsantos | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Weird beaviour in ComboBoxes | ||||
Description: | A ComboBox (I can reproduce this with the easing function box in the Studio) can extend the result area on top of the current mouse position create annoying scenarios. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008937)
sfernandez 2023-11-07 21:02 |
It happens when the dropdown is so big that it opens on top of the ComboBox toggle, so MouseUp even is happening in one of the ComboBoxItems of the just opened drop-down. WPF is limiting the size of the drop-down to the available size below or above the ComboBox toggle, so it is never opened over it. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2770 | [NoesisGUI] Studio | minor | always | 2023-10-25 09:52 | 2023-11-07 19:18 |
Reporter: | fllorens | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Zooming elements with effects applied causes displacement | ||||
Description: | Elements that have an effect applied show a strange displacement when zoomed in, as shown here: https://youtu.be/v3ZB3N6p970?feature=shared&t=1729 | ||||
Tags: | |||||
Steps To Reproduce: |
1. Draw an element ( a button, a rectangle ) 2. Apply Appearance>Effect (it doesn't matter which one) 3. Zoom in the element, either with the zoom tool or the mouse wheel |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008935)
sfernandez 2023-11-07 19:18 |
Solved trunk (3.2.2) was merged |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2751 | [NoesisGUI] Studio | minor | always | 2023-10-20 17:35 | 2023-11-07 18:26 |
Reporter: | fllorens | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Using textboxes or passwordboxes in play mode activates toolbar shortcuts | ||||
Description: | Trying to type letters associated to the toolbar in textboxes or passwordboxes in play mode will stop the mode, as shown here: https://youtu.be/v3ZB3N6p970?feature=shared&t=45 | ||||
Tags: | |||||
Steps To Reproduce: | Open a sample with a textbox, click play and enter A, E, P etc. | ||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2750 | [NoesisGUI] Studio | minor | always | 2023-10-20 17:17 | 2023-11-07 18:26 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Typing while renaming files or elements also changes the active tool | ||||
Description: |
Double click the name of an element in the Navigator to edit it. Then press any key associated with the tools (V, A, P, G...). It will add the corresponding letter to the name, but also change the active tool. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2406 | [NoesisGUI] C++ SDK | feature | always | 2022-08-26 14:59 | 2023-11-06 20:58 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.5 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.3 | ||
Target Version: | 3.2.3 | ||||
Platform: | Any | ||||
Summary: | Support overriding default directional navigation | ||||
Description: |
https://learn.microsoft.com/en-us/windows/apps/design/input/gamepad-and-remote-interactions#xy-focus-navigation-and-interaction Because directional focus navigation limits the user to moving up, down, left, and right, you may end up with scenarios where parts of the UI are inaccessible (see attached image). We should provide a way to explicitly indicate how directional navigation will work in some scenarios: <Canvas> <Button x:Name="LeftBtn" Content="Left" .../> <Button x:Name="RightBtn" Content="Right" .../> <Button x:Name="TopBtn" Content="Top" .../> <Button x:Name="BottomBtn" Content="Bottom" .../> <Button Content="Home" noesis:Element.XYFocusLeft="{Binding ElementName=LeftBtn}" noesis:Element.XYFocusRight="{Binding ElementName=RightBtn}" noesis:Element.XYFocusUp="{Binding ElementName=TopBtn}" noesis:Element.XYFocusDown="{Binding ElementName=BottomBtn}" /> </Canvas> |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
dirnav-issue.png (7,547 bytes) 2022-08-26 14:59 https://www.noesisengine.com/bugs/file_download.php?file_id=1675&type=bug |
||||
Notes | |
(0008051)
sfernandez 2022-08-26 14:59 |
|
(0008561)
sumel007 2023-06-21 08:36 |
Hi. We need this feature in our project. Do you think it'd be possible for it to make it to the next update? |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2817 | [NoesisGUI] C++ SDK | major | always | 2023-11-03 08:47 | 2023-11-06 17:06 |
Reporter: | nvonhertzen | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | feedback | Product Version: | 3.2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Focus not getting removed on disabled elements after update from 3.2.1->3.2.2 | ||||
Description: |
There seems to be a change in behavior where prior to < 3.2.2 the focus of elements would be removed after IsEnabled was set to false. With 3.2.2 this does not appear to occur anymore, breaking many of our element styles as they are based on those property values. Attached are two screenshots from the Gui Inspector on the same element, one from 3.2.1 and one from 3.2.2. |
||||
Tags: | |||||
Steps To Reproduce: |
Focus an element Set the element IsEnabled state to false Observe the focus still remaining on the element |
||||
Additional Information: | |||||
Attached Files: |
3_2_2.png (29,516 bytes) 2023-11-03 08:47 https://www.noesisengine.com/bugs/file_download.php?file_id=2011&type=bug 3_2_1.png (30,797 bytes) 2023-11-03 08:47 https://www.noesisengine.com/bugs/file_download.php?file_id=2012&type=bug |
||||
Notes | |
(0008925)
sfernandez 2023-11-03 12:42 |
Hello, This is related to the implementation of the FocusManager (0001982) and the logical focus. The property IsFocused indicates if the element has the logical focus in its focus scope (there can be several focus scopes, so more than one element with logical focus can exist at the same time). The property IsKeyboardFocused indicates if the element has the keyboard focus (only one element in the whole UI can have the keyboard focus). When a focused element is disabled, it loses the keyboard focus, but the logical focus remains and the focus scope still keeps a reference to that element. This is how WPF behaves and how we implemented it in Noesis. Does this make sense to you? |
(0008927)
nvonhertzen 2023-11-06 06:14 |
Thanks, that makes sense. Is there any way for us to easily track (breaking) changes like this in the future? Reading through the Changelog for 3.2.2 it wasn't obvious the introduction of the FocusManager would have changed existing behavior (instead of just introducing new functionality). |
(0008929)
sfernandez 2023-11-06 17:06 |
The changelog should be the place where these breaking changes should be explained. This was a mistake from our side and we are going to fix the changelog and improve the related documentation. We were solving an incorrect behavior regarding the logical focus (IsFocused property and GotFocus/LostFocus events) with the implementation of FocusManager. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
694 | [NoesisGUI] Unity3D | major | always | 2015-07-25 01:00 | 2023-11-06 15:28 |
Reporter: | Scherub | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | DoubleAnimation.BeginTime doesn't seem to work properly | ||||
Description: |
I have the following Storyboard with extra big values. :) [quote] <Storyboard x:Key="ShowStoryboard"> <DoubleAnimation From="0.0" To="1.0" Duration="0:0:1.1" Storyboard.TargetName="WindowBorder" Storyboard.TargetProperty="RenderTransform.ScaleX" /> <DoubleAnimation From="0.0" To="0.1" Duration="0:0:1.2" Storyboard.TargetName="WindowBorder" Storyboard.TargetProperty="RenderTransform.ScaleY" /> <DoubleAnimation From="0.1" To="1.0" BeginTime="0:0:1.2" Duration="0:0:1.3" Storyboard.TargetName="WindowBorder" Storyboard.TargetProperty="RenderTransform.ScaleY" /> </Storyboard> [/quote] I try to do a second animation after the first has finished. The same Storyboard works in WPF but in NoesisGUI it's kinda messed up right now. The first time it runs both storyboards run, with the second animation apparently starting from scratch again. Each successive run it seems that only the second animation is played. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0002771)
sfernandez 2015-07-25 01:57 |
It seems that we are ignoring the first animation of ScaleY, only the second one is applied. While we fix this bug, you can use a DoubleAnimationUsingKeyFrames that is perfect for this scenario: --- <Storyboard x:Key="ShowStoryboard"> <DoubleAnimation From="0.0" To="1.0" Duration="0:0:1.1" Storyboard.TargetName="WindowBorder" Storyboard.TargetProperty="RenderTransform.ScaleX" /> <DoubleAnimationUsingKeyFrames Storyboard.TargetName="WindowBorder" Storyboard.TargetProperty="RenderTransform.ScaleY"> <EasingDoubleKeyFrame KeyTime="0:0:0" Value="0.0"/> <EasingDoubleKeyFrame KeyTime="0:0:1.2" Value="0.1"/> <EasingDoubleKeyFrame KeyTime="0:0:2.5" Value="1.0"/> </DoubleAnimationUsingKeyFrames> </Storyboard> --- |
(0002772)
Scherub 2015-07-25 02:09 |
Ah, this works. Thanks a lot! :) |
(0008928)
ivodopiviz 2023-11-06 15:27 (Last edited: 2023-11-06 15:27) |
Is it possible I'm hitting the same bug in C++? My XAML: -- <Storyboard x:Key="FadeAnimation" TargetName="MyStackPanel"> <DoubleAnimation Storyboard.TargetProperty="Opacity" From="0.0" To="1.0" Duration="0:0:1"/> <DoubleAnimation Storyboard.TargetProperty="Opacity" From="1.0" To="0.0" Duration="0:0:1" BeginTime="0:0:10"/> </Storyboard> -- I know there are workarounds, but it'd be nice to have this fixed :) |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2808 | [NoesisGUI] Studio | minor | always | 2023-11-02 12:01 | 2023-11-03 12:33 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Sudden displacement when using Move tool | ||||
Description: | As seen here https://youtu.be/K0r8EANNB6k?feature=shared&t=813 when trying to use the Move tool, there's a sudden displacement of the selected element. | ||||
Tags: | |||||
Steps To Reproduce: |
1. Draw a rectangle 2. Try to move it with the Selection tool 3. hit the M key and try to move it again |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2816 | [NoesisGUI] Studio | major | always | 2023-11-02 16:41 | 2023-11-02 17:54 |
Reporter: | dfranjic | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Dragging some NumericProperty value will generate lots of commands | ||||
Description: |
With the rework of how NumericInput and NumericProperty work, there's a bug now that when dragging, for example, StrokeThickness value from 20px to 40px Studio will generate 20 undo/redo commands. This requires me to press CTRL+Z 20 times to go back to the original value. Studio should invoke Property.SetValueCommand only once -- on drag end, but update the NumericProperty.NumericValue value while user is dragging. This will keep the realtime preview but generate only command with the value 40px. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2809 | [NoesisGUI] Studio | trivial | always | 2023-11-02 12:32 | 2023-11-02 16:58 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Save All command not working | ||||
Description: | The File>Save All command and the associated shortcut (Ctrl+Shift+S) are not working, as seen here: https://youtu.be/K0r8EANNB6k?feature=shared&t=1507 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2703 | [NoesisGUI] Unreal | feature | always | 2023-09-27 13:01 | 2023-11-02 11:43 |
Reporter: | paula.flamingfowl | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.3 | ||
Target Version: | 3.2.3 | ||||
Platform: | Windows | ||||
Summary: | Mouse enhanced input actions not triggering | ||||
Description: |
We have a set of cards that are selected by clicking them, and should be deselected if we right click them or any part of the screen. We are using the enhanced input system and we created a cancel card action (assigned to right click). If we right click any part of the screen without noesis UI, it works correctly. However, if we right click a part of the screen with some UI (for example on top of the cards or any other button), the enhanced input doesn't trigger. While investigating this, we realized that if we change the NativeOnMouseButtonDown function return value when hit, the right click works but there are other issues with changing this |
||||
Tags: | enhanced input, Unreal | ||||
Steps To Reproduce: |
Create a UI with a button, import it and add it to the viewport. Create an enhanced action assigned to right click. Assing the completed event to some print or log funtion Right click outsite the button. This should work Right click inside the button. The print/log won't appear |
||||
Additional Information: | |||||
Attached Files: |
noesis.PNG (66,257 bytes) 2023-09-27 13:01 https://www.noesisengine.com/bugs/file_download.php?file_id=1956&type=bug Video-detail-page (1).webm (2,461,765 bytes) 2023-09-27 13:01 https://www.noesisengine.com/bugs/file_download.php?file_id=1957&type=bug 2703.patch (6,150 bytes) 2023-10-25 12:37 https://www.noesisengine.com/bugs/file_download.php?file_id=1999&type=bug |
||||
Notes | |
(0008882)
hcpizzi 2023-10-25 12:37 |
Hi Paula, I think I've fixed the issue. We weren't taking into account whether the event was handled by Noesis or not. I've added that check and it fixes your repro case. Could you give this patch a try? Thanks. |
(0008915)
paula.flamingfowl 2023-10-31 15:50 |
The patch works!!! thanks :) |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2804 | [NoesisGUI] Unity3D | feature | always | 2023-11-01 15:08 | 2023-11-02 10:06 |
Reporter: | stonstad | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2.3 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Add TextBox.PreventKeyboardDisplayOnProgrammaticFocus | ||||
Description: |
A mechanism to disable the keyboard display is needed because there are scenarios in which a keyboard display is not needed or wanted. For example, if a console has an attached keyboard. associated thread: https://www.noesisengine.com/forums/viewtopic.php?f=3&t=3118&p=16266#p16266 |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008921)
stonstad 2023-11-01 15:08 |
https://learn.microsoft.com/en-us/uwp/api/windows.ui.xaml.controls.textbox.preventkeyboarddisplayonprogrammaticfocus?view=winrt-22621 |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1586 | [NoesisGUI] Unity3D | tweak | N/A | 2019-11-24 14:29 | 2023-11-01 15:14 |
Reporter: | stonstad | Platform: | |||
Assigned To: | OS: | ||||
Priority: | normal | OS Version: | |||
Status: | new | Product Version: | 2.2.5 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Make NoesisUnity.UpdateCursor Public | ||||
Description: | It'w great that Noesis allows us to define textures for cursors via the Noesis Settings screen. It makes sense to be able to set those same textures using the Noesis API. This request is for NoesisUnity.UpdateCursor to be made public. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2791 | [NoesisGUI] Unity3D | minor | always | 2023-10-29 21:39 | 2023-11-01 15:12 |
Reporter: | stonstad | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2.2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | [NOESIS/E] Visuals don't have a common ancestor after domain reload. | ||||
Description: |
After a domain reload, I get the following error when user controls are created. [NOESIS/E] Visuals don't have a common ancestor UnityEngine.Debug:LogError (object,UnityEngine.Object) NoesisUnity:UnityLog (int,string) (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/NoesisUnity.cs:363) Noesis.Visual:TransformToVisual (Noesis.Visual) (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/API/Proxies/Visual.cs:137) NoesisGUIExtensions.BackgroundEffectBehavior:OnElementUpdated (object,Noesis.EventArgs) (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/API/Interactivity/BackgroundEffectBehavior.cs:125) Noesis.EventArgs:InvokeHandler (System.Delegate,intptr,intptr) (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/API/Proxies/EventArgs.cs:51) Noesis.EventManager:InvokeHandler (string,System.Delegate,intptr,intptr) (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/API/Core/Events.cs:660) Noesis.EventHandlerStore:RaiseEvent (intptr,intptr,string,intptr,intptr) (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/API/Core/Events.cs:407) Noesis.View:Update (double) (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/API/Core/View.cs:368) NoesisView:UpdateInternal () (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/NoesisView.cs:1461) NoesisView:LateUpdate () (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/NoesisView.cs:1362) |
||||
Tags: | |||||
Steps To Reproduce: |
This is new to 3.2.2. 1) Open Unity 2) Run game. No errors are shown. Stop game. 3) Run game. Now user controls throw the above error. I'm sure you'll need a reproduction project. This is one of three different kinds of errors I am seeing with 3.2.2. I'm trying to resolve the bug with the stack overflow, and I'm running into this behavior. I am also running into Unity Editor crashes on domain reload after editing XAML. I'll file a separate report for the crashes -- but perhaps it is all related. |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008897)
stonstad 2023-10-30 05:38 (Last edited: 2023-10-30 05:38) |
*edit, removed. |
(0008900)
sfernandez 2023-10-30 11:11 |
I was not able to reproduce it with our BackgroundBlur sample included in the plugin. Is this only happening in your game or are you able to reproduce it in a separate simple project? I could add a check before calling TransformToVisual to avoid the error message, but I want to understand why this is happening. |
(0008904)
stonstad 2023-10-30 16:23 |
I think the error message is telling us that something is wrong, but I can't seem to figure out what the precise side-effect is to having a static singleton instance of my top-level UI, and how it is contributing to the behaviors I am seeing. I have a very complex use-case for background blur effect, which involves two separate effects, and binding logic to tell a template which blur layer to use (to avoid cyclic dependencies). [UIStateMachine] <Controls> [Root] (this is a static singleton) [OverlayBlurSource] [BackgroundBlurSource (Camera)] [BaseLayer] <BackgroundControlTitle> -> BackgroundBlurSource [OverlayLayer] <TitleMenuControl> <BackgroundEffect1> -> OverlayBlurSource - The first background blur source uses a 2D texture from the Unity camera. This is "Background Blur Source". Controls in the BaseLayer or OverlayLayer may reference this brush. - The second background blur source combines everything in the "base" layer visual tree, including the original blur source. This is called "OverlayBlurSource". This is the blur source used by overlays. I can see how referencing an incorrect layer causes a cyclic dependency. But what isn't clear is why it sometimes works, and sometimes doesn't, and always works in 3.2.1. As you suggest, it may be related to a different behavior / issue. |
(0008907)
stonstad 2023-10-30 17:41 |
The warning message, " [NOESIS/E] Visuals don't have a common ancestor after domain reload." is now resolved by changing my binding approach. Previously, binding BackgroundEffectBehavior.Source was accomplished as follows: // code-behind: public static readonly DependencyProperty BlurLayerProperty = DependencyProperty.Register("BlurLayer", typeof(FrameworkElement), typeof(BorderControlTitle), new PropertyMetadata(null)); public FrameworkElement BlurLayer { get { return (FrameworkElement)GetValue(BlurLayerProperty); } set { SetValue(BlurLayerProperty, value); } } public override void OnApplyTemplate() { base.OnApplyTemplate(); if (Template != null && BlurLayer != null) { BackgroundEffectBehavior _BottomPanelBackgroundEffect = GetTemplateChild("_BottomPanelBackgroundEffect") as BackgroundEffectBehavior; BackgroundEffectBehavior _TopPanelBackgroundEffect = GetTemplateChild("_TopPanelBackgroundEffect") as BackgroundEffectBehavior; if (_BottomPanelBackgroundEffect != null) _BottomPanelBackgroundEffect.Source = BlurLayer; if (_TopPanelBackgroundEffect != null) _TopPanelBackgroundEffect.Source = BlurLayer; } } Binding is now accomplished as follows: public static readonly DependencyProperty BlurLayerProperty = DependencyProperty.Register("BlurLayer", typeof(FrameworkElement), typeof(BorderControlTitle), new PropertyMetadata(null)); public FrameworkElement BlurLayer { get { return (FrameworkElement)GetValue(BlurLayerProperty); } set { SetValue(BlurLayerProperty, value); } } // XAML: <b:Interaction.Behaviors> <noesis:BackgroundEffectBehavior Source="{Binding RelativeSource={RelativeSource AncestorType=local:BorderControlHero}, Path=BlurLayer}"> <BlurEffect Radius="{Binding Radius, Source={StaticResource BottomBlurRadius}}"/> </noesis:BackgroundEffectBehavior> </b:Interaction.Behaviors> All error messages and crashes are now resolved. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2795 | [NoesisGUI] Studio | minor | always | 2023-10-30 13:22 | 2023-10-31 22:07 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Crash when deleting last path point | ||||
Description: | As seen here https://youtu.be/4NP8yxvpKC0?feature=shared&t=1075 deleting the remaining point of a path will crash the Studio, instead of simply removing the path entirely. | ||||
Tags: | |||||
Steps To Reproduce: |
1. Create a path with the pen tool 2. Either with the pen or the direct selection tool, remove points one by one |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2774 | [NoesisGUI] Studio | minor | always | 2023-10-26 14:01 | 2023-10-31 22:06 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Copy paste not working on Navigator panel | ||||
Description: | As seen here https://youtu.be/3C8q3FXvqKM?feature=shared&t=54 copy and paste command don't work properly or at all in the navigator panel. | ||||
Tags: | |||||
Steps To Reproduce: |
1. Create some elements in a page (rectangles, grids..) 2. Rename the elements 2. Using the context menu copy and paste an element |
||||
Additional Information: | |||||
Attached Files: |
CopyPasteBug.xaml (751 bytes) 2023-10-27 12:45 https://www.noesisengine.com/bugs/file_download.php?file_id=2002&type=bug |
||||
Notes | |
(0008887)
dfranjic 2023-10-27 12:23 |
I can't seem to reproduce this. Can you please try to find simplest way to reproduce this issue? Or provide a XAML file in which this bug occurs. |
(0008888)
fllorens 2023-10-27 12:45 |
Yes, it works properly when they don't have a name. If the user renames them doubleclicking in the navigator panel element's name, and then copy pastes, the bug arises. I'm attaching a xaml where this behavior happens. |
(0008889)
fllorens 2023-10-27 12:45 |
Try this one |
(0008919)
dfranjic 2023-10-31 22:06 |
Sorry, I somehow missed the fact that the element must have a name. It should be fixed with r12898 -- Studio now searches for "x:Name" in the contents of the XAML before actually pasting it and replaces it's value with a name that isn't taken. Duplicate (ALT+Drag or right click->Duplicate) now also handles the x:Name correctly (finds a non-taken name and stores it as "x:Name" rather than just "Name"). |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2803 | [NoesisGUI] Studio | tweak | N/A | 2023-10-31 20:02 | 2023-10-31 20:02 |
Reporter: | jsantos | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Preview options in ComboBoxes | ||||
Description: |
When a Combobox is expanded and we hover the options, it would be nice to "temporally" set that option and view the result. If no option is selected, the initial value is restored. This would make things like previewing fonts a much faster process. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2726 | [NoesisGUI] Unity3D | major | always | 2023-10-13 16:12 | 2023-10-31 18:24 |
Reporter: | stonstad | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.2 | ||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2.3 | ||||
Platform: | Any | ||||
Summary: | Visual Corruption During ScrollViewer Scroll Operation | ||||
Description: |
Please see enclosed video: https://stellarconquest.blob.core.windows.net/tmp/NoesisScrollGlitch.mp4 When deployed to an XBOX Series X using Unity, scrolling causes visual artifacts to appear on screen. Attached XAML is included. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
LicenseControl.xaml (1,604 bytes) 2023-10-13 16:12 https://www.noesisengine.com/bugs/file_download.php?file_id=1982&type=bug |
||||
Notes | |
(0008819)
jsantos 2023-10-13 18:47 |
Could you please also attach a razor capture? |
(0008821)
stonstad 2023-10-13 19:50 |
Yes. What is a razor capture? Do you mean pix? |
(0008822)
jsantos 2023-10-13 20:01 |
Yes, sorry :) |
(0008827)
stonstad 2023-10-16 15:30 |
I had to rollback to 3.2.1 because the PC builds were crashing due to https://www.noesisengine.com/bugs/view.php?id=2727. I will attempt to re-install 3.2.2 to provide PIX data, but this is a lower priority for us because 2727 breaks PC builds. |
(0008832)
jsantos 2023-10-16 20:46 |
Thanks, I will try to reproduce with your XAML |
(0008911)
stonstad 2023-10-30 21:39 |
Jesus, I am not seeing this behavior anymore on XBOX. If it comes back, I'll reply back here with a PIX dump. |
(0008917)
jsantos 2023-10-31 18:24 |
I am closing this for now, please reopen (or create a new one) if needed |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2790 | [NoesisGUI] Studio | crash | always | 2023-10-28 18:44 | 2023-10-31 15:31 |
Reporter: | dfranjic | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Studio crashes on macOS when using Metal renderer and trying to open a XAML document | ||||
Description: |
Trying to open a XAML document on macOS with Metal renderer causes a crash. The crash is caused by calling a RenderDevice::SetRenderTarget(). The call occurs in XamlDocument.cpp when trying to render the preview (in XamlDocument::Invalidate()). NoesisApp::RenderContext* ctx = NoesisApp::RenderContext::Current() RenderDevice* device = ctx->GetDevice(); ... device->SetRenderTarget(mRenderTarget) where the mRenderTarget value was created beforehand with: mRenderTarget.Reset(device->CreateRenderTarget("EditorPreview", mPreviewWidth, mPreviewHeight, 1, true)); with values mPreviewWidth==397, mPreviewHeight==554. Here's the full stack trace: Thread 1 Queue : com.apple.main-thread (serial) #0 0x00000001844a5420 in objc_msgSend () #1 0x0000000100c23dcc in NoesisApp::MTLRenderDevice::SetRenderTarget(Noesis::RenderTarget*) at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Render/MTLRenderDevice/Src/MTLRenderDevice.mm:435 #2 0x000000010053238c in Editor::XamlDocument::Invalidate(bool) at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Gui/Editor/Src/XamlDocument.cpp:1114 #3 0x0000000100292c18 in Editor::Document::OnPreviewResize(Noesis::BaseComponent*) at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Gui/Editor/Src/Document.cpp:650 #4 0x0000000100291b64 in Editor::Document::SetPreviewContainer(Noesis::Image*) at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Gui/Editor/Src/Document.cpp:326 #5 0x00000001005353bc in Editor::XamlDocument::SetPreviewContainer(Noesis::Image*) at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Gui/Editor/Src/XamlDocument.cpp:3283 #6 0x00000001002a51bc in Noesis::TypePropertyFunction<Editor::Document, Noesis::Image*>::Set(void*, void const*) const at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Core/Kernel/Include/NsCore/TypePropertyImpl.inl:188 #7 0x00000001002a568c in void Noesis::PropSet<Noesis::Image*>(Noesis::TypeProperty const*, void*, Noesis::Param<Noesis::Image*>::Type) at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Core/Kernel/Include/NsCore/TypeProperty.inl:62 #8 0x00000001002a55f4 in void Noesis::SetComponent<Noesis::Image*>(Noesis::TypeProperty const*, void*, Noesis::BaseComponent*, Noesis::Int2Type<2>) at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Core/Kernel/Include/NsCore/TypePropertyUtil.h:91 #9 0x00000001002a55a8 in void Noesis::SetComponent<Noesis::Image*>(Noesis::TypeProperty const*, void*, Noesis::BaseComponent*) at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Core/Kernel/Include/NsCore/TypePropertyUtil.h:99 #10 0x00000001002a5040 in Noesis::TypePropertyFunction<Editor::Document, Noesis::Image*>::SetComponent(void*, Noesis::BaseComponent*) const at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Core/Kernel/Include/NsCore/TypePropertyImpl.inl:166 #11 0x0000000100ddc16c in NoesisApp::ChangePropertyAction::SetPropertyValue(Noesis::BaseComponent*) at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/App/Interactivity/Src/ChangePropertyAction.cpp:233 #12 0x0000000100ddbbb0 in NoesisApp::ChangePropertyAction::Invoke(Noesis::BaseComponent*) at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/App/Interactivity/Src/ChangePropertyAction.cpp:116 #13 0x0000000100e23660 in NoesisApp::TriggerAction::CallInvoke(Noesis::BaseComponent*) at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/App/Interactivity/Src/TriggerAction.Interactivity.cpp:43 #14 0x0000000100e25eb4 in NoesisApp::TriggerBase::InvokeActions(Noesis::BaseComponent*) at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/App/Interactivity/Src/TriggerBase.Interactivity.cpp:73 #15 0x0000000100df4f70 in NoesisApp::EventTriggerBase::OnEvent() at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/App/Interactivity/Src/EventTriggerBase.cpp:93 #16 0x0000000100df5404 in NoesisApp::EventTriggerBase::OnRoutedEvent(Noesis::BaseComponent*, Noesis::RoutedEventArgs const&) at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/App/Interactivity/Src/EventTriggerBase.cpp:292 #17 0x0000000100df5b88 in Noesis::Delegate<void (Noesis::BaseComponent*, Noesis::RoutedEventArgs const&)>::MemberFuncStub<NoesisApp::EventTriggerBase, void (NoesisApp::EventTriggerBase::*)(Noesis::BaseComponent*, Noesis::RoutedEventArgs const&)>::Invoke(Noesis::BaseComponent*, Noesis::RoutedEventArgs const&) const at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Core/Kernel/Include/NsCore/Delegate.inl:468 #18 0x00000001006030b0 in Noesis::Delegate<void (Noesis::BaseComponent*, Noesis::RoutedEventArgs const&)>::operator()(Noesis::BaseComponent*, Noesis::RoutedEventArgs const&) const at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Core/Kernel/Include/NsCore/Delegate.inl:172 #19 0x0000000100602810 in Noesis::Delegate<void (Noesis::BaseComponent*, Noesis::RoutedEventArgs const&)>::MultiDelegate::Invoke(Noesis::BaseComponent*, Noesis::RoutedEventArgs const&, void const*, bool (*)(void const*)) const at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Core/Kernel/Include/NsCore/Delegate.inl:595 #20 0x0000000100967204 in Noesis::Delegate<void (Noesis::BaseComponent*, Noesis::RoutedEventArgs const&)>::Invoke(Noesis::BaseComponent*, Noesis::RoutedEventArgs const&, void const*, bool (*)(void const*)) const at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Core/Kernel/Include/NsCore/Delegate.inl:184 #21 0x00000001009624cc in Noesis::UIElement::NotifyHandlers(Noesis::RoutedEventArgs const&) at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Gui/Core/Src/UIElement.cpp:2724 #22 0x0000000100962124 in Noesis::UIElement::RaiseEvent(Noesis::RoutedEventArgs const&) at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Gui/Core/Src/UIElement.cpp:1309 #23 0x0000000100723428 in Noesis::FrameworkElement::OnLoaded() at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Gui/Core/Src/FrameworkElement.cpp:3678 #24 0x0000000100723384 in Noesis::FrameworkElement::RaiseLoaded() at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Gui/Core/Src/FrameworkElement.cpp:3666 #25 0x000000010098d4dc in Noesis::ViewLayout::FirePendingLoaded() at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Gui/Core/Src/ViewLayout.cpp:648 #26 0x000000010098cc74 in Noesis::ViewLayout::ProcessLayout() at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Gui/Core/Src/ViewLayout.cpp:456 #27 0x000000010098ca54 in Noesis::ViewLayout::Layout(bool) at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Gui/Core/Src/ViewLayout.cpp:301 #28 0x00000001009612e4 in Noesis::UIElement::UpdateLayout() at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Gui/Core/Src/UIElement.cpp:844 #29 0x00000001001f496c in Editor::BindableSelectedItemBehavior::OnSelectedItemChanged(Noesis::DependencyObject*, Noesis::DependencyPropertyChangedEventArgs const&) at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Gui/Editor/Src/BindableSelectedItemBehavior.cpp:86 #30 0x00000001001f1040 in Noesis::Delegate<void (Noesis::DependencyObject*, Noesis::DependencyPropertyChangedEventArgs const&)>::FreeFuncStub<void (*)(Noesis::DependencyObject*, Noesis::DependencyPropertyChangedEventArgs const&)>::Invoke(Noesis::DependencyObject*, Noesis::DependencyPropertyChangedEventArgs const&) const at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Core/Kernel/Include/NsCore/Delegate.inl:396 #31 0x000000010058e7bc in Noesis::Delegate<void (Noesis::DependencyObject*, Noesis::DependencyPropertyChangedEventArgs const&)>::operator()(Noesis::DependencyObject*, Noesis::DependencyPropertyChangedEventArgs const&) const at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Core/Kernel/Include/NsCore/Delegate.inl:172 #32 0x000000010058e748 in Noesis::DependencyObject::OnPropertyChanged(Noesis::DependencyPropertyChangedEventArgs const&) at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Gui/DependencySystem/Src/DependencyObject.cpp:613 #33 0x000000010059dadc in Noesis::Freezable::OnPropertyChanged(Noesis::DependencyPropertyChangedEventArgs const&) at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Gui/DependencySystem/Src/Freezable.cpp:216 #34 0x000000010058fec0 in Noesis::DependencyObject::NotifyPropertyChanged(Noesis::DependencyProperty const*, Noesis::StoredValue*, void const*, void const*, bool, bool, Noesis::PropertyMetadata const*) at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Gui/DependencySystem/Src/DependencyObject.cpp:1327 #35 0x000000010058f3f8 in Noesis::DependencyObject::InternalSetValue(Noesis::DependencyProperty const*, void*, void const*, void*, unsigned char, Noesis::Expression*, Noesis::PropertyMetadata const*, Noesis::Value::Destination, bool) at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Gui/DependencySystem/Src/DependencyObject.cpp:971 #36 0x00000001001f3f5c in Noesis::ValueStorageManagerImpl<Noesis::Ptr<Noesis::BaseComponent>>::SetValue(Noesis::DependencyObject*, Noesis::DependencyProperty const*, Noesis::BaseComponent*, unsigned char, Noesis::Expression*, Noesis::PropertyMetadata const*, Noesis::Value::Destination) const at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Gui/DependencySystem/Include/NsGui/ValueStorageManagerImpl.inl:243 #37 0x00000001005a02d8 in Noesis::ValueStorageManager::SetValueObject(Noesis::DependencyObject*, Noesis::DependencyProperty const*, Noesis::BaseComponent*, unsigned char, Noesis::Expression*, Noesis::PropertyMetadata const*, Noesis::Value::Destination) const at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Gui/DependencySystem/Src/ValueStorageManager.cpp:38 #38 0x000000010058c380 in Noesis::DependencyProperty::SetValueObject(Noesis::DependencyObject*, Noesis::BaseComponent*, unsigned char, Noesis::Expression*, Noesis::PropertyMetadata const*, Noesis::Value::Destination) const at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Gui/DependencySystem/Include/NsGui/DependencyProperty.inl:208 #39 0x000000010058c84c in Noesis::DependencyObject::InternalSetExpression(Noesis::DependencyProperty const*, Noesis::Expression*, unsigned char) at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Gui/DependencySystem/Src/DependencyObject.cpp:707 #40 0x000000010058ca84 in Noesis::DependencyObject::InternalInvalidateProperty(Noesis::DependencyProperty const*, unsigned char) at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Gui/DependencySystem/Src/DependencyObject.cpp:1151 #41 0x000000010058cde4 in Noesis::DependencyObject::InvalidateProperty(Noesis::DependencyProperty const*, unsigned char) at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Gui/DependencySystem/Src/DependencyObject.cpp:280 #42 0x00000001005f6544 in Noesis::BindingExpression::InvalidateTarget() const at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Gui/Core/Src/BindingExpression.cpp:1583 #43 0x00000001005fd0c4 in Noesis::BindingExpression::OnNotifyPropertyChanged(Noesis::BaseComponent*, Noesis::PropertyChangedEventArgs const&) at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Gui/Core/Src/BindingExpression.cpp:1801 #44 0x000000010061695c in Noesis::Delegate<void (Noesis::BaseComponent*, Noesis::PropertyChangedEventArgs const&)>::MemberFuncStub<Noesis::BindingExpression, void (Noesis::BindingExpression::*)(Noesis::BaseComponent*, Noesis::PropertyChangedEventArgs const&)>::Invoke(Noesis::BaseComponent*, Noesis::PropertyChangedEventArgs const&) const at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Core/Kernel/Include/NsCore/Delegate.inl:468 #45 0x00000001005db484 in Noesis::Delegate<void (Noesis::BaseComponent*, Noesis::PropertyChangedEventArgs const&)>::operator()(Noesis::BaseComponent*, Noesis::PropertyChangedEventArgs const&) const at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Core/Kernel/Include/NsCore/Delegate.inl:172 #46 0x00000001006170c0 in Noesis::Delegate<void (Noesis::BaseComponent*, Noesis::PropertyChangedEventArgs const&)>::MultiDelegate::Invoke(Noesis::BaseComponent*, Noesis::PropertyChangedEventArgs const&) const at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Core/Kernel/Include/NsCore/Delegate.inl:572 #47 0x00000001005db484 in Noesis::Delegate<void (Noesis::BaseComponent*, Noesis::PropertyChangedEventArgs const&)>::operator()(Noesis::BaseComponent*, Noesis::PropertyChangedEventArgs const&) const at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Core/Kernel/Include/NsCore/Delegate.inl:172 #48 0x0000000100cd4204 in NoesisApp::NotifyPropertyChangedBase::OnPropertyChanged(char const*) at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/App/ApplicationLauncher/Src/NotifyPropertyChangedBase.cpp:26 #49 0x00000001003bb120 in Editor::Project::SetSelectedFile(Editor::ProjectFile*) at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Gui/Editor/Src/Project.cpp:1041 #50 0x00000001003d261c in Noesis::TypePropertyFunction<Editor::Project, Editor::ProjectFile*>::Set(void*, void const*) const at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Core/Kernel/Include/NsCore/TypePropertyImpl.inl:188 #51 0x00000001003d2aac in void Noesis::PropSet<Editor::ProjectFile*>(Noesis::TypeProperty const*, void*, Noesis::Param<Editor::ProjectFile*>::Type) at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Core/Kernel/Include/NsCore/TypeProperty.inl:62 #52 0x00000001003d2a14 in void Noesis::SetComponent<Editor::ProjectFile*>(Noesis::TypeProperty const*, void*, Noesis::BaseComponent*, Noesis::Int2Type<2>) at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Core/Kernel/Include/NsCore/TypePropertyUtil.h:91 #53 0x00000001003d29c8 in void Noesis::SetComponent<Editor::ProjectFile*>(Noesis::TypeProperty const*, void*, Noesis::BaseComponent*) at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Core/Kernel/Include/NsCore/TypePropertyUtil.h:99 #54 0x00000001003d24a0 in Noesis::TypePropertyFunction<Editor::Project, Editor::ProjectFile*>::SetComponent(void*, Noesis::BaseComponent*) const at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Core/Kernel/Include/NsCore/TypePropertyImpl.inl:166 #55 0x00000001005f6c4c in Noesis::BindingExpression::UpdateSourceInternal(void const*) const at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Gui/Core/Src/BindingExpression.cpp:1364 #56 0x00000001005f866c in Noesis::BindingExpression::BeforeSet(Noesis::DependencyObject*, Noesis::DependencyProperty const*, void const*, bool) at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Gui/Core/Src/BindingExpression.cpp:298 #57 0x000000010058fbd0 in EvaluateLocalExpression(Noesis::DependencyObject*, Noesis::Expression*&, Noesis::StoredValue&, Noesis::DependencyProperty const*, void const*, bool) at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Gui/DependencySystem/Src/DependencyObject.cpp:730 #58 0x000000010058ee78 in Noesis::DependencyObject::InternalSetValue(Noesis::DependencyProperty const*, void*, void const*, void*, unsigned char, Noesis::Expression*, Noesis::PropertyMetadata const*, Noesis::Value::Destination, bool) at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Gui/DependencySystem/Src/DependencyObject.cpp:869 #59 0x00000001005cd720 in void Noesis::DependencyObject::SetValue_<Noesis::Ptr<Noesis::BaseComponent>>(Noesis::Int2Type<1>, Noesis::DependencyProperty const*, Noesis::Ptr<Noesis::BaseComponent>::Type*, Noesis::Value::Destination) at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Gui/DependencySystem/Include/NsGui/DependencyObject.inl:200 #60 0x00000001008d9f4c in void Noesis::DependencyObject::SetCurrentValue<Noesis::Ptr<Noesis::BaseComponent>>(Noesis::DependencyProperty const*, Noesis::SetValueType<Noesis::Ptr<Noesis::BaseComponent>>::Type) at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Gui/DependencySystem/Include/NsGui/DependencyObject.inl:107 #61 0x00000001008d9d8c in Noesis::Selector::UpdateSelectedValue(Noesis::BaseComponent*) at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Gui/Core/Src/Selector.cpp:920 #62 0x00000001008da19c in Noesis::Selector::UpdateSingleSelectedAndRaiseEvent(Noesis::SelectionChangedEventArgs const&, Noesis::BaseComponent*, int, bool) at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Gui/Core/Src/Selector.cpp:1042 #63 0x00000001008d9238 in Noesis::Selector::UpdateSingleSelectedAndRaiseEvent(Noesis::SelectionChangedEventArgs const&, int) at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Gui/Core/Src/Selector.cpp:1035 #64 0x00000001008d9794 in Noesis::Selector::InternalSelectRange(int, int) at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Gui/Core/Src/Selector.cpp:782 #65 0x00000001007f8098 in Noesis::ListBox::SingleSelection(Noesis::ListBoxItem*) at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Gui/Core/Src/ListBox.cpp:145 #66 0x00000001007f873c in Noesis::ListBox::ItemClicked(Noesis::ListBoxItem*, bool, bool, bool, bool) at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Gui/Core/Src/ListBox.cpp:311 #67 0x00000001007f8614 in Noesis::ListBox::ItemClicked(Noesis::ListBoxItem*, bool) at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Gui/Core/Src/ListBox.cpp:287 #68 0x00000001007f9f20 in Noesis::ListBoxItem::OnMouseButtonCommon(Noesis::MouseButtonEventArgs const&) at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Gui/Core/Src/ListBoxItem.cpp:277 #69 0x00000001007f9e84 in Noesis::ListBoxItem::OnMouseLeftButtonUp(Noesis::MouseButtonEventArgs const&) at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Gui/Core/Src/ListBoxItem.cpp:155 #70 0x0000000100974dc0 in Noesis::UIElement::StaticFillClassType(Noesis::TypeClassCreator&)::$_34::operator()(Noesis::BaseComponent*, Noesis::EventArgs const&) const at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Gui/Core/Src/UIElement.cpp:3590 #71 0x0000000100974f00 in Noesis::Delegate<void (Noesis::BaseComponent*, Noesis::EventArgs const&)>::FunctorStub<Noesis::UIElement::StaticFillClassType(Noesis::TypeClassCreator&)::$_34>::Invoke(Noesis::BaseComponent*, Noesis::EventArgs const&) const at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Core/Kernel/Include/NsCore/Delegate.inl:431 #72 0x00000001005cef6c in Noesis::Delegate<void (Noesis::BaseComponent*, Noesis::EventArgs const&)>::operator()(Noesis::BaseComponent*, Noesis::EventArgs const&) const at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Core/Kernel/Include/NsCore/Delegate.inl:172 #73 0x0000000100967178 in Noesis::UIElement::NotifyTypeHandlers(Noesis::TypeClass const*, Noesis::RoutedEventArgs const&) at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Gui/Core/Src/UIElement.cpp:2746 #74 0x00000001009671b0 in Noesis::UIElement::NotifyTypeHandlers(Noesis::TypeClass const*, Noesis::RoutedEventArgs const&) at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Gui/Core/Src/UIElement.cpp:2753 #75 0x00000001009671b0 in Noesis::UIElement::NotifyTypeHandlers(Noesis::TypeClass const*, Noesis::RoutedEventArgs const&) at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Gui/Core/Src/UIElement.cpp:2753 #76 0x00000001009671b0 in Noesis::UIElement::NotifyTypeHandlers(Noesis::TypeClass const*, Noesis::RoutedEventArgs const&) at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Gui/Core/Src/UIElement.cpp:2753 #77 0x00000001009671b0 in Noesis::UIElement::NotifyTypeHandlers(Noesis::TypeClass const*, Noesis::RoutedEventArgs const&) at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Gui/Core/Src/UIElement.cpp:2753 #78 0x0000000100962428 in Noesis::UIElement::NotifyHandlers(Noesis::RoutedEventArgs const&) at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Gui/Core/Src/UIElement.cpp:2712 #79 0x0000000100967bdc in Noesis::UIElement::PromoteMouseButtonEvent(Noesis::MouseButtonEventArgs const&, Noesis::RoutedEvent const*, Noesis::RoutedEvent const*) at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Gui/Core/Src/UIElement.cpp:3300 #80 0x0000000100975acc in Noesis::UIElement::StaticFillClassType(Noesis::TypeClassCreator&)::$_38::operator()(Noesis::BaseComponent*, Noesis::EventArgs const&) const at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Gui/Core/Src/UIElement.cpp:3600 #81 0x0000000100975c0c in Noesis::Delegate<void (Noesis::BaseComponent*, Noesis::EventArgs const&)>::FunctorStub<Noesis::UIElement::StaticFillClassType(Noesis::TypeClassCreator&)::$_38>::Invoke(Noesis::BaseComponent*, Noesis::EventArgs const&) const at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Core/Kernel/Include/NsCore/Delegate.inl:431 #82 0x00000001005cef6c in Noesis::Delegate<void (Noesis::BaseComponent*, Noesis::EventArgs const&)>::operator()(Noesis::BaseComponent*, Noesis::EventArgs const&) const at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Core/Kernel/Include/NsCore/Delegate.inl:172 #83 0x0000000100967178 in Noesis::UIElement::NotifyTypeHandlers(Noesis::TypeClass const*, Noesis::RoutedEventArgs const&) at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Gui/Core/Src/UIElement.cpp:2746 #84 0x00000001009671b0 in Noesis::UIElement::NotifyTypeHandlers(Noesis::TypeClass const*, Noesis::RoutedEventArgs const&) at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Gui/Core/Src/UIElement.cpp:2753 #85 0x00000001009671b0 in Noesis::UIElement::NotifyTypeHandlers(Noesis::TypeClass const*, Noesis::RoutedEventArgs const&) at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Gui/Core/Src/UIElement.cpp:2753 #86 0x00000001009671b0 in Noesis::UIElement::NotifyTypeHandlers(Noesis::TypeClass const*, Noesis::RoutedEventArgs const&) at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Gui/Core/Src/UIElement.cpp:2753 #87 0x00000001009671b0 in Noesis::UIElement::NotifyTypeHandlers(Noesis::TypeClass const*, Noesis::RoutedEventArgs const&) at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Gui/Core/Src/UIElement.cpp:2753 #88 0x0000000100962428 in Noesis::UIElement::NotifyHandlers(Noesis::RoutedEventArgs const&) at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Gui/Core/Src/UIElement.cpp:2712 #89 0x00000001009623a0 in Noesis::UIElement::BubblingEvent(Noesis::RoutedEventArgs const&) at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Gui/Core/Src/UIElement.cpp:2782 #90 0x0000000100962114 in Noesis::UIElement::RaiseEvent(Noesis::RoutedEventArgs const&) at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Gui/Core/Src/UIElement.cpp:1301 #91 0x000000010080c06c in Noesis::Mouse::ButtonUp(int, int, Noesis::MouseButton) at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Gui/Core/Src/Mouse.cpp:391 #92 0x0000000100985658 in Noesis::View::MouseButtonUp(int, int, Noesis::MouseButton) at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Gui/Core/Src/View.cpp:701 #93 0x0000000100cd993c in NoesisApp::Window::OnDisplayMouseButtonUp(NoesisApp::Display*, int, int, Noesis::MouseButton) at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/App/ApplicationLauncher/Src/Window.cpp:1481 #94 0x0000000100ce9a44 in Noesis::Delegate<void (NoesisApp::Display*, int, int, Noesis::MouseButton)>::MemberFuncStub<NoesisApp::Window, void (NoesisApp::Window::*)(NoesisApp::Display*, int, int, Noesis::MouseButton)>::Invoke(NoesisApp::Display*, int, int, Noesis::MouseButton) const at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Core/Kernel/Include/NsCore/Delegate.inl:468 #95 0x0000000100c84004 in Noesis::Delegate<void (NoesisApp::Display*, int, int, Noesis::MouseButton)>::operator()(NoesisApp::Display*, int, int, Noesis::MouseButton) const at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Core/Kernel/Include/NsCore/Delegate.inl:172 #96 0x0000000100c8409c in NoesisApp::AppKitDisplay::OnMouseButtonUp(double, double, Noesis::MouseButton) at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/App/AppKitDisplay/Src/AppKitDisplay.mm:426 #97 0x0000000100c85558 in -[WindowDelegate mouseUp:button:] at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/App/AppKitDisplay/Src/WindowDelegate.mm:174 #98 0x0000000100c85590 in -[WindowDelegate mouseUp:] at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/App/AppKitDisplay/Src/WindowDelegate.mm:179 #99 0x00000001882bb998 in forwardMethod () #100 0x0000000188c39e24 in _routeMouseUpEvent () #101 0x000000018824cb80 in -[NSWindow(NSEventRouting) _reallySendEvent:isDelayedEvent:] () #102 0x000000018824c82c in -[NSWindow(NSEventRouting) sendEvent:] () #103 0x00000001888f3c08 in -[NSApplication(NSEventRouting) sendEvent:] () #104 0x0000000100c8364c in NoesisApp::AppKitDisplay::EnterMessageLoop(bool) at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/App/AppKitDisplay/Src/AppKitDisplay.mm:131 #105 0x0000000100c8de10 in NoesisApp::DisplayLauncher::Run() at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/App/DisplayLauncher/Src/DisplayLauncher.cpp:47 #106 0x0000000100352604 in NsMain(int, char**) at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/Gui/Editor/Src/Main.cpp:209 #107 0x000000010035259c in main at /Users/dfranjic/Code/Work/Editor/Native/Src/Packages/App/Launcher/Include/NsApp/EntryPoint.h:92 #108 0x00000001844f1058 in start () |
||||
Tags: | |||||
Steps To Reproduce: |
Launch Studio on macOS with the Metal renderer. Click on a XAML page inside of the "Assets" panel. |
||||
Additional Information: | |||||
Attached Files: |
MacCrash.png (309,078 bytes) 2023-10-28 18:44 https://www.noesisengine.com/bugs/file_download.php?file_id=2007&type=bug |
||||
Notes | |
(0008914)
dfranjic 2023-10-31 15:31 |
It doesn't crash anymore with the use of DynamicTextureSource so I'm going to close this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2785 | [NoesisGUI] Studio | minor | always | 2023-10-28 02:59 | 2023-10-31 14:57 |
Reporter: | maherne | Platform: | |||
Assigned To: | maherne | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | TextBlockAdorner Styling | ||||
Description: | Apply the styling from the mockup provided. The control bar should maintain a fixed size on screen, unaffected by zoom level. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2784 | [NoesisGUI] Studio | minor | always | 2023-10-28 02:56 | 2023-10-31 14:54 |
Reporter: | maherne | Platform: | |||
Assigned To: | maherne | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | Studio_A1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Runs that were in Hyperlinks are keeping the Hyperlink Foreground Brush | ||||
Description: | Runs that were in Hyperlinks keep the Foreground Foreground Brush from the Hyperlink style, when removed from the Hyperlink. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2796 | [NoesisGUI] Studio | minor | always | 2023-10-30 13:43 | 2023-10-31 11:35 |
Reporter: | fllorens | Platform: | |||
Assigned To: | maherne | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | TextBlock linebreaks are not saved | ||||
Description: | As seen here https://youtu.be/4NP8yxvpKC0?feature=shared&t=1083 linebreaks created with the enter key appear to be working fine, but they are missing after reload. | ||||
Tags: | |||||
Steps To Reproduce: |
1. Create a textblock 2. Add text and create a linebreak with the enter key. 3. Save the file and reopen |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2797 | [NoesisGUI] Studio | minor | always | 2023-10-30 18:56 | 2023-10-30 18:56 |
Reporter: | jsantos | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Moving elements with the mouse | ||||
Description: |
Only previously selected items must be moved with mouse. If you select a new item, the mouse must be released before starting a new movement. This avoid confusing movements of elements, for example a grid with a circle inside. Right now it is very easy to move the grid when you are moving the circle but click in the incorrect area. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2794 | [NoesisGUI] Studio | minor | always | 2023-10-30 13:00 | 2023-10-30 13:19 |
Reporter: | fllorens | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Pasting text in a TextBlock not working properly | ||||
Description: |
As seen here https://youtu.be/4NP8yxvpKC0?feature=shared&t=453 pasting text from other apps or from the Studio itself doen't work the first time, it needs to use the command twice to actually paste the text. In some cases the first paste appears to be saved somehow and it's shown after reloading the file. |
||||
Tags: | |||||
Steps To Reproduce: |
1. Copy unformatted text from a text editor or the Studio itself 2. Add a textBlock 3. Double-click on it 4. Hit Ctrl+V |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2752 | [NoesisGUI] Studio | minor | always | 2023-10-20 17:37 | 2023-10-28 02:12 |
Reporter: | fllorens | Platform: | |||
Assigned To: | maherne | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Grid row/col adorners are resized by viewboxes | ||||
Description: | The row and column adorners are bigger than expected if the grid is inside a viewbox. | ||||
Tags: | |||||
Steps To Reproduce: | Create a grid inside a viewbox and add rows or columns. | ||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2744 | [NoesisGUI] Studio | minor | always | 2023-10-20 14:46 | 2023-10-27 19:22 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | TransformGroup created when moving element in record mode not visible in the Properties panel | ||||
Description: |
Create a Storyboard and select it to enter record mode. Select an element in the viewport and move it. A keyframe will be recorded and a new TransformGroup assigned to the element, but it won't be visible in the Properties panel. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2777 | [NoesisGUI] Studio | minor | always | 2023-10-26 15:37 | 2023-10-27 18:49 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Studio not animating textblock foreground colors | ||||
Description: |
Studio is adding (SolidColorBrush.Color) to the path of the keyframes, but it should be adding (TextBlock.Foreground).(SolidColorBrush.Color) instead. As shown here https://youtu.be/3C8q3FXvqKM?feature=shared&t=1768 |
||||
Tags: | |||||
Steps To Reproduce: |
1. Create a textblock 2. Create a storyboard 3. Try to animate the foreground color of the textblock |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008890)
dfranjic 2023-10-27 18:49 |
It seems that Studio would get confused when SolidColorBrush were stored inline (such as <TextBlock Foreground="#....">). Should be fixed with r12889. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2737 | [NoesisGUI] Studio | feature | always | 2023-10-20 11:27 | 2023-10-27 12:20 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Allow edit clipping path with Direct Selection and Pen tools | ||||
Description: |
When an element has a geometry assigned to the Clip property we should be able to use the Direct Selection and Pen tools to edit and modify the clipping geometry. In this case, the Path adorner should be rendered in a different color to identify it as a clipping geometry. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
clipedit.png (6,625 bytes) 2023-10-20 11:27 https://www.noesisengine.com/bugs/file_download.php?file_id=1992&type=bug |
||||
Notes | |
(0008886)
dfranjic 2023-10-27 12:20 |
Implemented with r12875. Though, implementation can be improved. Currently, a "phantom" Path is added to the view since PathEngineObject currently heavily relies on the Path object (such as GetRenderGeometryHelper()->Clone() to create the outline geometry, it's layout bounds, the PathEngine makes Path->PathEngineObject connections, etc...) so it feels a bit hacky. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2758 | [NoesisGUI] Studio | minor | always | 2023-10-24 10:40 | 2023-10-27 12:14 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Path vertex creation offsets from cursor position | ||||
Description: |
When creating a path with the pen tool inside a template, there seems to be an offset from the cursor and the actual vertex, as shown here: https://youtu.be/7Wb5ozUjVY8?feature=shared&t=362 The effect also appears outside templates, although it is less noticeable. |
||||
Tags: | |||||
Steps To Reproduce: |
1- Create an empty template 2- Using the pen tool, create a moderately complex path. |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008885)
dfranjic 2023-10-27 12:14 |
Fixed with r12875. Some of the calculations were wrong. A new point should be directly under the mouse cursor now. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2739 | [NoesisGUI] Studio | crash | always | 2023-10-20 14:14 | 2023-10-27 12:11 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | It is possible to add an element to elements that don't support children | ||||
Description: |
Create a Rectangle, then go to the Add Element panel and drag another element (Button) inside the Rectangle. The button will be incorrectly added as a child of the Rectangle. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2762 | [NoesisGUI] Studio | minor | always | 2023-10-24 12:35 | 2023-10-24 23:39 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Size values jumping randomly when resizing rectangle | ||||
Description: | As shown here: https://youtu.be/7Wb5ozUjVY8?feature=shared&t=720 and in the attached gif, a slender rectangle (or a panel, it only matters the proportion and some kind of path in the back for the snapping) will abruptly change its height and margins when resized next to the path's border. | ||||
Tags: | |||||
Steps To Reproduce: |
1. Create a path or rectangle (inside or outside a template, doesn't matter) 2. Create another slender rectangle ( or panel ) and try to resize it as shown in the attached gif. |
||||
Additional Information: | |||||
Attached Files: |
Bugs.gif (624,717 bytes) 2023-10-24 12:35 https://www.noesisengine.com/bugs/file_download.php?file_id=1998&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2759 | [NoesisGUI] Studio | minor | always | 2023-10-24 11:37 | 2023-10-24 23:37 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Rough movement of selected elements inside templates | ||||
Description: | Due to some kind of snapping, moving elements inside templates are often rough and difficult, as seen here: https://youtu.be/7Wb5ozUjVY8?feature=shared | ||||
Tags: | |||||
Steps To Reproduce: |
1. Create an empty template 2. Add a rectangular path inside with the pen tool 3. Add a rectangle with roughly the same height as the path 4. Using the Move tool, try to reposition it. |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008878)
dfranjic 2023-10-24 23:37 |
Fixed with r12870. There is now a slight change in snapping logic & the snapping bounds are now scaled with the viewport zoom |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2760 | [NoesisGUI] Studio | minor | have not tried | 2023-10-24 11:41 | 2023-10-24 23:35 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Change parent adorner is shown even if Ctrl key is pressed | ||||
Description: |
When dragging an element around with the Ctrl key pressed then element should be moved without changing parent. Showing the Change Parent adorner in that case is confusing. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2765 | [NoesisGUI] Studio | minor | always | 2023-10-24 16:50 | 2023-10-24 20:52 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Foreground color picker not shown | ||||
Description: | Textblock foreground color picker not shown, the user needs to clear it first. | ||||
Tags: | |||||
Steps To Reproduce: |
1. Create a TextBlock 2. In properties panel try to change the Foreground color |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2766 | [NoesisGUI] Studio | feature | N/A | 2023-10-24 17:43 | 2023-10-24 19:36 |
Reporter: | jsantos | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Improvements editing number values | ||||
Description: |
The value shouldn't be applied until hitting enter. Once we hit enter, we should go into a state where the whole value is selected. In this state, is very easy to edit the value again or jumping to the next item with TAB. In the Select All state, if we hit Escape, we remove the selection. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2769 | [NoesisGUI] Studio | tweak | N/A | 2023-10-24 17:55 | 2023-10-24 17:55 |
Reporter: | jsantos | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Properties panel resetting scroll | ||||
Description: | Each time a new element is selected, the properties panel scroll is reset to the beginning. It remembers the sections that are opened or closed and I think it should remember the position of the scroll too (or something similar, Blend is doing it). Note that the number of components may be different in the new selected item, so just remembering the scroll position is not enough, we need something smarter. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2764 | [NoesisGUI] Studio | minor | always | 2023-10-24 14:13 | 2023-10-24 15:50 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | mp3 files disappearing from asset panel when restarting | ||||
Description: | Imported mp3 files disappear from the assets panels after restarting the Studio, but the actual files remain in the OS folder, as shown here: https://youtu.be/v3ZB3N6p970?feature=shared&t=288 | ||||
Tags: | |||||
Steps To Reproduce: |
1. Import an mp3 file 2. Close an open again the Studio |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008876)
dfranjic 2023-10-24 15:50 |
Audio and video file formats weren't recognized as supported file types thus Studio wasn't bothered showing them in the "Assets" panel. Fixed with r12867. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2757 | [NoesisGUI] Studio | minor | always | 2023-10-24 10:08 | 2023-10-24 11:41 |
Reporter: | fllorens | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Crash when dragging a textblock to a template | ||||
Description: | Dragging a textblock to a template containing shapes crashes the application, as seen in https://youtu.be/7Wb5ozUjVY8?feature=shared&t=157 | ||||
Tags: | |||||
Steps To Reproduce: |
1. create an empty template ( a radio button, a button for example ) 2. Add a shape or a rectangle with reset layout 3. Try to drag a Textblock to the template (in the viewport) |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008871)
dfranjic 2023-10-24 11:41 |
With r12866, the Studio checks if the target element has a content property (if it can hold the children) and if it doesn't have it, the Studio will try to check if the target element's parent can have children. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2749 | [NoesisGUI] Studio | minor | always | 2023-10-20 16:57 | 2023-10-24 10:11 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | Studio_A1 | ||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Margin adorner not showing margins when element is centered | ||||
Description: |
If the Horizontal/Vertical Alignment is set to Center, margins are not properly shown in the Margin adorner. Also, the grey lines (shown for the sides that are not affected by the margin) are not rendered as expected. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2743 | [NoesisGUI] Studio | crash | always | 2023-10-20 14:42 | 2023-10-23 19:54 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Crash moving an element in the viewport while editing a Storyboard | ||||
Description: |
Create a Storyboard and select it to enter the animation record mode. Select an element in the viewport and drag it around so a TransformGroup would be assigned. The second time you try to move the element in the viewport it will crash. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008867)
dfranjic 2023-10-23 19:54 |
Crashes were fixed with r12862. Though, dragging elements through viewport while editing a Storyboard suffers from same bugs like any other type of Property animation at the moment (XAML is correctly generated but Storyboard objects aren't properly updated all the time) |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2753 | [NoesisGUI] Unity3D | minor | always | 2023-10-23 17:05 | 2023-10-23 17:07 |
Reporter: | jsantos | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Unity pre-rotation when using Vulkan not supported | ||||
Description: |
https://docs.unity3d.com/Manual/vulkan-swapchain-pre-rotation.html If your application uses the Vulkan Graphics API and the device supports Vulkan, Unity can apply this rotation during rendering which reduces the performance impact of the rotation. This is called pre-rotation. Pre-rotation is not supported in Noesis. For now the workaround is disabling pre-rotation in Player settings: - Disable "Other Settings > Apply display rotation during rendering" |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2736 | [NoesisGUI] Studio | minor | always | 2023-10-20 11:09 | 2023-10-23 13:48 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Changing Path Stretch from None to Fill does not update the rendered path | ||||
Description: |
1. Create a Path 2. Set its Stretch to None 3. Resize its bounding box 4. Set Stretch back to Fill The rendered Path won't be updated, although when Direct Selection tool is selected the path adorner shows the expected result. Playing the scene also shows the correct Path. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
pathfill.png (24,754 bytes) 2023-10-20 11:09 https://www.noesisengine.com/bugs/file_download.php?file_id=1991&type=bug |
||||
Notes | |
(0008863)
dfranjic 2023-10-23 13:48 |
Fixed with the r12860. After properties were updated in the UpdatePropertyCommand call, the element required an invalidation using the UIElement::InvalidateVisual(). Although, it is worth noting that changing Stretch from None to Uniform or UniformToFill worked perfectly fine. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2741 | [NoesisGUI] Studio | minor | always | 2023-10-20 14:31 | 2023-10-23 13:38 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | Studio_A1 | ||||
Platform: | Any | ||||
Summary: | Incorrect vertical margins when moving or resizing elements | ||||
Description: |
Create a Grid of 100px height, then add a 100x100 Rectangle inside, then drag the Rectangle vertically inside the Grid. When the Rectangle is near the the top or bottom edges of the Grid the calculated margins are clipping the Rectangle (see attached image). |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
marginbug.png (32,840 bytes) 2023-10-20 14:31 https://www.noesisengine.com/bugs/file_download.php?file_id=1994&type=bug |
||||
Notes | |
(0008862)
dfranjic 2023-10-23 13:28 |
This is fixed with the r12859. The horizontal/vertical alignment value is now calculated differently. For example, if the element is moved outside of the parent on the top side, the element's VerticalAlignment is going to be set to Top, regardless of the fact that the element also crosses the center of it's parent's bounds. Second, the margin calculation is also a bit different when the element's Horizontal/VerticalAlignment is set to Center. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2256 | [NoesisGUI] C++ SDK | feature | always | 2022-02-01 16:26 | 2023-10-19 12:14 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1.2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2 | ||||
Platform: | Any | ||||
Summary: | Support property notifications from different threads in bindings | ||||
Description: |
WPF supports notifying of property changes from different threads and the binding engine will properly enqueue the changes to the UI thread to update the UI elements. To correctly implement this in Noesis we should be able to enqueue tasks in our View to be performed during the Update call. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008840)
jsantos 2023-10-17 18:18 |
Related forum thread https://www.noesisengine.com/forums/viewtopic.php?t=3101 |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1269 | [NoesisGUI] C# SDK | trivial | N/A | 2018-04-02 08:56 | 2023-10-19 10:45 |
Reporter: | ai_enabled | Platform: | PC | ||
Assigned To: | jsantos | OS: | Windows | ||
Priority: | normal | OS Version: | 10 x64 | ||
Status: | assigned | Product Version: | 2.1.0f1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2 | ||||
Platform: | Any | ||||
Summary: | Expose mip map LOD bias for texture sampling | ||||
Description: |
As we've discussed, usually with the trilinear filter the result is too blurry, especially if the texture is too large (and all our textures are for 4K so they're large, later we plan to introduce auto switching between textures for 4K and low DPI). The mip map LOD bias helps with increasing sharpness without getting any side effects when the displayed image is static. See the attached screenshots to demonstrate why we need the bias to enable the trilinear filtering. The proper solution might be an XAML extension (similar to Text Stroke) which is recognized by NoesisGUI: <Image Source="icon.png" noesis:Texture.MipMapLodBias="-0.5" /> Or maybe even apply it globally to the root and so to the whole visual tree (I mean - enable inheritance of this property). Another solution - expose the bias setting to the texture wrap API (Texture.WrapD3D11Texture() method) or as a property of the Noesis.Texture class itself. Regards! |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
System Description | |||||
Attached Files: |
MipMap.png (3,110,601 bytes) 2018-04-02 08:56 https://www.noesisengine.com/bugs/file_download.php?file_id=914&type=bug NoMipMap.png (3,037,066 bytes) 2018-04-02 08:56 https://www.noesisengine.com/bugs/file_download.php?file_id=913&type=bug |
||||
Notes | |
(0005165)
jsantos 2018-04-02 16:37 |
Thanks for the report! Yes, I was thinking about adding a new method to Texture. But I need to think more about it. |
(0006820)
ai_enabled 2020-11-25 01:08 |
I wish we can get this method in Texture class or at least as an argument in WrapD3D11 method. |
(0007231)
jsantos 2021-05-07 18:34 |
Hi Vladimir, resurrecting this... :) Sorry for the late reply, this is more complex that adding a float parameter to the texture class. Because it changes de API that our clients need to implement for custom render devices. In modern APIs, MipMapLodBias is not isolated and cannot be set to the GPU. Instead of that, this value is part of a bigger object, SamplerState for example in D3D11. This objects needs to be precreated. This can be done, but we would like to avoid it because it is extra work that need to be done by our clients, we want to avoid increasing the complexity of implementing a custom renderer. Anyway, we are close to 3.1 and this is a good moment to take a decision about this. I have playing with our examples, and I am observing that a MipMapLodBias of -0.75 works almost perfect and very close to BitmapScalingMode set to HighQuality in WPF. So, I propose hardcoding this value or a bit better, just exposing that number in RenderDevice, with the rest of configuration functions like SetOffscreenWidth, etc... This way, instead of a value per texture, you will have the same value for all textures. This is probably what you would end up doing. What do you think? |
(0007694)
ai_enabled 2022-01-02 04:28 |
Hi Jesús, I'm sorry for the very late reply. I've totally forgotten about the email and this ticket as in early May I was totally overwhelmed with 1.0 release and heavy DDoS. attacks on our servers. Global MipMapLodBias sounds like a good solution for us. We're using very few raster images for the UI itsel—mostly there are item icons, and these are rarely animated so negative LOD bias should not cause any noticeable artifacts. Regards! |
(0007699)
jsantos 2022-01-02 19:52 |
3.1 was released with an internal bias of -0.75, please let us know if it works fine in your game. Thanks! |
(0008848)
ai_enabled 2023-10-19 02:53 |
Hello! Sorry for the late reply. We've upgraded to 3.2 a few months ago and nobody complained about the icon bluriness so I guess it's working great! I wish you can provide this setting in RenderDevice as you've proposed in the message above. This way we can not only determine the best setting (e.g. I would like to have no bias when rendering in 4K) but also ensure that the mip map bias works as expected. Regards! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2725 | [NoesisGUI] Unity3D | major | always | 2023-10-12 16:11 | 2023-10-17 18:41 |
Reporter: | Otter | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.2 | ||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2.3 | ||||
Platform: | Any | ||||
Summary: | [Oculus Quest 2] Multiview with MSAA no longer renders WorldSpaceUI | ||||
Description: |
When using 4x MSAA with stereo rendering mode Multiview, the UI is no longer rendering. Multi Pass works as expected. Using: - Unity 2022.3.10f1 - Oculus XR Plugin v4.0.0 (the same with v4.1.1) - XR Plugin Management v4.4.0 |
||||
Tags: | |||||
Steps To Reproduce: |
Import Project.zip or 1. Switch to Android 2. Install Oculus XR Plugin 3. Create a scene with WorldSpaceUI 4. Under Quality select Anti Aliasing: 4x Multi Sampling 5. Go to XR Plug-in Management -> Oculus and change Stereo Rendering Mode to MultiView |
||||
Additional Information: | |||||
Attached Files: |
Project.zip (26,550 bytes) 2023-10-12 16:11 https://www.noesisengine.com/bugs/file_download.php?file_id=1981&type=bug |
||||
Notes | |
(0008838)
jsantos 2023-10-17 14:42 |
Could you please try with Vulkan? |
(0008839)
Otter 2023-10-17 15:04 |
With Vulkan there is no issue with it |
(0008841)
jsantos 2023-10-17 18:41 |
I am going to mark this as solved because this is a problem on Unity side and Vulkan is now the recommended path for Android. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2674 | [NoesisGUI] C# SDK | feature | always | 2023-08-26 02:15 | 2023-10-16 20:55 |
Reporter: | darthmaule2 | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | I would like built-in GIF support | ||||
Description: |
I would like Noesis to support GIFs. We are adding a lot of content to our WPF app to help users understand what some of our features on the product do. That content is mostly in GIFs. We will soon (well sometime in 2024) need to port all that to our Noesis app. |
||||
Tags: | |||||
Steps To Reproduce: | NA | ||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008676)
jsantos 2023-08-28 16:46 (Last edited: 2023-08-28 16:46) |
Any chance these GIFs could be preprocessed to a more optimal format or you need direct suport for GIFs. |
(0008824)
darthmaule2 2023-10-13 22:09 |
We are exploring other options, but we have a WPF application which uses GIFs in a new feature "Learn More", which has a kind of slide show of various product features. If there was a format we could convert the GIFs to for our Noesis application that would look about the same, that would be OK too. |
(0008833)
jsantos 2023-10-16 20:55 |
We could explore supporting this using Video Textures (0001485) |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1485 | [NoesisGUI] C++ SDK | feature | have not tried | 2019-06-10 13:01 | 2023-10-16 20:54 |
Reporter: | jsantos | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Support for Basis Universal GPU Texture and Texture Video | ||||
Description: |
Add this library to the application framework to improve texture usage and to bring support for video. https://github.com/BinomialLLC/basis_universal |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2498 | [NoesisGUI] Unity3D | minor | always | 2023-01-31 07:23 | 2023-10-16 20:38 |
Reporter: | jphyzic | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.4 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.0 | ||
Target Version: | 3.2.0 | ||||
Platform: | Any | ||||
Summary: | Behaviors gets detached when associated object is temporarily removed from visual tree | ||||
Description: |
Assume that we have a UI with several controls with attached behaviors and user wishes to rearrange them from code behind. To do that he should temporarily remove controls from their parents and add them to a new place. Problem is that when a control gets removed from visual tree all behaviors attached to it gets detached and are not reattached when the control is added back. See more: https://www.noesisengine.com/forums/viewtopic.php?p=15217 |
||||
Tags: | |||||
Steps To Reproduce: |
1. Create a userControl with the following markup: <UserControl ... namespaces skipped mc:Ignorable="d"> <StackPanel Orientation="Vertical"> <ItemsControl x:Name="itemsControl"> <Border Width="100" Height="100" Background="Red"> <i:Interaction.Behaviors> <attach:TestBehaviour /> </i:Interaction.Behaviors> </Border> </ItemsControl> <Button Click="Button_Click">Sort</Button> </StackPanel> </UserControl> TestBehaviour implementation: public class TestBehaviour : Behavior<FrameworkElement> { protected override void OnAttached() { base.OnAttached(); System.Diagnostics.Debug.WriteLine($"Attached to {AssociatedObject}"); } protected override void OnDetaching() { base.OnDetaching(); System.Diagnostics.Debug.WriteLine($"Detached"); } } 2. Create a button handler in code behind: private void Button_Click(object sender, RoutedEventArgs e) { var itemsControl = FindName("itemsControl") as ItemsControl; var item = itemsControl.Items[0]; itemsControl.Items.RemoveAt(0); itemsControl.Items.Insert(0, item); } On app startup the TestBehaviour gets attached. Clicking on a button causes the Border element to be temporarily removed from ItemsControl and added back. It causes the TestBehaviour to be detached. |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008257)
jphyzic 2023-02-03 10:24 |
I've managed to find a workaround. Not sure if it's reliable, but better than nothing: public static class NoesisBehaviorsFixes { /// <summary> /// Fixes detaching behaviours when manipulating UI items. /// </summary> /// <remarks> /// When a visual is removed from visual tree and this visual has an attached behaviours in it /// (or its children) these behaviours gets a notification that they are removed from visual tree /// and detach themselves, but adding them back to tree does not make them reattach. /// This method remembers all objects that were detached and not reattached until returned object /// is disposed and detaches them on dispose. /// </remarks> /// <returns></returns> public static IDisposable GuardDetachingBehaviors() { return new AttachmentTracker(); } private class AttachmentTracker : IDisposable { private readonly HashSet<AttachableObject> objectsTodetach = new HashSet<AttachableObject>(); private readonly PropertyMetadata metadata; private readonly PropertyChangedCallback originalChangeCallback; private bool isDisposed; public AttachmentTracker() { var type = typeof(AttachableObject); var field = type.GetField("AttachmentProperty", System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.NonPublic); var attachmentProperty = field.GetValue(null) as DependencyProperty; if (attachmentProperty == null) { isDisposed = true; return; } metadata = attachmentProperty.GetMetadata(typeof(AttachableObject)); originalChangeCallback = metadata.PropertyChangedCallback; metadata.PropertyChangedCallback = OnAttachmentChanged; } public void Dispose() { if (!isDisposed) { DetachObjects(); metadata.PropertyChangedCallback = originalChangeCallback; isDisposed = true; } } private void OnAttachmentChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { if ((Visibility)e.NewValue == (Visibility)(-1)) { if (d is AttachableObject obj) objectsTodetach.Add(obj); } else { if (d is AttachableObject obj) objectsTodetach.Remove(obj); } } private void DetachObjects() { foreach (var item in objectsTodetach) item.Detach(); } } } Usage: any manipulation with UI elements that involves detaching them from visual tree should be guarded: using (NoesisBehavioursFixes.GuardDetachingBehaviors()) { ... manipulate UI elements } |
(0008281)
sfernandez 2023-02-14 11:09 |
This is the patch:Index: AttachableObject.cs =================================================================== --- AttachableObject.cs (revision 12128) +++ AttachableObject.cs (revision 12129) @@ -53,14 +53,10 @@ associatedObject.GetType(), GetType())); } + associatedObject.Destroyed += OnAssociatedObjectDestroyed; _associatedObject = GetPtr(associatedObject); _view = GetPtr(View.Find(this)); - BindingOperations.SetBinding(this, AttachmentProperty, new Binding("Visibility") - { - RelativeSource = new RelativeSource { AncestorType = typeof(UIElement) } - }); - InitObject(); OnAttached(); @@ -69,7 +65,7 @@ public void Detach() { - if (AssociatedObject != null) + if (_associatedObject != IntPtr.Zero) { OnDetaching(); @@ -100,19 +96,9 @@ get { return (View)GetProxy(_view); } } - // We use a binding to get notified when the associated object is disconnected from the tree - // and is going to be destroyed, so we can properly detach from it - private static readonly DependencyProperty AttachmentProperty = DependencyProperty.Register( - ".Attachment", typeof(Visibility), typeof(AttachableObject), - new PropertyMetadata(Detached, OnAttachmentChanged)); - - private static void OnAttachmentChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) + private void OnAssociatedObjectDestroyed(IntPtr d) { - if ((Visibility)e.NewValue == Detached) - { - AttachableObject attachable = (AttachableObject)d; - attachable.Detach(); - } + Detach(); } private const Visibility Detached = (Visibility)(-1); |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2650 | [NoesisGUI] Unity3D | crash | always | 2023-07-12 12:15 | 2023-10-14 21:49 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | OS: | ||||
Priority: | normal | OS Version: | |||
Status: | new | Product Version: | 3.2.1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Default Font in settings only work for 1 font variation | ||||
Description: |
From forum post: https://www.noesisengine.com/forums/posting.php?mode=reply&t=3022 We should provide a list of font assets so user can specify all the font variations that will be available for the default font family. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
Crash_2023-10-14_163405514.zip (800,196 bytes) 2023-10-14 18:49 https://www.noesisengine.com/bugs/file_download.php?file_id=1986&type=bug |
||||
Notes | |
(0008825)
nadjibus 2023-10-14 18:49 |
Update: It appears the crash is not happening anymore in v3.2.2. Thank you! Edit: Spoke too soon, still happens (less frequently though), but the stack trace seems different, so I don't know if it's the same bug or not. Attached the new crash log + dump. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2719 | [NoesisGUI] Unity3D | minor | always | 2023-10-10 23:43 | 2023-10-11 10:15 |
Reporter: | Josh Campbell | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | feedback | Product Version: | 3.2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Drop shadow effect bug in VR | ||||
Description: | Any UI element that uses drop shadow is not rendered if it is positioned in a specific area relative to the camera size. Buggy behavior can be seen in the attached video. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
Buggy drop shadow.mp4 (5,162,303 bytes) 2023-10-10 23:43 https://www.noesisengine.com/bugs/file_download.php?file_id=1976&type=bug |
||||
Notes | |
(0008802)
sfernandez 2023-10-11 10:15 |
Is this with NoesisGUI 3.2.1 or 3.2.2? |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2718 | [NoesisGUI] C++ SDK | major | always | 2023-10-10 11:16 | 2023-10-10 19:16 |
Reporter: | LarianStudios | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1.6 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2 | ||||
Platform: | Any | ||||
Summary: | it's possible to create an infinite loop from xaml | ||||
Description: |
IF you create a contentpresenter style on a datatemplate and let it change the contenttemplate from a trigger this will trigger mFlags.refreshVisualTree = true on applying of the datatemplate when the container is reused when scrolling a virtualised list |
||||
Tags: | |||||
Steps To Reproduce: |
<Style x:Key="SlotPresenterStyle" TargetType="ContentPresenter"> <Setter Property="ContentTemplate" Value="{StaticResource Template.GameObject}"/> <Style.Triggers> <DataTrigger Binding="{Binding Object.Type}" Value="Item"> <Setter Property="ContentTemplate" Value="{StaticResource Template.Item}"/> </DataTrigger> <MultiDataTrigger> <MultiDataTrigger.Conditions> <Condition Binding="{Binding Object.Type}" Value="Item"/> <Condition Binding="{Binding Object.IsEquipment}" Value="True"/> </MultiDataTrigger.Conditions> <Setter Property="ContentTemplate" Value="{StaticResource Template.ItemEquipment}"/> </MultiDataTrigger> <MultiDataTrigger> <MultiDataTrigger.Conditions> <Condition Binding="{Binding Object.Type}" Value="Item"/> <Condition Binding="{Binding Object.IsContainer}" Value="True"/> </MultiDataTrigger.Conditions> <Setter Property="ContentTemplate" Value="{StaticResource Template.ItemContainer}"/> </MultiDataTrigger> </Style.Triggers> </Style> <DataTemplate x:Key="Template.InventorySlot" DataType="ls:VMInventorySlot"> <ContentPresenter x:Name="Presenter" Content="{Binding Object}" Style="{StaticResource SlotPresenterStyle}" /> </DataTemplate> |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2715 | [NoesisGUI] Website | major | always | 2023-10-06 08:50 | 2023-10-09 16:57 |
Reporter: | aliagha.huseynli | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.2 | ||
Product Build: | Resolution: | won't fix | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Unable to download previous version | ||||
Description: | When I go to select the older version link and click on Download it takes me download page but shows the new version. | ||||
Tags: | |||||
Steps To Reproduce: |
Go to https://www.noesisengine.com/docs/Gui.Core.Changelog.html Then go down till e.g Version 3.2.1 Click on Download and it takes you this page https://www.noesisengine.com/developers/downloads.php which only you are able to download Version 3.2.2 (New Version always) |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008794)
jsantos 2023-10-06 12:02 |
This is on purpose, Indie free licenses only get access to the latest version. We provide all versions, including debug and symbols to our Pro licensees. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2714 | [NoesisGUI] Unreal | crash | always | 2023-10-04 22:56 | 2023-10-04 22:56 |
Reporter: | paula.flamingfowl | Platform: | |||
Assigned To: | OS: | ||||
Priority: | normal | OS Version: | |||
Status: | new | Product Version: | 3.2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Inline font icons ignore the Enabled and IsHitTestable properties from parent text box | ||||
Description: |
We're using a TextBox which RichText.Text property is binded to a property that could contain inline tags. We created a tag that changes the FontFamily to use a font icon. The icons are being rendered correctly, but we realized that if we remove the interaction by setting the IsEnabled to false, the drawn icon still detects the interaction. For example (see the video), we have some world icons (using a TextBox with a font icon) that we want to remove their interaction since hovering or clicking them doesn't nothing (and there are objects behind them, the wall, that we want to interact). We set the IsHitTestVisible and IsEnabled propeties to false. However, when we try to interact with the object behind the icon, we can't since the icon is detecting the interaction. This is how we are setting the text to print the icon: <Viewbox IsHitTestVisible="False" IsEnabled="False"> <TextBlock noesis:RichText.Text="{Binding Text}" Foreground="{TemplateBinding Foreground}"/> </Viewbox> THen, this is an inline tag with a font icon we created: <Style x:Key="FontMapIcon" TargetType="{x:Type Inline}"> <Setter Property="FontFamily" Value="{DynamicResource Font.Family.Map.Icon}"/> </Style> And the binded Text could be something like <FontMapIcon>A</> We investigated this a bit and we found that changing the IsEnabled property in the newly created Run component (the ParseText method in RichText.cpp) fixes the problem (see attached image). |
||||
Tags: | richtext | ||||
Steps To Reproduce: |
Create a font icon with iconmoon. Import the font into blend and create an inline tag. Something like this: <Style x:Key="FontMapIcon" TargetType="{x:Type Inline}"> <Setter Property="FontFamily" Value="{DynamicResource Font.Family.Map.Icon}"/> </Style> Create a TextBox and bind the RichText.Text property to a text with the font tag: <FontMapIcon>A</>. Set IsEnabled to false Create a component behind that TextBox which color changes when it's hovered Import into unreal. See that the object behind is not hovered when the cursor is on top of the TextBox icon |
||||
Additional Information: | |||||
Attached Files: |
image.png (46,534 bytes) 2023-10-04 22:56 https://www.noesisengine.com/bugs/file_download.php?file_id=1969&type=bug Nueva-pestaña (3).webm (2,667,367 bytes) 2023-10-04 22:56 https://www.noesisengine.com/bugs/file_download.php?file_id=1970&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2702 | [NoesisGUI] Unity3D | feature | always | 2023-09-27 04:34 | 2023-10-03 19:46 |
Reporter: | saji8k | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Support 3D Text, 3D Paths in WorldSpace UI | ||||
Description: |
It would be great if we could extrude 2D text/paths/shapes to give them depth in WorldSpace UIs with just a few additional XAML properties. This would allow developers to create 3D Text, 3D Buttons and other 3D UI elements very easily. Unreal does something similar with their 3D Text Plugin. With just a few properties (extrude, bevel, bevel type, Half Circle Segments) you can create 3D Geometry from 2D Text. Docs: https://docs.unrealengine.com/4.27/en-US/Basics/Actors/3DText/ Source: https://github.com/EpicGames/UnrealEngine/tree/release/Engine/Plugins/Experimental/Text3D/Source/Text3D Video Example 1: https://www.youtube.com/watch?v=YD4th9T3Kfs Video Example 2: https://www.youtube.com/watch?v=r_PdMTN5oKk Video Example 3: https://www.youtube.com/watch?v=4cJbOZAfnIc |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2522 | [NoesisGUI] C# SDK | major | always | 2023-02-23 17:13 | 2023-09-28 17:59 |
Reporter: | voula_d | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.7 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.2 | ||
Target Version: | 3.2.2 | ||||
Platform: | Any | ||||
Summary: | Dispatcher.BeginInvoke never invokes the callback | ||||
Description: |
I have a class that inherits from DispatcherObject. The class contains methods to call BeginInvoke on the Dispatcher but the callbacks never get called unless I use Application.Current.Dispatcher. The following link contains code to reproduce the problem. https://drive.google.com/file/d/1XU4QjiElK47VUMmFRtn2_j2yXBDbcFxS/view?usp=sharing |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008302)
sfernandez 2023-02-23 19:36 |
Hi, I found that creating classes directly inheriting from DispatcherObject won't provide the correct Dispatcher, this is a bug. If you change your base class to DependencyObject in your sample then it will correctly invoke the callback. |
(0008306)
voula_d 2023-02-24 09:39 |
I undertand. Changing to DependencyObject works but that won't help for our production scenario, we have a class that needs to derive from DispatcherObject. Is this a bug that will be fixed in the next version? Thank you. |
(0008307)
sfernandez 2023-02-24 10:51 |
Yes, of course, this is a bug that we will solve for the next version. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2311 | [NoesisGUI] C++ SDK | feature | have not tried | 2022-03-18 11:06 | 2023-09-28 15:42 |
Reporter: | jsantos | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Support for SVG | ||||
Description: |
Implement support for parsing SVG to Drawing objects. These objects can be rendered using 'OnRender' or as a texture using DrawingBrush or DrawingImage. There is the following community effort for WPF: https://github.com/dotnetprojects/SVGImage And a proposal to have this supported in WPF: https://github.com/dotnet/wpf/issues/86 The implementation must support binding to internal attributes of the SVG. For example: <local:SVG Source="Data/something.svg"> <Param Name="hand/fill.color" Value="{Binding HandColor}"/> <Param Name="icon/stroke.color" Value="{Binding IconStroke}"/> </local:SVG> |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2620 | [NoesisGUI] Inspector | crash | always | 2023-06-06 19:30 | 2023-09-28 14:56 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.2 | ||
Target Version: | 3.2.2 | ||||
Platform: | Any | ||||
Summary: | Crash inspecting element with a templated parent binding in a style | ||||
Description: |
Connecting to an application rendering the following xaml:<Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <Grid.Resources> <Style x:Key="rectStyle" TargetType="Rectangle"> <Setter Property="Tag" Value="{Binding Tag, RelativeSource={RelativeSource Mode=TemplatedParent}}"/> </Style> </Grid.Resources> <Rectangle Style="{StaticResource rectStyle}" Width="100" Height="50" Fill="Blue"/> </Grid> Selecting the Rectangle in the inspector will crash it. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2622 | [NoesisGUI] Unity3D | crash | always | 2023-06-11 00:20 | 2023-09-27 17:49 |
Reporter: | stonstad | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.2 | ||
Target Version: | 3.2.2 | ||||
Platform: | Any | ||||
Summary: | Noesis Crashes Upon Editor Load | ||||
Description: |
Noesis crashes the editor when I start it up. I'll need to review code to see what I might have introduced to manifest this behavior. I'm attaching logs and crash dump. To be clear, it happens each and every time I load the editor. Right now, I see code diff's with Resource XAML files, but the error itself isn't visible to me yet. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
Crash_2023-06-10_221655350.zip (382,771 bytes) 2023-06-11 00:20 https://www.noesisengine.com/bugs/file_download.php?file_id=1864&type=bug image.png (99,743 bytes) 2023-06-11 00:23 https://www.noesisengine.com/bugs/file_download.php?file_id=1865&type=bug |
||||
Notes | |
(0008532)
stonstad 2023-06-11 00:23 |
Easy fix -- a carriage return deleted some characters from a resource XAML file. See attached image. Thanks, Shaun |
(0008781)
sfernandez 2023-09-27 17:49 |
This should be fixed in 3.2.2 |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2701 | [NoesisGUI] Unreal | crash | always | 2023-09-26 14:25 | 2023-09-27 15:30 |
Reporter: | vmaurer | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.2 | ||
Target Version: | 3.2.2 | ||||
Platform: | Any | ||||
Summary: | Crash when closing the application with Alt+F4 | ||||
Description: |
The application crashes when shut down using Alt+F4. No crash message is generated. A break point in Unreal's material instance code will trigger, if a debugger is attached to the application (See call stack). Without debugger, the process just a remains in a zombie state. A note on the call stack: UVisibilityManagedElement is a custom class with a Noesis::Ptr< Noesis::UIElement > to a tree containing material instances. It seems the materials weren't cleaned up by the plugin when AppPreExit() was called. |
||||
Tags: | C++, Materials, Unreal | ||||
Steps To Reproduce: |
- During game runtime, a UI with material instances must be added to the viewport - A UObject with a smart pointer to a UIElement within that UI must exist - Hitting Alt+F4 triggers the AppPreExit() function and the garbage collector force destroys the before mentioned UObject with the UIElement pointer. |
||||
Additional Information: | |||||
Attached Files: |
callstack_crash_altf4.txt (3,420 bytes) 2023-09-26 14:25 https://www.noesisengine.com/bugs/file_download.php?file_id=1955&type=bug 2701.patch (1,877 bytes) 2023-09-27 15:30 https://www.noesisengine.com/bugs/file_download.php?file_id=1958&type=bug |
||||
Notes | |
(0008778)
hcpizzi 2023-09-27 15:30 |
I've changed the raw material pointer to a weak pointer in the material wrapper. I've attached a patch. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2527 | [NoesisGUI] C# SDK | major | always | 2023-03-02 15:32 | 2023-09-27 12:53 |
Reporter: | voula_d | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.7 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.2 | ||
Target Version: | 3.2.2 | ||||
Platform: | Any | ||||
Summary: | StackOverflow exception when setting DataContext in UserControl's constructor. | ||||
Description: | I am getting a stack overflow exception when trying to set a DataContext in the constructor of a custom UserControl that derives from TextBox. Setting the DataContext in the Loaded event works and does not produce the same error. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
NoesisTest.zip (19,154 bytes) 2023-03-02 15:32 https://www.noesisengine.com/bugs/file_download.php?file_id=1775&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2675 | [NoesisGUI] Unity3D | crash | have not tried | 2023-08-29 03:00 | 2023-09-27 10:49 |
Reporter: | JamesW940516 | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.2 | ||
Target Version: | 3.2.2 | ||||
Platform: | Windows | ||||
Summary: | Noesis Unity Package 3.2.1 Crash Issue | ||||
Description: |
I imported Noesis Unity Package 3.2.1 to my Unity Project. Also, I imported Hello World and Buttons Samples to my Unity Project. Problem #1 : When I pressed Unity/Assets/Open Blend Project did not open Blend project of Samples. It created new Blend Project to my Visual Studio Project (Or Unity Project) root directory. Additionally, that blend project was opened by Visual Studio (not by Blend). I had to open the Blend project manually by opening Assets\Samples\NoesisGUI\3.2.1\Buttons\Buttons-blend.sln file with Blend. Problem #2 : There was a Missing Script issue on Camera of Buttons Scene of Samples. Probably, there should be a Moesis View Script. I attached that script to the Camera. Problem #3 : When I tried to enter play mode, Unity crashed. |
||||
Tags: | Blend, crash, Unity | ||||
Steps To Reproduce: |
Unity Version - 2022.3.8f1[LTS] Visual Studio - Version Microsoft Visual Studio Community 2022 (64-bit) - Current Version 17.7.2 Blend Version - Microsoft Blend for Visual Studio Community 2022 (64-bit) - Current Version 17.7.2 Noesis GUI Unity Package Version - 3.2.1 |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008684)
jsantos 2023-08-30 15:59 |
Could you please attach a dump for the crash? |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2677 | [NoesisGUI] Unity3D | major | always | 2023-08-30 21:26 | 2023-09-27 10:49 |
Reporter: | Josh Campbell | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.2 | ||
Target Version: | 3.2.2 | ||||
Platform: | Android | ||||
Summary: | Perf dips pretty hard when the HitTest3D gets run on Quest up to an unusable state | ||||
Description: |
We are noticing a major performance hit when using HitTest3D (as seen in attached screenshot) on Quest Standalone. We're looking into ways to reduce its usage but will ultimately take too hard of a performance hit when interacting with the interface. We haven't implemented changes to reduce the calls when unnecessary, but it -is- too expensive when needed. |
||||
Tags: | |||||
Steps To Reproduce: |
Launch the game - Have the Noesis interface deployed and HitTest called. (Currently always when interface is open) We're hoping to find ways to reduce its impact on the overall performance and were looking for suggestions. |
||||
Additional Information: | |||||
Attached Files: |
image.png (83,879 bytes) 2023-08-30 21:26 https://www.noesisengine.com/bugs/file_download.php?file_id=1911&type=bug image-2.png (70,228 bytes) 2023-08-30 21:26 https://www.noesisengine.com/bugs/file_download.php?file_id=1912&type=bug |
||||
Notes | |
(0008689)
sfernandez 2023-08-31 12:51 (Last edited: 2023-08-31 12:52) |
Hi Josh, Before we further analyze the performance problems we need to understand why you need to use the HitTest3D version with calllbacks. Could you share the code for your filter and result callbacks? Because in our plugin we are simply using the HitTest3D version without callbacks and had no issues so far. Also, please do a test using the HitTest3D without callbacks, you shouldn't have any performance issues on Quest, could you confirm? Thank you! |
(0008694)
sfernandez 2023-09-04 16:01 |
Did you find time to try the HitTest3D version without callbacks? |
(0008772)
sfernandez 2023-09-27 10:49 |
Fixed in changeset 12714 |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2669 | [NoesisGUI] C++ SDK | major | always | 2023-08-17 12:06 | 2023-09-27 10:45 |
Reporter: | ulisesBB | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2 | ||||
Platform: | Any | ||||
Summary: | Matrix4 doesn't implement Transform method to convert a point or vector | ||||
Description: |
In C# we can call Visual::TransformToAncestor, Visual::TransformToDescendant or Visual::TransformToVisual in order to get a transform to convert from one Visual local coordinates to another visual local coordinates. This methods return a GeneralTransform object which contains this: public System.Windows.Point Transform (System.Windows.Point point); In C++ these methods return a Matrix4 object, but it doesn't have any Transform method and I couldn't find any way to transform a point using them. |
||||
Tags: | C++ | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2491 | [NoesisGUI] C++ SDK | minor | always | 2023-01-13 14:48 | 2023-09-27 03:03 |
Reporter: | manuel | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2.0 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2 | ||||
Platform: | Windows | ||||
Summary: | DropShadowEffect isn't correctly considered when laying out images onto the offscreen render context | ||||
Description: | I investigated the issue with RenderDoc and noticed that the gaps between the images on the Offscreen render target are not big enough to accompany the drop shadow. Shadows are overlapping onto other images (on y-axis), other images overdraw the shadows again (on x-axis), or are not drawn at all because there was not enough room left at the bottom of the render target. | ||||
Tags: | |||||
Steps To Reproduce: | According to an email from Sergio: "It is related to the use of effects inside other opacity groups, for example if you have a container that has Opacity="0.5" and elements inside of that container use a drop shadow or blur effect. We are not taking into account the effect padding into the bounds that generate the outer opacity group render." | ||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2052 | [NoesisGUI] C++ SDK | minor | have not tried | 2021-06-21 10:02 | 2023-09-26 20:31 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.12 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.2 | ||
Target Version: | 3.2.2 | ||||
Platform: | Any | ||||
Summary: | Storyboard Completed event triggered for all instances of a template | ||||
Description: |
When defining the Storyboard as part of the resources of an element of the template VisualTree<ControlTemplate x:Key="t" TargetType="Control"> <Border x:Name="root" Background="Red"> <Border.Resources> <Storyboard x:Key="intro"> <ColorAnimation To="Blue" Duration="0:0:0.5" Storyboard.TargetName="root" Storyboard.TargetProperty="Background.Color"/> </Storyboard> </Border.Resources> <i:Interaction.Triggers> <i:EventTrigger EventName="MouseEnter"> <ei:ControlStoryboardAction Storyboard="{StaticResource intro}"/> </i:EventTrigger> <ei:StoryboardCompletedTrigger Storyboard="{StaticResource intro}"> <ei:ChangePropertyAction TargetName="root" PropertyName="Width" Value="150"/> </ei:StoryboardCompletedTrigger> </i:Interaction.Triggers> </Border> </ControlTemplate> all instances of the template share the same Storyboard and trigger the Completed event for all controls. In WPF each control instance has its own copy of the Storyboard and the Completed event triggers only for the corresponding instance. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008609)
mshvern 2023-07-22 00:24 |
I'm here from Googling but it does seem like the issue is the same in WPF. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2653 | [NoesisGUI] Unreal | minor | always | 2023-07-20 03:47 | 2023-09-26 20:30 |
Reporter: | mshvern | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.2 | ||
Target Version: | 3.2.2 | ||||
Platform: | Any | ||||
Summary: | ControlStoryboardAction inside ControlTemplates only works for one instance | ||||
Description: |
https://www.noesisengine.com/forums/viewtopic.php?p=15719#p15719 Only one instance of an animation can play at the same time if it's a resource defined in ControlTemplate AND it is launched from a ControlStoryboardAction |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2634 | [NoesisGUI] Unreal | minor | always | 2023-06-28 12:43 | 2023-09-26 20:30 |
Reporter: | ThisIsMyUserName | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.2 | ||
Target Version: | 3.2.2 | ||||
Platform: | Any | ||||
Summary: | StoryboardCompletedTrigger is invoked for all items in list | ||||
Description: |
When Storyboard is played for item in list, the StoryboardCompletedTrigger is invoked for all items in list. Noesis Forum post - https://www.noesisengine.com/forums/viewtopic.php?t=2976 |
||||
Tags: | C++, Unreal | ||||
Steps To Reproduce: |
Using Noesis 3.2.1 and Unreal Engine Create a DataTemplate that contains a Storyboard and StoryboardCompletedTrigger. Create a list of DataTemplate items (at least 2 items) Play the Storyboard on 1 item Observe StoryboardCompletedTrigger function being called on every item in the list |
||||
Additional Information: | |||||
Attached Files: |
StoryboardCompletedTrigger.patch (8,694 bytes) 2023-06-29 12:35 https://www.noesisengine.com/bugs/file_download.php?file_id=1879&type=bug |
||||
Notes | |
(0008572)
sfernandez 2023-06-29 12:35 |
Could you please try the attahed patch, it should fix your problem. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2692 | [NoesisGUI] C# SDK | feature | always | 2023-09-16 16:38 | 2023-09-25 21:18 |
Reporter: | darthmaule2 | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2.1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2 | ||||
Platform: | Any | ||||
Summary: | Noesis.GUI not Trimmable / AOT compatible | ||||
Description: |
I'm trying to AOT-compile my application. As a first step, I try to trim my application, as that is required for AOT-compilation. <PublishTrimmed>true</PublishTrimmed> This produces this warning about Noesis.GUI: noesis.gui\3.2.1\lib\netstandard2.0\Noesis.GUI.dll : warning IL2104: Assembly 'Noesis.GUI' produced trim warnings. For more information see https://aka.ms/dotnet-illink/libraries |
||||
Tags: | C# | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008747)
darthmaule2 2023-09-16 16:49 |
I also get this warning about the Noesis.GUI nuget package when compiling with IsAotCompatible in my project file: warning NETSDK1206: Found version-specific or distribution-specific runtime identifier(s): win10-arm, win10-x64, win10-x86. Affected libraries: Noesis.GUI. In .NET 8.0 and higher, assets for version-specific and distribution-specific runtime identifiers will not be found by default. See https://aka.ms/dotnet/rid-usage for details. |
(0008748)
darthmaule2 2023-09-16 16:50 |
I'll my testing is done with NoesisGUI 3.2.1 and .NET 8.0 RC1 |
(0008761)
darthmaule2 2023-09-21 12:31 |
Also there is an issue with the WebBrowser when publishing as a single file (required by AOT) So these in the .csproj file: <SelfContained>true</SelfContained> <PublishSingleFile>true</PublishSingleFile> Get this error: System.ArgumentNullException: Value cannot be null. (Parameter 'path1') at System.ArgumentNullException.Throw(String paramName) at System.IO.Path.Combine(String path1, String path2) at NoesisApp.WebBrowser.StaticInitialize() at NoesisApp.WebBrowser..ctor() at lambda_method256(Closure) at Noesis.Extend.CreateInstance(IntPtr nativeType, IntPtr cPtr) |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2696 | [NoesisGUI] C++ SDK | minor | N/A | 2023-09-20 02:04 | 2023-09-20 12:41 |
Reporter: | Mikhail Yanakayev | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.1 | ||
Product Build: | Resolution: | suspended | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Windows | ||||
Summary: | Noesis.dll pdb request | ||||
Description: |
Hello! Could you send me pdb files for debug/windows_x86 and debug/windows_x64 versions of Noesis.dll, please? I have a crash and trying to figure out, what I'm doing wrong. I guess, seeing proper callstack will help me with this. Thank you! |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008754)
jsantos 2023-09-20 12:40 |
I have sent you an email for this |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2695 | [NoesisGUI] Unreal | crash | always | 2023-09-19 11:28 | 2023-09-19 17:11 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.2 | ||
Target Version: | 3.2.2 | ||||
Platform: | Any | ||||
Summary: | Crash loading invalid xaml with VSCode plugin attached | ||||
Description: |
When editing the following xaml in VS Code while connected to Unreal lang server, it crashes the editor:<Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:b="http://schemas.microsoft.com/xaml/behaviors" xmlns:noesis="clr-namespace:NoesisGUIExtensions;assembly=Noesis.GUI.Extensions"> <Grid.Resources> <Storyboard x:Key="ShowText"> <DoubleAnimationUsingKeyFrames Storyboard.TargetName="txt" Storyboard.TargetProperty="Opacity"> <EasingDoubleKeyFrame KeyTime="0:0:0.5" Value="1"/> </DoubleAnimationUsingKeyFrames> </Storyboard> </Grid.Resources> <b:Interaction.Triggers> <noesis:DataEventTrigger Source="{Binding}" EventName="OnTextOpened"> <DataTrigger.EnterActions> <BeginStoryboard x:Name="ShowText" Storyboard="{StaticResource ShowText}"/> </DataTrigger.EnterActions> </noesis:DataEventTrigger> </b:Interaction.Triggers> <TextBlock x:Name="txt" Text="Hello World" Opacity="0"/> </Grid> The crash callstack is: Noesis.dll!Noesis::TypePropertyFunction<Noesis::Span,Noesis::UICollection<Noesis::Inline> * __ptr64>::GetComponent Line 159 C++ Noesis.dll!Noesis::XamlNode::TrySetProperty Line 1355 C++ Noesis.dll!Noesis::XamlNode::SetProperty Line 835 C++ Noesis.dll!Noesis::XamlNode::SetFromObject Line 676 C++ Noesis.dll!Noesis::XamlContext::AddNodeToParent Line 2271 C++ Noesis.dll!Noesis::XamlContext::ProcessObject Line 1488 C++ Noesis.dll!Noesis::XamlContext::OpenObject Line 1133 C++ Noesis.dll!Noesis::XamlContext::ProcessProperty Line 2094 C++ Noesis.dll!Noesis::XamlContext::ProcessObject Line 1560 C++ Noesis.dll!Noesis::XamlContext::OpenObject Line 1133 C++ Noesis.dll!Noesis::XamlContext::ProcessProperty Line 2094 C++ Noesis.dll!Noesis::XamlContext::ProcessObject Line 1560 C++ Noesis.dll!Noesis::XamlContext::CreateTree Line 705 C++ Noesis.dll!Noesis::XamlReader::Load Line 39 C++ Noesis.dll!LoadInternal Line 768 C++ Noesis.dll!LoadInternal Line 799 C++ Noesis.dll!Noesis::UI::LoadComponent Line 815 C++ Noesis.dll!Noesis::GUI::LoadXaml Line 238 C++ UnrealEditor-NoesisRuntime.dll!Noesis::GUI::LoadXaml<Noesis::BaseComponent> Line 17 C++ UnrealEditor-NoesisRuntime.dll!Noesis::CapabilityDiagnostics::GetDiagnosticsMessage Line 94 C++ UnrealEditor-NoesisRuntime.dll!Noesis::MessageReader::HandleMessage Line 207 C++ UnrealEditor-NoesisRuntime.dll!Noesis::LangServer::Tick Line 341 C++ [Inline Frame] UnrealEditor-NoesisEditor.dll!FNoesisEditorModule::OnPostEngineInit::__l2::operator() Line 322 C++ |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2694 | [NoesisGUI] Unreal | feature | N/A | 2023-09-18 13:16 | 2023-09-19 11:49 |
Reporter: | InnesBrownNT | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2.1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Option to resize Offscreen Render Targets when resolution decreases | ||||
Description: |
Currently offscreen render targets are recreated at the new resolution when view resolution increases. When resolution decreases the RTs are not resized as they still fit into the existing size and the RTs can be used as atlases where necessary. However, changes in resolution are a relatively infrequent occurrence for us so we do not mind paying the cost of recreating the RTs to save some memory. Therefore, we would appreciate if there was a flag we could set so that offscreen RTs are resized when any change in resolution occurs, not just an increase. Ideally the flag could be something we just set in the Noesis Rendering settings alongside Offscreen Max Surfaces and the other settings affecting Offscreen RTs. I believe the main part of the code that needs adjustment to support this is the EnsureOffscreen function in VGLContext.cpp. |
||||
Tags: | Rendering | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2663 | [NoesisGUI] C++ SDK | major | always | 2023-08-10 09:45 | 2023-09-15 20:17 |
Reporter: | vmaurer | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.2 | ||
Target Version: | 3.2.2 | ||||
Platform: | Windows | ||||
Summary: | Doesn't compile with Visual Studio 17.7.0 | ||||
Description: |
Error log: 1>C:\myproject\project\Plugins\NoesisGUI\Source\Noesis\NoesisSDK\Src\Packages\App\RiveBase\Src\Rive.cpp(748): error C4834: discarding return value of function with 'nodiscard' attribute 1>C:\myproject\project\Plugins\NoesisGUI\Source\Noesis\NoesisSDK\Src\Packages\App\RiveBase\Src\Rive.cpp(755): error C4834: discarding return value of function with 'nodiscard' attribute 1>C:\myproject\project\Plugins\NoesisGUI\Source\Noesis\NoesisSDK\Src\Packages\App\RiveBase\Src\Rive.cpp(764): error C4834: discarding return value of function with 'nodiscard' attribute The target platform was Windows, compiled with Unreal Engine 5.2 Workaround solution: Comment out all NS_LOG_TRACE(...) lines in Rive.cpp |
||||
Tags: | C++, Rive, Unreal | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2538 | [NoesisGUI] C++ SDK | minor | always | 2023-03-21 18:57 | 2023-09-15 18:31 |
Reporter: | cesar.sanchez | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.6 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.2 | ||
Target Version: | 3.2 | ||||
Platform: | Any | ||||
Summary: | BrushShader textures are not processed unless an additional constant buffer is provided | ||||
Description: | When using BrushShader::SetTexture() the additional texture is not processed and is not present in Batches using that BrushShader. Setting a constant buffer through BrushShader::SetConstantBuffer() solves the issue. | ||||
Tags: | BrushShader, C++ | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2673 | [NoesisGUI] Unity3D | crash | always | 2023-08-25 19:04 | 2023-09-14 12:22 |
Reporter: | nokola | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.2 | ||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Noesis 3.2.1 crashes for 9% of users | ||||
Description: |
After updating to noesis 3.2.1, our app started crashing on startup in production for 9.1% of users. It seems related to openGL ES2. Note unity settings only choose opengl es3 - screenshot attached. The stack trace is the only thing I was able to extract from the crash. |
||||
Tags: | |||||
Steps To Reproduce: |
1. Run Fantasia Painter google play app on Galaxy S23 ultra phone Result: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** pid: 0, tid: 19394 >>> com.datcompany.fantasiapainter <<< backtrace: #00 pc 0x00000000005bcfe4 /vendor/lib64/libllvm-qgl.so (!!!0000!94f922484c7c2a123d83cc9a7b0fc0!1a285a84ae!+84) #01 pc 0x00000000006e2c28 /vendor/lib64/libllvm-qgl.so (!!!0000!8aa9316cfa40ea8e13922cfdcda509!1a285a84ae!+120) #02 pc 0x00000000006e2534 /vendor/lib64/libllvm-qgl.so (!!!0000!99fd46ca6897ca43f4eedd7822487a!1a285a84ae!+436) #03 pc 0x0000000000922234 /vendor/lib64/libllvm-qgl.so (!!!0000!866bd28e17dc06a823006799f7570e!1a285a84ae!+532) #04 pc 0x000000000091e5dc /vendor/lib64/libllvm-qgl.so (!!!0000!2a7897fa7e385f84d70f5d88ea5046!1a285a84ae!+2508) #05 pc 0x000000000058b4a4 /vendor/lib64/libllvm-qgl.so (!!!0000!4ee45c73f202da09ceb9e97299e78c!1a285a84ae!+724) #06 pc 0x000000000058a138 /vendor/lib64/libllvm-qgl.so (!!!0000!e39e8cf324350f3c5a7f77e6d95208!1a285a84ae!+440) #07 pc 0x0000000000589a84 /vendor/lib64/libllvm-qgl.so (!!!0000!367303fb02553850da321d3446c78a!1a285a84ae!+100) #08 pc 0x00000000006d2d04 /vendor/lib64/libllvm-qgl.so (!!!0000!0e406d1c583002d7aa7c873d54dca9!1a285a84ae!+372) #09 pc 0x00000000006d1e44 /vendor/lib64/libllvm-qgl.so (!!!0000!115a3b096d9bc78c0dfb42d0e49024!1a285a84ae!+116) #10 pc 0x00000000008ccaa4 /vendor/lib64/libllvm-qgl.so (!!!0000!aa916b5e953dd3dca1b992ddb2c964!1a285a84ae!+788) #11 pc 0x0000000000d3ff0c /vendor/lib64/libllvm-qgl.so (!!!0000!51d38902a0381d361b611c909947d9!1a285a84ae!+60) #12 pc 0x000000000098993c /vendor/lib64/libllvm-qgl.so (!!!0000!34520e27c398aec80a9430978fab84!1a285a84ae!+1420) #13 pc 0x0000000000984688 /vendor/lib64/libllvm-qgl.so (!!!0000!b351d96637f21e15c92b76750b44e2!1a285a84ae!+760) #14 pc 0x0000000000983510 /vendor/lib64/libllvm-qgl.so (CreateQGLCProgram(QGPUCompiler::CompileData*)+48) #15 pc 0x0000000000983050 /vendor/lib64/libllvm-qgl.so (!!!0000!1e9735fa2d7fa7113c5ea09cbdfdc0!1a285a84ae!+320) #16 pc 0x0000000000981de0 /vendor/lib64/libllvm-qgl.so (!!!0000!aefccce6a332610a9b22f30d0961cc!1a285a84ae!+528) #17 pc 0x000000000004cfc4 /vendor/lib64/libllvm-glnext.so (!!!0000!3dcaee58dbbfbd4511f8fc7a97b9b9!1a285a84ae!+900) #18 pc 0x0000000000300e8c /vendor/lib64/egl/libGLESv2_adreno.so (!!!0000!21c3d0e01b653442370882debb8a54!1a285a84ae!+5052) #19 pc 0x00000000002fecc4 /vendor/lib64/egl/libGLESv2_adreno.so (!!!0000!8b96d97b28460c2822a5897b3ff6e2!1a285a84ae!+452) #20 pc 0x00000000002fea64 /vendor/lib64/egl/libGLESv2_adreno.so (!!!0000!5094ab766f406130e15d3aad524265!1a285a84ae!+68) #21 pc 0x00000000006c39b0 /data/app/~~-2zbesZpccoUJmliBvnDLw==/com.datcompany.fantasiapainter-153LZky8gB-3cQiZSfbgvA==/lib/arm64/libNoesis.so |
||||
Additional Information: | |||||
Attached Files: |
image.png (26,276 bytes) 2023-08-25 19:04 https://www.noesisengine.com/bugs/file_download.php?file_id=1906&type=bug image-2.png (62,054 bytes) 2023-08-26 19:47 https://www.noesisengine.com/bugs/file_download.php?file_id=1907&type=bug pixel5DebugLog.txt (4,214,392 bytes) 2023-08-26 19:54 https://www.noesisengine.com/bugs/file_download.php?file_id=1908&type=bug S23_Ultra_Noesis3.2.1.logcat (4,140,918 bytes) 2023-08-28 22:05 https://www.noesisengine.com/bugs/file_download.php?file_id=1909&type=bug D3_Noesis_3.2.1.logcat.7z (715,681 bytes) 2023-08-29 22:33 https://www.noesisengine.com/bugs/file_download.php?file_id=1910&type=bug |
||||
Notes | |
(0008670)
nokola 2023-08-25 19:06 |
Unity 2022.3.7f1 (latest LTS). |
(0008671)
jsantos 2023-08-26 11:57 |
"It seems related to openGL ES2" Could you please elaborate on this? Could you also paste here the GL extensions available in that device you find in a online test lab that reproduces the crash? |
(0008672)
nokola 2023-08-26 19:47 |
openGL ES2: the only reason I mentioned is because I saw this in the call stack: #18 pc 0x0000000000300e8c /vendor/lib64/egl/**libGLESv2******_adreno.so (!!!0000!21c3d0e01b653442370882debb8a54!1a285a84ae!+5052) #19 pc 0x00000000002fecc4 /vendor/lib64/egl/libGLESv2_adreno.so (!!!0000!8b96d97b28460c2822a5897b3ff6e2!1a285a84ae!+452) #20 pc 0x00000000002fea64 /vendor/lib64/egl/libGLESv2_adreno.so (!!!0000!5094ab766f406130e15d3aad524265!1a285a84ae!+68) But may be unrelated. I don't have the device currently since my membership in the test lab expired. The device is samsung dm1q (Galaxy S23) https://www.gsmarena.com/samsung_galaxy_s23-12082.php We got more crashes this morning, attached screenshot. Same stack trace in all. Let me know if you need further info! Thanks! |
(0008673)
nokola 2023-08-26 19:52 |
Similar crash during startup on Pixel 5: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** Version '2022.3.7f1 (b16b3b16c7a0)', Build type 'Release', Scripting Backend 'il2cpp', CPU 'arm64-v8a' Build fingerprint: 'google/redfin/redfin:11/RQ3A.211001.001/7641976:user/release-keys' Revision: 'MP1.0' ABI: 'arm64' Timestamp: 2023-08-25 10:27:03.846211725-0700 pid: 24214, tid: 24247, name: UnityMain >>> com.datcompany.fantasiapainter <<< uid: 10274 signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr -------- Cause: null pointer dereference x0 00000072707cc8c0 x1 000000000000016c x2 000000000000003c x3 0000000000000009 x4 0000000000000001 x5 0000000000000000 x6 0000008000000000 x7 72646e4cff647174 x8 000000730267f7d8 x9 0000000000000000 x10 0000000000001f44 x11 ca4a000000030103 x12 00000000e0668e81 x13 ca4a000000030103 x14 000000760198473a x15 0000000000000030 x16 00000072efbeca88 x17 00000075feb18ab8 x18 0000007301f8c000 x19 0000000000000009 x20 000000000000003c x21 000000000000016c x22 00000072707cc8c0 x23 0000000000000001 x24 00000072efc56090 x25 00000072efc53cb8 x26 0000007302683000 x27 000000730267fa00 x28 00000000000008fd x29 000000730267f780 lr 000000724f486394 sp 000000730267f6e0 pc 000000724f496f34 pst 0000000060001000 backtrace: #00 pc 00000000006cff34 /data/app/~~zPYUwZSSUp38TbijMj2R3w==/com.datcompany.fantasiapainter-ag6e7wtBNU5yLi551NOGkA==/lib/arm64/libNoesis.so |
(0008674)
nokola 2023-08-26 19:54 |
Added Pixel 5 adb debug log from firebase automated testing. Search for libNoesis.so and you'll find the crash, just a bit past the middle of the log file. |
(0008675)
jsantos 2023-08-28 16:43 (Last edited: 2023-08-28 16:44) |
Do you have access to this Pixel5 device? Could you get the GL extension lists and/or run a development build? |
(0008677)
nokola 2023-08-28 21:34 |
I don't have access to the pixel 5, but got the GL extensions for teh Samsung S23 Ultra that also crashes. Android 13. 08-28 12:30:58.339 1850 1885 W gl2_extensions: GL_OES_EGL_image GL_OES_EGL_image_external GL_OES_EGL_sync GL_OES_vertex_half_float GL_OES_framebuffer_object GL_OES_rgb8_rgba8 GL_OES_compressed_ETC1_RGB8_texture GL_AMD_compressed_ATC_texture GL_KHR_texture_compression_astc_sliced_3d GL_KHR_texture_compression_astc_ldr GL_KHR_texture_compression_astc_hdr GL_OES_texture_compression_astc GL_EXT_texture_compression_s3tc GL_EXT_texture_compression_s3tc_srgb GL_EXT_texture_compression_rgtc GL_EXT_texture_compression_bptc GL_OES_texture_npot GL_EXT_texture_filter_anisotropic GL_EXT_texture_format_BGRA8888 GL_EXT_read_format_bgra GL_OES_texture_3D GL_EXT_color_buffer_float GL_EXT_color_buffer_half_float GL_EXT_float_blend GL_QCOM_alpha_test GL_OES_depth24 GL_OES_packed_depth_stencil GL_OES_depth_texture GL_OES_depth_texture_cube_map GL_EXT_sRGB GL_OES_texture_float GL_OES_texture_float_linear GL_OES_texture_half_float GL_OES_texture_half_float_linear GL_EXT_texture_type_2_10_10_10_REV GL_EXT_texture_sRGB_decode GL_EXT_texture_compression_astc_decode_mode GL_EXT_texture_mirror_clamp_to_edge GL_EXT_texture_format_sRGB_override GL_OES_element_index_uint GL_EXT_copy_image GL_EXT_geometry_shader GL_EXT_tessellation_shader GL_OES_texture_stencil8 GL_EXT_shader_io_blocks GL_OES_shader_image_atomic GL_OES_sample_variables GL_EXT_texture_border_clamp GL_EXT_EGL_image_external_wrap_modes GL_EXT_multisampled_render_to_texture GL_EXT_multisampled_render_to_texture2 GL_OES_shader_multisample_interpolation GL_EXT_texture_cube_map_array GL_EXT_draw_buffers_indexed GL_EXT_gpu_shader5 GL_EXT_robustness GL_EXT_texture_buffer GL_EXT_shader_framebuffer_fetch GL_ARM_shader_framebuffer_fetch_depth_stencil GL_OES_texture_storage_multisample_2d_array GL_OES_sample_shading GL_OES_get_program_binary GL_EXT_debug_label GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent GL_QCOM_tiled_rendering GL_ANDROID_extension_pack_es31a GL_EXT_primitive_bounding_box GL_OES_standard_derivatives GL_OES_vertex_array_object GL_EXT_disjoint_timer_query GL_KHR_debug GL_EXT_YUV_target GL_EXT_sRGB_write_control GL_EXT_texture_norm16 GL_EXT_discard_framebuffer GL_OES_surfaceless_context GL_OVR_multiview GL_OVR_multiview2 GL_EXT_texture_sRGB_R8 GL_KHR_no_error GL_EXT_debug_marker GL_OES_EGL_image_external_essl3 GL_OVR_multiview_multisampled_render_to_texture GL_EXT_buffer_storage GL_EXT_external_buffer GL_EXT_blit_framebuffer_params GL_EXT_clip_cull_distance GL_EXT_protected_textures GL_EXT_shader_non_constant_global_initializers GL_QCOM_texture_foveated GL_QCOM_texture_foveated2 GL_QCOM_texture_foveated_subsampled_layout GL_QCOM_shader_framebuffer_fetch_noncoherent GL_QCOM_shader_framebuffer_fetch_rate GL_EXT_memory_object GL_EXT_memory_object_fd GL_EXT_EGL_image_array GL_NV_shader_noperspective_interpolation GL_KHR_robust_buffer_access_behavior GL_EXT_EGL_image_storage GL_EXT_blend_func_extended GL_EXT_clip_control GL_OES_texture_view GL_EXT_fragment_invocation_density GL_QCOM_motion_estimation GL_QCOM_validate_shader_binary GL_QCOM_YUV_texture_gather GL_QCOM_shading_rate GL_QCOM_frame_extrapolation GL_IMG_texture_filter_cubic GL_QCOM_render_shared_exponent GL_EXT_polygon_offset_clamp GL_EXT_texture_sRGB_RG8 GL_EXT_depth_clamp GL_EXT_fragment_shading_rate GL_EXT_fragment_shading_rate_primitive GL_EXT_fragment_shading_rate_attachment |
(0008678)
nokola 2023-08-28 22:05 |
Attaching logcat file for the Samsung S23 Ultra crash, Android 13 |
(0008679)
jsantos 2023-08-29 01:04 |
Any chance we could try on the S32 Ultra with a noesis debug library? |
(0008680)
nokola 2023-08-29 17:58 |
Yes, please send the debug lib over, happy to try it! side note: In general if you have debug Noesis build available as first step for crashes or in the downloads page, will help understand issues much faster! (maybe you have debug build already and I just haven't noticed...) :) |
(0008681)
sfernandez 2023-08-29 20:14 |
Here you have the debug library for android-arm64 and symbols: https://drive.google.com/file/d/1StGVbh746DvT6vi67RUHee864E1T6MP7/view?usp=sharing https://drive.google.com/file/d/1REfSqBvMliLcbrFY2rugzosEAhNxHiAs/view?usp=sharing |
(0008682)
jsantos 2023-08-29 20:17 |
> In general if you have debug Noesis build available as first step for crashes or in the downloads page, will help understand issues much faster Yes, we are working on this. Thanks for the feedback! |
(0008683)
nokola 2023-08-29 22:33 |
I tried the debug version noesis. Unfortunately having some trouble extracting files and line numbers from the debug phone (it's a cloud device in amazon Device Farm free tier). I was only able to get the logcat - perhaps info can be found with ndk-stack or similar tool. Attaching logcat with above debug noesis.so |
(0008688)
nokola 2023-08-30 21:56 |
Issue does not reproduce with Noesis 3.1.4, all other code the same. |
(0008743)
jsantos 2023-09-14 12:22 |
This has been fixed in 3.2.2 (not yet released). Please, if you keep finding this issue, reopen the ticket. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2688 | [NoesisGUI] Unity3D | major | always | 2023-09-12 13:50 | 2023-09-13 19:54 |
Reporter: | Rafael Munoz | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2 | ||
Product Build: | Resolution: | duplicate | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Crash with hello world sample. | ||||
Description: |
Unity version 2021.3.24f1 It crashes every time when testing the version with the hello world sample Reproduced with 3.2.1 and 3.2.0 The attached dump and log have been created with 3.2.0 |
||||
Tags: | |||||
Steps To Reproduce: |
1- Create a new empty 3d project 2- Download NoesisGUI-Unity-3.2.1 zip from the shared folder 3- Unzip into a folder in downloads 4- Copy the unzipped folder as is into Packages folder from the project 5- Remove ~ from samples folder so unity includes it 6- Open hello world scene 7- Hit play |
||||
Additional Information: | |||||
Attached Files: |
Editor.log (203,717 bytes) 2023-09-12 13:50 https://www.noesisengine.com/bugs/file_download.php?file_id=1940&type=bug crash.dmp (2,024,221 bytes) 2023-09-12 13:50 https://www.noesisengine.com/bugs/file_download.php?file_id=1941&type=bug |
||||
Notes | |
(0008735)
Rafael Munoz 2023-09-12 14:22 |
Just tested the same repro path on a different pc and it does not crash |
(0008741)
jsantos 2023-09-13 19:54 (Last edited: 2023-09-13 19:54) |
This is a duplicate. Please, reopen if this keeps failing with 3.2.2 (when released) |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2600 | [NoesisGUI] Unity3D | major | always | 2023-05-16 19:27 | 2023-09-13 19:54 |
Reporter: | t.a.khairullin | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.2 | ||
Target Version: | 3.2.2 | ||||
Platform: | Any | ||||
Summary: | Crash compiling VR shaders | ||||
Description: | Unity Editor 2022.2.15, after adding NoesisGUI 3.2.1 from disk nd activating the trial license the Editor indicates loading for some time and then crashes. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
Crash.png (223,282 bytes) 2023-05-18 21:34 https://www.noesisengine.com/bugs/file_download.php?file_id=1850&type=bug crash.dmp (1,244,436 bytes) 2023-05-19 12:52 https://www.noesisengine.com/bugs/file_download.php?file_id=1851&type=bug Editor.log (861,975 bytes) 2023-05-23 14:05 https://www.noesisengine.com/bugs/file_download.php?file_id=1859&type=bug crash-2.dmp (1,252,846 bytes) 2023-05-23 14:05 https://www.noesisengine.com/bugs/file_download.php?file_id=1860&type=bug |
||||
Notes | |
(0008482)
jsantos 2023-05-17 17:32 |
Does this happen in a clear Unity project? |
(0008484)
t.a.khairullin 2023-05-18 17:33 |
Yes, it does. I was able to find out more details: Opening Blend project for the first time generates Assets/<ProjectName>MainView.xaml and Blend/App.xaml with assotiated .cs files. Applying a license after that crashes Unity editor, but if I delete those files a license can be applied. No prject files are being generated if I open the Blend project after those manipulations. |
(0008485)
jsantos 2023-05-18 20:09 |
Are you getting the crash without generating the Blend project and opening it? Like, installing the package in a clean project, import the HelloWorld sample, set the license key and hit play... |
(0008486)
t.a.khairullin 2023-05-18 21:34 |
Same thing. Tried it multiple times, crashes even without play mode. |
(0008487)
jsantos 2023-05-19 11:22 |
Could you please attach the minidump belonging to the crash? |
(0008489)
jsantos 2023-05-19 13:47 |
Thanks for the minidump. It seems this is not related to the license key. As far as I understand, this will crash also without setting a license. It seems your GPU is not able to compile a few internal shaders needed for VR. Could you please give me more informantion about your GPU? Better if you attach Unity log. |
(0008503)
t.a.khairullin 2023-05-23 14:05 |
Sorry for the late reply. Yes, you were right - entering play mode without license leads to crash, but it's unclear what gives me such result in the first scenario then (entering license token without going to play mode also crashes the editor as you remember). I am using GTX 960M, quite old now but I've never had such problem before, not sure which VR shaders might have such effect. Also I am not targeting a VR with this project, so is there a way to exclude those? Please find both Unity crash output files attached (let me know if those are what you were asking for). Regards, Timur |
(0008504)
jsantos 2023-05-23 17:52 |
Thanks for the attached documents. This is a bug related to VR that must be fixed, we should never crash. Are you still able to reproduce a crash when entering the license token without hitting play and without previewing any XAML (clicking on any XAML will display a preview in the inspector, and this is similar to hitting PLAY)? If so, could you please attach the dump too? |
(0008505)
t.a.khairullin 2023-05-23 19:25 |
I haven't noticed it before, but it seems like you are right again - it crashes because of a preview, not the license. Thanks for the help. Is there a way to download a previous version that's compatible with Unity 2022 while this is being fixed? |
(0008510)
jsantos 2023-05-25 11:43 |
Noesis 3.1.7 for Unity is still available at https://www.noesisengine.com/forums/download/file.php?id=654 |
(0008512)
t.a.khairullin 2023-05-25 12:40 |
Thanks, this version works perfectly fine. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2659 | [NoesisGUI] C++ SDK | crash | always | 2023-08-02 08:02 | 2023-09-12 14:44 |
Reporter: | sumel007 | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | immediate | OS Version: | |||
Status: | resolved | Product Version: | 3.2.1 | ||
Product Build: | Resolution: | reopened | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.2 | ||
Target Version: | 3.2.2 | ||||
Platform: | Windows | ||||
Summary: | Noesis crashes on some AMD graphics cards | ||||
Description: |
Link to thread: https://www.noesisengine.com/forums/viewtopic.php?t=3029 Noesis 3.2.1 crashes for AMD 6000 series cards. Version 3.2.0 seems to work correctly on newest drivers (had problems on older ones). Issue seems related to GL_AMD_vertex_shader_layer |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
NoesisAMDError.png (183,126 bytes) 2023-09-11 16:39 https://www.noesisengine.com/bugs/file_download.php?file_id=1932&type=bug image.png (151,457 bytes) 2023-09-12 07:45 https://www.noesisengine.com/bugs/file_download.php?file_id=1935&type=bug image-2.png (292,715 bytes) 2023-09-12 07:45 https://www.noesisengine.com/bugs/file_download.php?file_id=1936&type=bug glview-AMD_Radeon_RX_6700_XT-13.XML (113,545 bytes) 2023-09-12 11:50 https://www.noesisengine.com/bugs/file_download.php?file_id=1937&type=bug image-3.png (133,992 bytes) 2023-09-12 12:29 https://www.noesisengine.com/bugs/file_download.php?file_id=1938&type=bug image-4.png (390,241 bytes) 2023-09-12 12:29 https://www.noesisengine.com/bugs/file_download.php?file_id=1939&type=bug |
||||
Notes | |
(0008716)
sumel007 2023-09-11 16:37 |
It seems that on the newest AMD drivers the issue has appeared again. The error is exactly the same for both version 3.2.1 and 3.2.1.5b that you've provided us in your custom dll. |
(0008717)
sumel007 2023-09-11 16:39 |
|
(0008718)
jsantos 2023-09-11 17:02 (Last edited: 2023-09-11 17:04) |
Are you 100% sure this is using the new hot-fix? Are you getting the same error with 3.2.0? Could you please provide the list of OpenGL extensions available in the new driver (using something like https://www.realtech-vr.com/home/glview)? |
(0008719)
jsantos 2023-09-11 17:05 |
Wait that's a capture of IntegrationGLUT, you don't have the patch applied to that example right? |
(0008721)
sumel007 2023-09-11 18:21 |
The sceenshot has two runs of the ingrationGLUT managed version. First is with version 3.2.1. I've then replaced the Noesis.dll in the output directory for your provided 3.2.2b5 version and reran the example - you can see that in the second run Noesis reports "Noesis Init v3.2.2b5". This is how we were running the dll before and it worked. It stopped working after updating the graphics card to the newest drivers. We also had a crash with 3.2.0 version when testing our project. I didn't run IntegrationGlut on 3.2.0 though. |
(0008722)
jsantos 2023-09-11 18:32 |
Could you please download the C++ SDK (latest one) , run the IntegrationGLUT example in debug mode and past the log here? |
(0008723)
sumel007 2023-09-11 18:36 |
You mean the 3.2.1 (non hotfix) version of the C++ SDK? I'm 95% sure it was the same as in the forums thread when we originally reported the issue ( https://www.noesisengine.com/forums/viewtopic.php?t=3029 https://www.noesisengine.com/forums/download/file.php?id=852&sid=8ab9c9be917da024fda6e98121783361&mode=view ), but I'll double check tomorrow morning and get back to you. |
(0008725)
jsantos 2023-09-11 18:47 |
Yes, the 3.2.1 without the fix. My plan is: 1) Reproducing the issue 2) Providing you a source change (the hotfix we added 3.2.2) 3) Debug to understand why the hotfix is not working with this driver (it doesn't make sense to me) |
(0008727)
sumel007 2023-09-12 07:45 |
I'm sending a screenshot with the results of 3.2.1 native sdk, ran on Visual Studio 2022 in debug mode x64. From what I can see it is exactly the same as in the original forums report. Also a screenshot of the actual crash location and callstack. |
(0008728)
jsantos 2023-09-12 11:17 |
The image is not exactly the same. If you see the list of extensions, your card is now reporting that "GL_AMD_vertex_shader_layer" is available but when compiling the shader is saying that the extension is not supported. Could you send me the list of extensions reported by your card (https://www.realtech-vr.com/home/glview) to check we are detecting this correctly? |
(0008731)
sumel007 2023-09-12 11:50 |
Here's the xml report from the link you provided. It seems that GL_AMD_vertex_shader_layer is in the reported extensions list. |
(0008732)
jsantos 2023-09-12 12:09 |
Could you go to "Shader.140.stereo.vert.h" file and change the line that says "#extension GL_AMD_vertex_shader_layer : require" to "#extension GL_AMD_vertex_shader_layer : enable" And just build the project again and run it? |
(0008733)
sumel007 2023-09-12 12:29 |
Here's the results |
(0008734)
jsantos 2023-09-12 12:30 |
Please, let me know when you are available for a call to debug this with you. I am free now. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2686 | [NoesisGUI] Unity3D | minor | always | 2023-09-08 23:23 | 2023-09-11 17:32 |
Reporter: | Josh Campbell | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Noesis Depth Rendering Incorrectly | ||||
Description: |
When adding depth to elements within our xaml file using the below code, we noticed that elements which appear closer to the camera in world space are actually rendering behind elements that are further away. It is important to note that we are only using a single xaml file with nested panels, all of which are loaded in through a single world UI element. Example: <noesis:Element.Transform3D> <noesis:CompositeTransform3D TranslateZ="40"/> </noesis:Element.Transform3D> |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2682 | [NoesisGUI] C# SDK | crash | always | 2023-09-08 18:12 | 2023-09-08 20:02 |
Reporter: | stonstad | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.2 | ||
Target Version: | 3.2.2 | ||||
Platform: | Any | ||||
Summary: | Repeatable Crash On Keyboard Input | ||||
Description: |
When I press the down key I get an immediate crash. ================================================================= Managed Stacktrace: ================================================================= at <unknown> <0xffffffff> at Noesis.View:Noesis_View_KeyDown <0x000fe> at Noesis.View:KeyDown <0x000da> at NoesisView:ProcessEvent <0x0189a> at NoesisView:OnGUI <0x0030a> at System.Object:runtime_invoke_void__this__ <0x00187> ================================================================= I see this in the log file and it may be related. I'm working to remove this error. [NOESIS/W] Virtualization disabled: available viewport size is Infinite UnityEngine.StackTraceUtility:ExtractStackTrace () UnityEngine.DebugLogHandler:LogFormat (UnityEngine.LogType,UnityEngine.Object,string,object[]) UnityEngine.Logger:Log (UnityEngine.LogType,object,UnityEngine.Object) UnityEngine.Debug:LogWarning (object,UnityEngine.Object) NoesisUnity:UnityLog (int,string) (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.1/Runtime/NoesisUnity.cs:355) Noesis.View:Update (double) (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.1/Runtime/API/Core/View.cs:368) NoesisView:UpdateInternal () (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.1/Runtime/NoesisView.cs:1455) NoesisView:LateUpdate () (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.1/Runtime/NoesisView.cs:1356) (Filename: D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.1/Runtime/NoesisUnity.cs Line: 355) |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
Crash_2023-09-08_154015070.zip (1,297,913 bytes) 2023-09-08 18:12 https://www.noesisengine.com/bugs/file_download.php?file_id=1922&type=bug EmotesControl.xaml (2,138 bytes) 2023-09-08 18:12 https://www.noesisengine.com/bugs/file_download.php?file_id=1923&type=bug EmotesControl.cs (6,065 bytes) 2023-09-08 18:12 https://www.noesisengine.com/bugs/file_download.php?file_id=1924&type=bug |
||||
Notes | |
(0008711)
stonstad 2023-09-08 18:15 |
For clarification purposes, this is a patched version of 3.2.1 that I'm using. |
(0008712)
stonstad 2023-09-08 18:21 |
Phew! OK, this is an easy fix. I had some bad logic. It likely shouldn't crash, but it works. Here's the change: Original: item.PreviewKeyDown += (sender, e) => { SelectedEmote = emote; _RecentEmotes.Insert(0, SelectedEmote); if (_RecentEmotes.Count > 3) _RecentEmotes.RemoveAt(3); Hide(); }; New: item.PreviewKeyDown += (sender, e) => { if (e.Key == Key.Enter) { SelectedEmote = emote; _RecentEmotes.Insert(0, SelectedEmote); if (_RecentEmotes.Count > 3) _RecentEmotes.RemoveAt(3); Hide(); } }; |
(0008713)
sfernandez 2023-09-08 20:02 |
Fixed in changeset 12716 |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2624 | [NoesisGUI] Unreal | crash | always | 2023-06-12 17:59 | 2023-09-08 14:16 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.2 | ||
Target Version: | 3.2.2 | ||||
Platform: | Any | ||||
Summary: | Crash parsing invalid xaml | ||||
Description: |
Noesis is crashing when parsing the following xaml:<Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <Rectangle> <MultiBinding StringFormat="{}{0}"/> </Rectangle> </Grid> |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2681 | [NoesisGUI] Unity3D | major | always | 2023-09-07 22:05 | 2023-09-08 13:30 |
Reporter: | stonstad | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.2 | ||
Target Version: | 3.2.2 | ||||
Platform: | Any | ||||
Summary: | NoesisView References Optional Unity Module "XRSettings" | ||||
Description: | Unity module UnityEngine.VRModule is an optional Unity module. Preprocessor statement ENABLE_VR_MODULE && ENABLE_VR should be used to guard usage of XRSettings. This change is needed in NoesisView.cs for compilation when XRSettings is not present. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008710)
jsantos 2023-09-08 13:30 |
Thanks Stonstad! This was recently fixed in our codebase |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2590 | [NoesisGUI] Unity3D | major | always | 2023-05-10 10:24 | 2023-09-08 11:52 |
Reporter: | Rafael Munoz | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.7 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.2 | ||
Target Version: | 3.2.2 | ||||
Platform: | Switch | ||||
Summary: | Custom Shaders not supported outside of windows. | ||||
Description: |
As I understood from the 3.1 release notes, that version introduced support for Custom Brushes and Effects ( I'm calling them together custom shaders) These work fine in windows, but when making a platform for switch it does not work. Looking into shader importer in our version it is pretty clear this is only supported in windows. I have several questions: - Do you have any plan of supporthing this in the future ( or do you already support it in a later noesis version?) - Do you have a link where the feature set are described per platform? I've been trying to find something like that to prevent a situation like this in the future ( Right now I have to block usage from the feature since our game is cross platform). I don't want to discover too late that other features i'm counting on are not supported platforms we target. - Do you have some workaround for these unsupported shaders to at least not crash the build ( Like the defaulting to a shader that leaves everything as is), at least that would not block us from working on platform builds. - Is there any mechanism to provide the appropriate shaders for these platforms? |
||||
Tags: | CustomShader, switch, Unity | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
image.png (61,298 bytes) 2023-05-10 10:24 https://www.noesisengine.com/bugs/file_download.php?file_id=1834&type=bug DeploymentPreviewImage.noesiseffect (3,252 bytes) 2023-05-12 11:37 https://www.noesisengine.com/bugs/file_download.php?file_id=1840&type=bug Desaturation.noesiseffect (427 bytes) 2023-05-12 11:37 https://www.noesisengine.com/bugs/file_download.php?file_id=1841&type=bug DesaturationBrush.cs (1,613 bytes) 2023-05-12 11:37 https://www.noesisengine.com/bugs/file_download.php?file_id=1842&type=bug DesaturationEffect.cs (2,455 bytes) 2023-05-12 11:37 https://www.noesisengine.com/bugs/file_download.php?file_id=1843&type=bug DeploymentPreviewImageEffect.cs (2,629 bytes) 2023-05-12 11:37 https://www.noesisengine.com/bugs/file_download.php?file_id=1844&type=bug |
||||
Notes | |
(0008471)
jsantos 2023-05-11 09:41 |
Email sent about this |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2651 | [NoesisGUI] Unreal | crash | always | 2023-07-18 17:02 | 2023-09-06 16:12 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.2 | ||
Target Version: | 3.2.2 | ||||
Platform: | Any | ||||
Summary: | Crash closing Unreal when a material was referenced in the application resources | ||||
Description: |
Just setting the following resources xaml as application dictionary will crash the editor when it gets closed:<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:noesis="clr-namespace:NoesisGUIExtensions;assembly=Noesis.GUI.Extensions" xmlns:local="clr-namespace:Materials"> <ResourceDictionary.MergedDictionaries> <ResourceDictionary Source="pack://application:,,,/Noesis.GUI.Extensions;component/Theme/NoesisTheme.DarkBlue.xaml"/> </ResourceDictionary.MergedDictionaries> <ImageBrush x:Key="NoiseImageBrush" ImageSource="/Game;component/Materials/fill-blue.png"> <noesis:Brush.Shader> <local:Noise Color="Red"/> </noesis:Brush.Shader> </ImageBrush> </ResourceDictionary> The crash happens during Shutdown when destroying the application resources, because it tries to use the TypeClass created for the Material that is already destroyed. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2649 | [NoesisGUI] Unreal | crash | always | 2023-07-12 09:22 | 2023-09-06 13:46 |
Reporter: | hcpizzi | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.2 | ||
Target Version: | 3.2.2 | ||||
Platform: | Any | ||||
Summary: | Crash when multiple delegates are used | ||||
Description: |
When multiple delegates are used in the same object there's a crash in DataEventTrigger::UnregisterEvent with the following stack: [Inlined] Noesis::Delegate<void __cdecl(Noesis::BaseComponent *,Noesis::EventArgs const &)>::Remove(const Noesis::Delegate<void __cdecl(Noesis::BaseComponent *,Noesis::EventArgs const &)> &) Delegate.inl:154 [Inlined] Noesis::Delegate<void __cdecl(Noesis::BaseComponent *,Noesis::EventArgs const &)>::operator-=(const Noesis::Delegate<void __cdecl(Noesis::BaseComponent *,Noesis::EventArgs const &)> &) Delegate.inl:160 NoesisApp::DataEventTrigger::UnregisterEvent() DataEventTrigger.cpp:101 [Inlined] NoesisApp::DataEventTrigger::StaticFillClassType::__l2::<lambda_c59d3410317593f84bf83ddc37dcc710>::operator()(Noesis::DependencyObject *,const Noesis::DependencyPropertyChangedEventArgs &) DataEventTrigger.cpp:124 Noesis::Delegate<void __cdecl(Noesis::DependencyObject *,Noesis::DependencyPropertyChangedEventArgs const &)>::FunctorStub<<lambda_c59d3410317593f84bf83ddc37dcc710> >::Invoke(Noesis::DependencyObject *,const Noesis::DependencyPropertyChangedEventArgs &) Delegate.inl:431 [...] [Inlined] Noesis::Ptr<Noesis::IView>::Reset() Ptr.inl:156 UNoesisInstance::TermInstance() NoesisInstance.cpp:1098 UNoesisInstance::NativeDestruct() NoesisInstance.cpp:1771 [...] |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
2649.patch (983 bytes) 2023-07-13 19:15 https://www.noesisengine.com/bugs/file_download.php?file_id=1886&type=bug |
||||
Notes | |
(0008605)
hcpizzi 2023-07-13 19:15 |
Here's a patch that should fix this issue. Could you let us know if it fixes it for you? |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2648 | [NoesisGUI] Unreal | feature | N/A | 2023-07-10 16:26 | 2023-09-06 13:45 |
Reporter: | hcpizzi | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.2 | ||
Target Version: | 3.2.2 | ||||
Platform: | Any | ||||
Summary: | Support MediaTextures in Bindings | ||||
Description: | We currently don't support MediaTextures in Bindings. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
2648.patch (4,112 bytes) 2023-07-14 13:09 https://www.noesisengine.com/bugs/file_download.php?file_id=1887&type=bug |
||||
Notes | |
(0008606)
hcpizzi 2023-07-14 13:09 |
Here's a patch that adds support for MediaTextures in Bindings |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2641 | [NoesisGUI] Unreal | crash | have not tried | 2023-07-05 10:59 | 2023-09-06 12:14 |
Reporter: | hcpizzi | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.2 | ||
Target Version: | 3.2.2 | ||||
Platform: | Any | ||||
Summary: | Invalid UMaterialInterface pointers in NoesisTypeClasses | ||||
Description: | When transitioning between levels the UMaterialInterface pointers in NoesisTypeClasses become invalid. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
MaterialInterfaceDestroyed.patch (1,698 bytes) 2023-07-06 19:02 https://www.noesisengine.com/bugs/file_download.php?file_id=1885&type=bug |
||||
Notes | |
(0008600)
jsantos 2023-07-06 19:02 |
|
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2424 | [NoesisGUI] C++ SDK | crash | always | 2022-09-17 14:21 | 2023-09-06 02:47 |
Reporter: | asusralis | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.5 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.1 | ||
Target Version: | 3.1.7 | ||||
Platform: | Any | ||||
Summary: | Crash | ||||
Description: | No crash in unity editor, but always crashes in windows standalone. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
Crash_2022-09-17_121050000.zip (165,008 bytes) 2022-09-17 14:21 https://www.noesisengine.com/bugs/file_download.php?file_id=1684&type=bug Player.log (16,602 bytes) 2022-10-27 12:39 https://www.noesisengine.com/bugs/file_download.php?file_id=1700&type=bug image.png (69,440 bytes) 2022-10-27 12:39 https://www.noesisengine.com/bugs/file_download.php?file_id=1701&type=bug Xeno.exe.34828.dmp.7z (4,292,307 bytes) 2023-03-06 12:54 https://www.noesisengine.com/bugs/file_download.php?file_id=1776&type=bug image-2.png (9,712 bytes) 2023-04-04 16:04 https://www.noesisengine.com/bugs/file_download.php?file_id=1805&type=bug image-3.png (77,783 bytes) 2023-04-04 16:11 https://www.noesisengine.com/bugs/file_download.php?file_id=1806&type=bug Extend.cs (308,981 bytes) 2023-04-14 16:07 https://www.noesisengine.com/bugs/file_download.php?file_id=1812&type=bug |
||||
Notes | |
(0008087)
sfernandez 2022-10-03 20:10 |
The callstack indicates the crash happens setting TopPage dependency property in NavFrame, but it is not clear what part is wrong. I prepared a debug Noesis library to see if we can get more information, could you try with that and send again the crash dump? https://drive.google.com/file/d/133NfZQ5ztu1YbBmyHxnMrwuARsScn2fO/view?usp=sharing |
(0008107)
asusralis 2022-10-27 12:39 |
I seem to be getting an unrelated exception when I try to start the game now: TTEX (30): public static readonly DependencyProperty ToolTipContentProperty = DependencyProperty.RegisterAttached( "ToolTipContent", typeof(UIElement), typeof(TTEx), new PropertyMetadata(OnValueChanged)); |
(0008320)
asusralis 2023-03-02 18:42 |
Hello, can you send the debug library for 3.1.7? I am still getting this crash in standalone. |
(0008322)
sfernandez 2023-03-06 11:05 |
Hi, please find in the following link the debug version for 3.1.7: https://drive.google.com/file/d/1XkbVE-0d8UEhsktyiaVzT2308VYsiqGe/view?usp=share_link |
(0008351)
asusralis 2023-03-21 14:05 |
Was there any info about this? It seems to be crashing in 3.2.0 as well. |
(0008365)
sfernandez 2023-03-27 20:13 |
Unfortunately no. In the past you gave us access to your project in git (Empis), would it be possible to get access to this Xeno project also and some indications to reproduce the crash? I want to debug it myself to find what is happening. Thanks a lot for your feedback and patience. |
(0008378)
asusralis 2023-03-29 12:11 |
I gave you access on bitbucket. You will have to build the game for windows to have it crash. It seems to have been crashing a lot less on 3.2, but it still sometimes does. It seems to be more random now. |
(0008384)
asusralis 2023-03-29 13:09 |
I created a branch called 'noesis-test-dev' which you can checkout and build. |
(0008394)
sfernandez 2023-03-30 19:40 |
Thanks, I was able to download it. Working on it now. |
(0008397)
sfernandez 2023-04-03 13:49 |
I think I found the cause of the crash... could you please try the following patch?Index: Extend.cs =================================================================== --- Extend.cs (revision 12417) +++ Extend.cs (working copy) @@ -5875,6 +5875,7 @@ if (!(instance is BaseComponent)) { #if NETSTANDARD + _weakExtends.Remove(instance); _weakExtends.Add(instance, new ExtendNotifier { cPtr = cPtr }); #else WeakInfo info = new WeakInfo @@ -5978,6 +5979,7 @@ ~ExtendNotifier() { AddPendingRelease(cPtr); + cPtr = IntPtr.Zero; } } |
(0008400)
asusralis 2023-04-04 12:22 |
Oh great, I will try it. Thank you! |
(0008401)
asusralis 2023-04-04 16:04 |
It doesn't seem to crash anymore, but other parts of the game have started to not work. For example, when in combat, if you put your cursor over an ability, a preview shows at the top of the screen. This still works in the editor, but in the standalone this stopped working. Removing the changes you sent above makes this preview work again. I linked the buttons that will show the preview when the cursor is over them. |
(0008402)
asusralis 2023-04-04 16:11 |
A progress bar also seems to not update anymore, but it is on a different branch from what you're on. Just to make sure I did it correctly, this is what I changed: |
(0008403)
sfernandez 2023-04-04 17:31 |
The changes you applied are correct. And it is strange, the problem with the tooltips doesn't happen to me in standalone, they are shown at the top of the screen when moving the cursor over the abilities. Is this happening to you in a deterministic way, or it just happens sometimes? |
(0008404)
asusralis 2023-04-04 18:43 |
It seems building for a release build wasn't working. I switched to a debug build and it worked, and then switched back to a release build and it started to work too. I am not sure if there were some temporary files that were messing with this, but everything seems to work now, thanks. I will let you know if I run into this issue again. |
(0008405)
asusralis 2023-04-04 18:50 (Last edited: 2023-04-04 18:54) |
Oh, maybe I spoke too soon. It seems I can't get a release build to work anymore with the tooltips, at least on my current branch. It's possible when I tried last time I didn't have the fix applied. Did you try a standalone release build? If you check out the ticks-dev before 'Added Noesis fix' commit, and build in release, it should work. However, building on the latest in release and it won't work anymore - both the tooltips and the progress bar in the top-right. |
(0008406)
sfernandez 2023-04-05 13:06 |
I'll give a try to that branch and let you know. |
(0008417)
sfernandez 2023-04-12 17:13 (Last edited: 2023-04-12 17:13) |
After much debugging it seems the problem is related to the use of the ConditionalWeakTable, the behavior is not the expected one in standalone and it leads to incorrectly destroy some native objects. This table was only used for NETSTANDARD, so you can easily disable it by undefining that symbol in the top of Extend.cs: #undef NETSTANDARD using System; using System.Collections.Generic; ... Could you please try that? |
(0008432)
asusralis 2023-04-13 18:20 |
It seems to work! Thank you for this. Will this fix be in the next version? |
(0008434)
sfernandez 2023-04-14 16:07 |
Finally I implemented a different fix because we still want to use the ConditionalWeakTable as it is faster than the other code path. Could you please try using the attached Extend.cs file and let me know if you find any trouble? |
(0008451)
asusralis 2023-04-24 11:35 |
It seems to work! Thank you. |
(0008452)
sfernandez 2023-04-24 12:18 |
Thanks a lot for the feedback and help. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2570 | [NoesisGUI] Unity3D | minor | always | 2023-04-13 17:18 | 2023-09-05 18:45 |
Reporter: | Josh Campbell | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.2 | ||
Target Version: | 3.2.2 | ||||
Platform: | Windows | ||||
Summary: | Combo Box entries in wrong worldspace | ||||
Description: |
When using a combobox in worldspace UI, we see the expanded list of entries show up in the wrong worldspace location. There is also some weird rotation going on with those elements as the player moves around the world. This was on PC build. |
||||
Tags: | |||||
Steps To Reproduce: |
Our xaml has a combo box inside a grid. Put the UI in worldspace and run the project. Click the combo box. Locate where the expanded entries show up. (In our project they are not aligned with the UI and show up in a different world space position) |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008664)
sfernandez 2023-08-23 19:30 |
Find in the links below the runtimes for windows and android. Place Bin/windows_x86_64/Noesis.dll in the plugin folder <NoesisGUI>/Runtime/Libraries/Windows/x86_64: https://drive.google.com/file/d/1d3ho5WZm5iWfg_hqtgHSbb6W2c2NUPpO/view?usp=sharing Place Bin/android_arm64/libNoesis.so in the plugin folder <NoesisGUI>/Runtime/Libraries/Android/arm64: https://drive.google.com/file/d/1KiVr_GDbH9yhSjJXpu2qT0T8fPTufCCT/view?usp=sharing Could you please try them and confirm the issue is fixed in your project? |
(0008668)
sfernandez 2023-08-25 12:57 (Last edited: 2023-08-25 12:57) |
Hi Josh, I'm investigating the issue about the drop down not moving along with the headset and have one question just to confirm. Is it possible that the panel containing the ComboBox is not placed in a static position in the 3D world, it is moved to be in front of the camera instead? Because moving the camera shouldn't affect by default the position of the ComboBox and its drop down in the 3D world, only if the ComboBox is moved is when this issue could be happening. |
(0008669)
sfernandez 2023-08-25 18:37 |
I generated new libraries with a patch for for popups that target 3D moving elements, could you give it a try? Windows: https://drive.google.com/file/d/1fHeIKe1wCId54HLArYl80CIFbUDn_a1R/view?usp=sharing Android: https://drive.google.com/file/d/1DQDmT7ZfkkL9rPBap3NBzpak5EDzak_F/view?usp=sharing |
(0008700)
sfernandez 2023-09-05 18:45 |
Solved in changeset 12694 |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
668 | [NoesisGUI] Unity3D | feature | always | 2015-05-19 21:33 | 2023-09-04 16:35 |
Reporter: | JaredThirsk | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.0 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Missing type: Array | ||||
Description: |
This XAML doesn't work: <x:Array x:Key="DesignCommands" Type="gsl:DesignCommand"> <gsl:DesignCommand Name="TestCmd" /> <gsl:DesignCommand Name="TestCmd" /> </x:Array> |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1982 | [NoesisGUI] Unity3D | major | always | 2021-04-27 00:28 | 2023-08-30 20:13 |
Reporter: | KeldorKatarn | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.11 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.2 | ||
Target Version: | 3.2.2 | ||||
Platform: | Any | ||||
Summary: | FocusManager is missing | ||||
Description: | The FocusManager class is missing | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008687)
sfernandez 2023-08-30 20:13 |
Fixed in changeset 12682 |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
811 | [NoesisGUI] C# SDK | feature | always | 2016-01-30 13:42 | 2023-08-30 20:13 |
Reporter: | ai_enabled | Platform: | PC | ||
Assigned To: | sfernandez | OS: | Windows | ||
Priority: | normal | OS Version: | 10 | ||
Status: | resolved | Product Version: | 1.2.5f10 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.2 | ||
Target Version: | 3.2.2 | ||||
Platform: | Any | ||||
Summary: | Difference with WPF - FocusManager is absent | ||||
Description: |
Hello! The FocusManager is absent. Currently I need access FocusManager.FocusedElement and it seems I need to find a workaround for it. Would be nice if you implement FocusManager as it's done in WPF. Regards! |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0003496)
sfernandez 2016-02-01 04:49 (Last edited: 2016-02-01 04:49) |
FocusManager is not currently implemented in NoesisGUI but you can obtain the focused element asking the Keyboard object:UIElement anyTreeElement = ...; UIElement focusedElement = anyTreeElement.GetKeyboard().GetFocused(); Will you need logical focus, apart from keyboard focus, to be implemented? |
(0003521)
ai_enabled 2016-02-05 11:58 (Last edited: 2016-02-05 11:59) |
Thanks, I didn't know how to get the instance of Keyboard class. It works very well now. I don't think we need logical focus (FocusManager) on C# side yet. Currently we need it only on Noesis.dll side - it should behave in the same way as in WPF: "The idea is that WPF keeps track of one or more groups of controls, each of which makes up a focus scope. Within each focus scope, a single control can have logical focus. This allows WPF to remember the control that last had focus in a group of controls and give the keyboard focus back to the proper control when a group of controls becomes active again." (from http://wpf.2000things.com/2011/05/27/309-keyboard-focus-vs-logical-focus/ ) |
(0005372)
ai_enabled 2018-12-21 17:21 |
It seems to be not a problem anymore. Please close this ticket. |
(0005377)
sfernandez 2018-12-24 10:41 (Last edited: 2018-12-24 10:41) |
I will leave it, as it is an unimplemented feature. If more people asks for this we might work on this. |
(0008686)
sfernandez 2023-08-30 20:13 |
Fixed in changeset 12682 |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2676 | [NoesisGUI] Unreal | feature | always | 2023-08-29 09:52 | 2023-08-29 14:41 |
Reporter: | vmaurer | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2.1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2 | ||||
Platform: | Any | ||||
Summary: | Asynchronous asset loading | ||||
Description: | As of 3.2.1, when an xaml is loaded, all dependent assets are loaded synchronously, stalling the game. This is especially noticeable with texture atlases. There should be ways to allow assets to be loaded in asynchronously. | ||||
Tags: | C++, Unreal | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2661 | [NoesisGUI] Unity3D | major | always | 2023-08-05 18:04 | 2023-08-23 20:49 |
Reporter: | ARPP3 | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.2 | ||
Target Version: | 3.2.2 | ||||
Platform: | Any | ||||
Summary: | Arc Command's Sweep Direction Backwards | ||||
Description: |
When using the markup syntax for a path, and beginning an Arc path, the sweep direction behaves like '0' when it's '1' and behaves like '1' when it's '0'. This was tested in Unity and XAML Toy renderer. And compared against Blend's Design mode and a WPF app. In all instances, the sweep direction seems to be backwards in Noesis. |
||||
Tags: | Paths, SVG, Unity | ||||
Steps To Reproduce: |
Here's a XAML toy with a path, and documenting which part of the arc command is backwards: https://www.noesisengine.com/xamltoy/0bec99c2f29f9734bbd530a09ea788fe |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2644 | [NoesisGUI] Unity3D | major | always | 2023-07-05 19:26 | 2023-08-23 19:50 |
Reporter: | stonstad | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.1 | ||
Product Build: | Resolution: | duplicate | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.2 | ||
Target Version: | 3.2.2 | ||||
Platform: | Any | ||||
Summary: | Directional Keyboard Navigation Broken | ||||
Description: |
Keyboard navigation is highly broken for us -- see https://www.noesisengine.com/bugs/view.php?id=2597 We will start using the provided library. This is a very impactful bug. How soon can an official release with the fix be made available? |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008588)
sfernandez 2023-07-05 19:33 |
We will release 3.2.2 in a couple of weeks more or less. |
(0008602)
stonstad 2023-07-11 15:46 |
Understood. Thank you! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2578 | [NoesisGUI] Unity3D | major | always | 2023-04-23 18:03 | 2023-08-23 19:09 |
Reporter: | stonstad | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.2 | ||
Target Version: | 3.2.2 | ||||
Platform: | Any | ||||
Summary: | Unwanted Blur Effect Margin Behavior | ||||
Description: |
In Noesis 3.2, when a blur effect is applied to the top-level user control the UI is shown off-screen. See video here: https://tonstad.blob.core.windows.net/media/Movie_024.mp4 The blur radius in the example shown is 25, which is equal to the offset behavior shown. I am including the code used to enable and disable the blur effect. Note that if I comment out storyboard.Begin() in the enclosed code, the behavior does not manifest. It is isolated to the storyboard begin behavior. No other code appears to be responsible for the behavior. This behavior is new to Noesis 3.2. Encl. FrameworkExtensionMethods.cs. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
FrameworkExtentionMethods.cs (3,525 bytes) 2023-04-23 18:03 https://www.noesisengine.com/bugs/file_download.php?file_id=1814&type=bug |
||||
Notes | |
(0008663)
sfernandez 2023-08-23 19:08 |
Resolved in changesets 12541 and 12542 |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2615 | [NoesisGUI] Unity3D | major | always | 2023-06-01 12:30 | 2023-08-23 19:07 |
Reporter: | stonstad | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.2 | ||
Target Version: | 3.2.2 | ||||
Platform: | Any | ||||
Summary: | BackgroundEffect behavior being invalidated per frame | ||||
Description: |
From forum post: https://www.noesisengine.com/forums/viewtopic.php?t=2957 The Adorner used by the BackgroundEffect is being invalidated per frame and unnecessary calculations are made, even if the Source hasn't changed. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008520)
sfernandez 2023-06-01 12:39 |
Could you please try the following patch:Index: BackgroundEffectBehavior.cs =================================================================== --- BackgroundEffectBehavior.cs (revision 12541) +++ BackgroundEffectBehavior.cs (working copy) @@ -119,10 +119,17 @@ private void OnElementUpdated(object sender, EventArgs e) { - if (_adorner != null) + FrameworkElement element = AssociatedObject; + if (_adorner != null && Source != null && element.IsVisible && element.Opacity > 0.0f) { - AdornerLayer adorners = AdornerLayer.GetAdornerLayer(AssociatedObject); - adorners.Update(AssociatedObject); + Matrix4 mtx = element.TransformToVisual(Source); + if (_adorner.TransformToSource != mtx) + { + _adorner.TransformToSource = mtx; + + AdornerLayer adorners = AdornerLayer.GetAdornerLayer(element); + adorners.Update(element); + } } } @@ -155,6 +162,13 @@ IsHitTestVisible = false; } + private Matrix4 _mtx = Matrix4.Identity; + public Matrix4 TransformToSource + { + get => _mtx; + set { _mtx = value; } + } + #if UNITY_5_3_OR_NEWER internal #endif @@ -180,20 +194,15 @@ Size adornedSize = adornedElement.RenderSize; Size finalSize = adornedSize; + Point offset = _mtx[3].XY + new Point(0.0f, 0.0f); + Rect bounds = _mtx.TransformBounds(new Rect(adornedSize)); + finalSize.Width = bounds.Width; + finalSize.Height = bounds.Height; + VisualBrush sourceBrush = (VisualBrush)_child.Background; - Visual source = sourceBrush.Visual; - if (source != null) - { - Matrix4 mtx = adornedElement.TransformToVisual(source); - Point offset = mtx[3].XY + new Point(-1.5f, 1.5f); - Rect bounds = mtx.TransformBounds(new Rect(adornedSize)); - finalSize.Width = bounds.Width; - finalSize.Height = bounds.Height; + sourceBrush.Viewbox = new Rect(offset, finalSize); + _targetBrush.Viewbox = new Rect(finalSize); - sourceBrush.Viewbox = new Rect(offset, finalSize); - _targetBrush.Viewbox = new Rect(finalSize); - } - _child.Measure(finalSize); return finalSize; } |
(0008521)
stonstad 2023-06-01 13:23 |
That was it. It totally fixed it. Thank you, thank you, thank you! I have a demo with a game publisher next week and I was sweating bullets. Thank you! |
(0008522)
sfernandez 2023-06-01 13:52 |
Glad to be helpful :) |
(0008554)
stonstad 2023-06-16 00:59 |
I'm seeing a strange issue w/ all instances of BackgoundEffect. Here's a video of what I am seeing: https://stellarconquest.blob.core.windows.net/tmp/Movie_001.mp4 I have breakpoints on code that touches this UI, and nothing is firing -- meaning that I am not seeing resize, or loaded events. The content is static. Is it possible the fix with adorners might cause this behavior? The behavior seems to happen more on larger window sizes. |
(0008555)
sfernandez 2023-06-16 10:29 |
What I'm supposed to see in the video? Could you please elaborate a bit more what the problem is? |
(0008556)
stonstad 2023-06-16 16:29 (Last edited: 2023-06-16 16:32) |
At t=12s and t=18s the visual content of the backgroundeffect shifts up and then down. I am not seeing any resize or layout events in my code, however. This happens to all instances of BackgroundEffect. |
(0008601)
sfernandez 2023-07-10 20:35 (Last edited: 2023-07-10 20:36) |
From what I see in the video, the blurred background is displaced when a green hexagon appears at the bottom of the screen. How is that rendered, using a visual brush? If that is the case we fixed an issue related to visual brushes, could you please try the following patched library: https://drive.google.com/file/d/1SIvl6vhJcoZgBAPsxUbGztJGWLahfYbA/view?usp=sharing |
(0008603)
stonstad 2023-07-11 15:50 |
There are brushes involved: <Grid Grid.Row="1"> <Path x:Name="_BottomPanelBlur"> <b:Interaction.Behaviors> <noesis:BackgroundEffectBehavior Source="{Binding ElementName=_BackgroundBlurSource}"> <BlurEffect Radius="{Binding Radius, Source={StaticResource BottomBlurRadius}}"/> </noesis:BackgroundEffectBehavior> </b:Interaction.Behaviors> </Path> <Path x:Name="_BottomPanelColor" Fill="{StaticResource DefaultUI.Brush.Bottom.Gradient}" Stroke="{StaticResource DefaultUI.Brush.Border}" Margin="0,-1,0,0" Opacity="0.5"> <Path.Effect> <DropShadowEffect Direction="270" Opacity="0.365" BlurRadius="20" ShadowDepth="18"/> </Path.Effect> </Path> </Grid> Not sure if that satisfies the condition. I am trying the library now. Thank you! |
(0008604)
stonstad 2023-07-11 15:57 |
I'm not seeing the behavior. I did rewrite my targeting UI -- which relates to the behavior you observed. Perhaps having the UI element go outside the bounds of its containers contributed to the behavior? I no longer see it with this DLL. Thank you! |
(0008662)
sfernandez 2023-08-23 19:06 |
Resolved in changeset 12542 |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2668 | [NoesisGUI] C++ SDK | major | always | 2023-08-17 11:56 | 2023-08-23 18:46 |
Reporter: | ulisesBB | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.2 | ||
Target Version: | 3.2.2 | ||||
Platform: | Any | ||||
Summary: | UIElement doesn't have TranslatePoint implemented | ||||
Description: |
If you need to translate one point from one Visual local coordinates to another Visual local coordinates, in XAML you can use the method TranslatePoint. public System.Windows.Point TranslatePoint (System.Windows.Point point, System.Windows.UIElement relativeTo); But in the C++ SDK this is not implemented. |
||||
Tags: | C++ | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2671 | [NoesisGUI] Unity3D | minor | always | 2023-08-22 06:40 | 2023-08-23 18:19 |
Reporter: | ckfinite | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.2 | ||
Target Version: | 3.2.2 | ||||
Platform: | Any | ||||
Summary: | EventTrigger can fail with a nullreferenceexception without an explanatory error message | ||||
Description: | The implementation of EventTrigger's RegisterEvent does not gracefully handle the case where SourceObject is null but the given event does not exist on the source. In this case, the conditionals fall through and pass a null to IsValidEvent which chokes with a NullReferenceException. A more informative error message should be produced instead. | ||||
Tags: | |||||
Steps To Reproduce: |
The implementation of EventTrigger's RegisterEvent method, as follows [code] private void RegisterEvent(object source, string eventName) { if (source != null && !string.IsNullOrEmpty(eventName)) { Type type = source.GetType(); EventInfo ev = type.GetEvent(eventName); if (ev == null) { if (SourceObject != null) { throw new ArgumentException(string.Format( "EventTrigger cannot find event '{0}' in SourceObject '{1}'", eventName, type)); } } if (!IsValidEvent(ev)) { if (SourceObject != null) { throw new ArgumentException(string.Format( "SourceObject event '{0}' is not valid for EventTrigger", eventName)); } } else { _event = ev; _handler = Delegate.CreateDelegate(ev.EventHandlerType, this, OnEventMethod); _event.AddEventHandler(source, _handler); } } } [/code] doesn't properly handle the case where the default target object (usually AssociatedObject) exists but the designated event does not while no SourceObject is set (and thus SourceObject == null). As described above, this code will fall through with a null ev and null SourceObject and pass IsValidEvent null, which fails with a nullreferenceexception. An additional branch should be added to the condition to provide an informative message in this case. |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008661)
sfernandez 2023-08-23 18:19 |
Solved in r12660 with the following patch:Index: EventTriggerBase.cs =================================================================== --- EventTriggerBase.cs (revision 12659) +++ EventTriggerBase.cs (revision 12660) @@ -171,8 +171,7 @@ eventName, type)); } } - - if (!IsValidEvent(ev)) + else if (!IsValidEvent(ev)) { if (SourceObject != null) { |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2670 | [NoesisGUI] Unity3D | feature | always | 2023-08-21 08:01 | 2023-08-21 16:12 |
Reporter: | ckfinite | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Buttons that invoke a RoutedCommand don't refresh their CanExecute when RaiseCanExecuteChanged is called. | ||||
Description: | Buttons that trigger Custom RoutedCommands do not refresh their visual or logical state by invoking CanExecute after RaiseCanExecuteChanged is called on the base RoutedCommand. | ||||
Tags: | |||||
Steps To Reproduce: |
Suppose that we have the XAML [code] <Button Command="{l:CustomStatic l:MyTarget.MyCustomCommand}"> <!--- some suitable content goes here --> </Button> [/code] Note that we reimplemented the x:Static MarkupExtension as the provided x:Static implementation (despite the documentation) doesn't actually support custom RoutedCommands. and an implementation: [code] public class MyTarget : UserControl { public static RoutedCommand MyCustomCommand { get; } = new RoutedCommand(); public MyTarget() { var binding = new CommandBinding(); binding.Command = MyCustomCommand; binding.CanExecute += MyCanExecute; binding.Executed += MyExecute; CommandBindings.Add(binding); } private bool testCanExecute = true; private void MyExecute(object sender, ExecutedRoutedEventArgs e) { Debug.Log($"MyExecute called - current value {testCanExecute}!"); testCanExecute = !testCanExecute; MyCustomCommand.RaiseCanExecuteChanged(); Debug.Log($"MyExecute exited - current value {testCanExecute}!"); } private void MyCanExecute(object sender, CanExecuteRoutedEventArgs e) { Debug.Log($"MyCanExecute called - current value {testCanExecute}!"); e.CanExecute = testCanExecute; } } [/code] and run the game, the button is (as expected) initially enabled. The log begins by showing several invocations of MyCanExecute with the initial (true) value as the button starts up. Once pressed, it calls MyCanExecute: [code] MyCanExecute called - current value True! UnityEngine.Debug:Log (object) MyTarget:MyCanExecute (object,Noesis.CanExecuteRoutedEventArgs) (at Assets/Scripts/Noesis/Components/Controls/Window.cs:525) Noesis.CommandBinding:RaiseCanExecute (intptr,intptr,intptr) (at Packages/NoesisGUI/Runtime/API/Proxies/CommandBinding.cs:134) Noesis.View:MouseButtonUp (int,int,Noesis.MouseButton) (at Packages/NoesisGUI/Runtime/API/Core/View.cs:215) NoesisView:ProcessEvent (UnityEngine.Event,bool,bool) (at Packages/NoesisGUI/Runtime/NoesisView.cs:1711) NoesisView:OnGUI () (at Packages/NoesisGUI/Runtime/NoesisView.cs:1808) [/code] folowed by CanExecute: [code] MyExecute called - current value True! UnityEngine.Debug:Log (object) MyTarget:MyExecute (object,Noesis.ExecutedRoutedEventArgs) (at Assets/Scripts/Noesis/Components/Controls/Window.cs:518) Noesis.CommandBinding:RaiseExecuted (intptr,intptr,intptr) (at Packages/NoesisGUI/Runtime/API/Proxies/CommandBinding.cs:246) Noesis.View:MouseButtonUp (int,int,Noesis.MouseButton) (at Packages/NoesisGUI/Runtime/API/Core/View.cs:215) NoesisView:ProcessEvent (UnityEngine.Event,bool,bool) (at Packages/NoesisGUI/Runtime/NoesisView.cs:1711) NoesisView:OnGUI () (at Packages/NoesisGUI/Runtime/NoesisView.cs:1808) [/code] which then toggles the value of testCanExecute and invokes RaiseCanExecuteChanged. However, in spite of the call to RaiseCanExecuteChanged, no intervening invocation of MyCanExecute occurs before the final log from MyExecute [code] MyExecute exited - current value False! UnityEngine.Debug:Log (object) MyTarget:MyExecute (object,Noesis.ExecutedRoutedEventArgs) (at Assets/Scripts/Noesis/Components/Controls/Window.cs:521) Noesis.CommandBinding:RaiseExecuted (intptr,intptr,intptr) (at Packages/NoesisGUI/Runtime/API/Proxies/CommandBinding.cs:246) Noesis.View:MouseButtonUp (int,int,Noesis.MouseButton) (at Packages/NoesisGUI/Runtime/API/Core/View.cs:215) NoesisView:ProcessEvent (UnityEngine.Event,bool,bool) (at Packages/NoesisGUI/Runtime/NoesisView.cs:1711) NoesisView:OnGUI () (at Packages/NoesisGUI/Runtime/NoesisView.cs:1808) [/code] As a result, the button remains visually enabled despite the command no longer being executable. MyCanExecute is utilized to check whether the command can be executed when the button is pressed again and prevents additional events from being spawned but this state is not visually reflected. |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2666 | [NoesisGUI] Unity3D | minor | always | 2023-08-16 21:48 | 2023-08-18 19:56 |
Reporter: | Xaron | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.2 | ||
Target Version: | 3.2.2 | ||||
Platform: | macOS | ||||
Summary: | DllNotFoundException for Standalone build on MacOS | ||||
Description: |
When doing a standalone build on MacOS (Intel) with Unity 2021.3.22f1 LTS (Noesis version 3.2.1) of our project I get this in the application log when starting the game: DllNotFoundException: Noesis assembly:<unknown assembly> type:<unknown type> member:(null) at (wrapper managed-to-native) Noesis.GUI.Noesis_DisableSocketInit() at Noesis.GUI.DisableSocketInit () [0x00000] in <4a5a6102291743178f32591befad79e6>:0 at NoesisUnity.InitCore () [0x00000] in <4a5a6102291743178f32591befad79e6>:0 at NoesisXaml.RegisterDependencies () [0x00008] in <4a5a6102291743178f32591befad79e6>:0 at NoesisXaml.Load () [0x00000] in <4a5a6102291743178f32591befad79e6>:0 at NoesisView.LoadXaml (System.Boolean force) [0x00025] in <4a5a6102291743178f32591befad79e6>:0 at NoesisView.OnEnable () [0x00019] in <4a5a6102291743178f32591befad79e6>:0 Explanation from jsantos: Our native library is not properly tagged for Apple silicon. I am also observing a crash at shutdown when using Development Builds with ARM. For now, your workaround is selecting only "Intel 64-bit" in the Architecture combobox when building the standalone. |
||||
Tags: | |||||
Steps To Reproduce: |
1) Create a clean project in Unity 2021.3.22 (guess the patch level doesn't matter) 2) import the 3.2.1 Noesis package and also import the button example which comes with that package. 3) Do a standalone build for MacOS. |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2667 | [NoesisGUI] Unity3D | crash | sometimes | 2023-08-17 10:40 | 2023-08-17 14:00 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.1 | ||
Product Build: | Resolution: | duplicate | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.2 | ||
Target Version: | 3.2.2 | ||||
Platform: | Any | ||||
Summary: | Crash playing HelloWorld sample | ||||
Description: |
From forum post: https://www.noesisengine.com/forums/viewtopic.php?t=3046 I Create a 3D Unity project by UnityHub, and install NoesisGUI package from the local path. Then import HelloWorld sampe, run it in UnityEditor, the Unity is crashed. Unity version: 2022.1.6f1c1 NoesisGUI version: 3.2.1 |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008645)
sfernandez 2023-08-17 10:42 |
Noesis.dll!SetDebugObjectName(ID3D11DeviceChild * resource=0x0000000000000000, const char * str=0x00007ff8f652c3a0, ...) Line 66 C++ Noesis.dll!NoesisApp::D3D11RenderDevice::CreateShaders() Line 1269 C++ Noesis.dll!NoesisApp::D3D11RenderDevice::D3D11RenderDevice(ID3D11DeviceContext * context, bool sRGB) Line 169 C++ Noesis.dll!NoesisApp::D3D11Factory::CreateDevice(ID3D11DeviceContext * context=0x000002353182a7e0, bool sRGB) Line 21 C++ Noesis.dll!Noesis::UnityDeviceD3D11::UnityDeviceD3D11(IUnityInterfaces * unityInterfaces=0x00007ff72c212ee0, bool sRGB) Line 37 C++ [Inline Frame] Noesis.dll!DeviceInitialize::__l6::<lambda_9be33415c20bbcf0e2abcf5d2a63570f>::operator()() Line 434 C++ Noesis.dll!<lambda_9be33415c20bbcf0e2abcf5d2a63570f>::<lambda_invoker_cdecl>() Line 435 C++ Noesis.dll!CreateDevice() Line 554 C++ Noesis.dll!Noesis_GetRenderOffscreenCallback::__l2::<lambda>(int __formal=-1803558880, void * data=0x00000235c1cca060) Line 771 C++ |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2601 | [NoesisGUI] Unity3D | feature | always | 2023-05-16 22:25 | 2023-08-16 19:32 |
Reporter: | stonstad | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2.1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2 | ||||
Platform: | Any | ||||
Summary: | Support HDR Textures in TextureSource | ||||
Description: |
I'm attempting to use BackgoundEffect in Unity. I am compositing camera output to a RenderTexture. For HDR data to be preserved, Unity requires a texture format which supports HDR (DefaultHDR/Linear). Noesis does not support this format, and it shows HDR texures incorrectly. Ideally, a solution uses a grab pass w/ BackgroundEffect, or HDR support is added. I'll look into HDR to SDR conversion via a shader. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008586)
stonstad 2023-07-05 17:43 |
I have two layers of UI (i.e. pop-ups) and for this reason, I still require Unity HDR texture support in Noesis. Thank you! |
(0008587)
stonstad 2023-07-05 17:50 |
See https://www.noesisengine.com/forums/viewtopic.php?p=15825#p15825 |
(0008589)
jsantos 2023-07-06 11:30 |
As far as I understand (I will verify as soon as possible) HDR textures should work (for example, with an Image). The problem is when offscreens (Opacity, Effects) are used, in this case our intermediate render targets are SDR so we should expose a way to indicate the format of this intermediate textures. |
(0008638)
stonstad 2023-08-15 22:38 |
Hey Jesus. Are you thinking that Noesis can render out to Unity-HDR format? It is R16G16B16A16_SFloat with transparency? |
(0008644)
jsantos 2023-08-16 19:32 |
Yes, we can render to that format *but* our intermediate textures are not going to work correctly until this is fixed. If you are not using intermediate texture (not Opacity, no effects) it should work. Yes, I know, a bit limited right now. I will be come back to this as soon as possible. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
916 | [NoesisGUI] C++ SDK | minor | always | 2016-06-22 10:38 | 2023-08-03 04:07 |
Reporter: | heinrichdutoit | Platform: | x64 | ||
Assigned To: | jsantos | OS: | Windows | ||
Priority: | normal | OS Version: | 10 | ||
Status: | feedback | Product Version: | 1.2.6f3 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.0 | ||||
Platform: | Any | ||||
Summary: | Black lines between elements in Canvas | ||||
Description: |
When using either a Rectangle or Border to display elements from a collection within a Canvas black lines appear between the elements even if the elements are next to each other. |
||||
Tags: | |||||
Steps To Reproduce: |
<Style x:Key="MapView_Style" TargetType="{x:Type ItemsControl}"> <Style.Resources> <GainConverter x:Key="GainConverter" /> </Style.Resources> <Setter Property="ItemsPanel" > <Setter.Value> <ItemsPanelTemplate> <Canvas ClipToBounds="False" Margin="0,0,0,0" UseLayoutRounding="False"> </Canvas> </ItemsPanelTemplate> </Setter.Value> </Setter> <Setter Property="ItemTemplate" > <Setter.Value> <DataTemplate> Width}" Height="{Binding Height}" UseLayoutRounding="False" Margin="0"/> <Rectangle Width="{Binding Width}" Height="{Binding Height}" UseLayoutRounding="False" Margin="0"> <Rectangle.Fill> <ImageBrush ImageSource="{Binding TextureSource}" Stretch="Fill"/> <ImageBrush ImageSource="cpps.jpg" Stretch="Fill" /> </Rectangle.Fill> </Rectangle> </DataTemplate> </Setter.Value> </Setter> <Setter Property="ItemContainerStyle" > <Setter.Value> <Style> <!-- <Setter Property="Canvas.Left" Value="{Binding Path=X1, Converter={StaticResource GainConverter}, ConverterParameter=1}"/> <Setter Property="Canvas.Top" Value="{Binding Path=Y2, Converter={StaticResource GainConverter}, ConverterParameter=-1}"/> --> <Setter Property="Canvas.Left" Value="{Binding Path=X1}"/> <Setter Property="Canvas.Top" Value="{Binding Path=Y2, Converter={StaticResource GainConverter}, ConverterParameter=-1}"/> <!-- <Setter Property="UseLayoutRounding" Value="False"/> --> </Style> </Setter.Value> </Setter> </Style> |
||||
Additional Information: | Using <Image/> element removes the error and is a valid workaround. | ||||
Attached Files: |
screenshot1.png (162,865 bytes) 2019-03-06 18:30 https://www.noesisengine.com/bugs/file_download.php?file_id=982&type=bug Sample.zip (49,479 bytes) 2019-03-06 18:30 https://www.noesisengine.com/bugs/file_download.php?file_id=983&type=bug WpfApp9PatchImage.7z (42,845 bytes) 2023-07-26 00:44 https://www.noesisengine.com/bugs/file_download.php?file_id=1888&type=bug |
||||
Notes | |
(0005505)
stonstad 2019-03-06 18:30 |
Example of similar behavior using an ImageBrush. The thinking around this is that tiled image pixels are wrapping along the x-axis, despite a 1:1 correspondence between rectangle width and source image width. |
(0005509)
nokola 2019-03-07 03:21 |
I have noticed similar issue, reproduces only on iPhone X for me |
(0005512)
jsantos 2019-03-07 17:16 (Last edited: 2019-03-07 17:23) |
This is a different issue. I am able to reproduce the same behavior in WPF. Changing the TileMode to None makes the line disappear although that's not a valid solution... |
(0008585)
ai_enabled 2023-07-05 01:11 |
I also have the same issue (also using 9-patch image approach so it can be stretched in any direction to fit the contents). Please see the screenshot (the issue is a thin orange line above each of the two buttons) https://drive.google.com/file/d/1v3x_0bZNeprDaMQqohpE6y5w2-apLdeX/view?usp=sharing Is there any workaround? I wish we can just disable the texture wrapping in one direction—perhaps you can add a NoesisGUI XAML extension for this purpose? Something like this: noesis:TextureWrapDirection="WrapU" with the options: WrapU/WrapV/WrapUV Regards! P.S. Cannot attach a file due to "Server responded with 0 code" when I submit the message. |
(0008590)
jsantos 2023-07-06 11:37 |
Vladimir, could you attach a minimal XAML reproducing the issue for your scenario? I will revisit this again as soon as possible. |
(0008610)
ai_enabled 2023-07-26 00:44 (Last edited: 2023-08-03 04:07) |
Hi Jesús, please see the attached sample WPF app. Using "UseLayoutRounding" makes the issue much less apparent in WPF, but it's still highly noticeable in NoesisGUI even with this setting enabled (and the issue is getting much worse when MSAA is disabled). The long horizontal line on top and bottom of the button is caused by the texture wrapping around. Hence I've suggested an extension property to restrict texture wrapping ("clamp" render mode). As a workaround for these horizontal lines I'm using RenderOptions.BitmapScalingMode="NearestNeighbor" and simply stretching the texture instead of tiling it (this way wrapping never happens). It's not a good solution but better than seeing these odd lines caused by wrapping. Regards! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2657 | [NoesisGUI] C# SDK | minor | always | 2023-07-31 21:31 | 2023-08-01 12:29 |
Reporter: | jayofalltrades | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.2 | ||
Target Version: | 3.2.2 | ||||
Platform: | Any | ||||
Summary: | Cannot Bind to the Properties of a TimeSpan | ||||
Description: | An error is thrown when attempting to bind to the Hours, Minutes, Seconds, Milliseconds, properties of a TimeSpan and the binding fails. The log claims that TimeSpan does not contain the property and then a "Binding Failed message follows. | ||||
Tags: | C# | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008618)
sfernandez 2023-08-01 12:29 |
Fixed in changeset r12641 |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2656 | [NoesisGUI] C++ SDK | block | always | 2023-07-31 03:32 | 2023-08-01 11:41 |
Reporter: | nikobarli | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.2 | ||
Target Version: | 3.2.2 | ||||
Platform: | Windows | ||||
Summary: | MenuItem's IsChecked binding is not working properly | ||||
Description: |
It seems that the binding for MenuItem's IsChecked property to a VM's property doesn't propagate properly. Please apply the attached patch and build the Buttons and Buttons-blend to reproduce the issue. We modify the above Sample to show three controls: Button, CheckBox, and MenuItem that bind to the same IsChecked property. When run as WPF (Buttons-blend), any changes in one of the control will be synced to the other controls, as expected. But when run as NoesisGUI (Buttons) - Clicking MenuItem and changing its IsChecked property is not propagated to other controls - Clicking Button or Checkbox and changing their IsChecked property is initially propagated to MenuItem. However, once the MenuItem is clicked, the propagation cease forever. Please also check the movie we attached. We are running NoesisGUI 3.1.3. Currently it is a blocking issue for us, and we would be very grateful if you can provide solution for this ASAP (including temporary patch). Thanks in advance. |
||||
Tags: | |||||
Steps To Reproduce: | Please see the above description | ||||
Additional Information: | |||||
Attached Files: |
Test_MenuItem (1).patch (20,205 bytes) 2023-07-31 03:32 https://www.noesisengine.com/bugs/file_download.php?file_id=1889&type=bug Test_MenuItem.mp4 (279,840 bytes) 2023-07-31 03:32 https://www.noesisengine.com/bugs/file_download.php?file_id=1890&type=bug |
||||
Notes | |
(0008613)
sfernandez 2023-07-31 13:52 |
Hi Niko, it seems the MenuItem.IsChecked property was missing the BindsTwoWayByDefault attribute. Could you please test the following patch: Index: MenuItem.cpp =================================================================== --- MenuItem.cpp (revision 12600) +++ MenuItem.cpp (working copy) @@ -1123,13 +1123,15 @@ data->RegisterProperty<bool>(IsCheckableProperty, "IsCheckable", FrameworkPropertyMetadata::Create(false)); data->RegisterProperty<bool>(IsCheckedProperty, "IsChecked", - FrameworkPropertyMetadata::Create(false)); + FrameworkPropertyMetadata::Create(false, + FrameworkPropertyMetadataOptions_BindsTwoWayByDefault)); data->RegisterPropertyRO<bool>(IsHighlightedProperty, "IsHighlighted", FrameworkPropertyMetadata::Create(false)); data->RegisterPropertyRO<bool>(IsPressedProperty, "IsPressed", FrameworkPropertyMetadata::Create(false)); data->RegisterProperty<bool>(IsSubmenuOpenProperty, "IsSubmenuOpen", - FrameworkPropertyMetadata::Create(false)); + FrameworkPropertyMetadata::Create(false, + FrameworkPropertyMetadataOptions_BindsTwoWayByDefault)); data->RegisterPropertyRO<MenuItemRole>(RoleProperty, "Role", FrameworkPropertyMetadata::Create(MenuItemRole_TopLevelItem)); data->RegisterProperty<bool>(StaysOpenOnClickProperty, "StaysOpenOnClick", |
(0008614)
nikobarli 2023-07-31 14:46 |
Hi Sergio, Thanks for the very quick support ! It seems to work. Now I am giving it to the team here to be applied to our codes and tested more rigorously. I will let you know again the result. |
(0008616)
nikobarli 2023-08-01 06:14 |
Hi Sergio, The team said the fix is OK. Thank you ! |
(0008617)
sfernandez 2023-08-01 11:41 (Last edited: 2023-08-01 11:41) |
Thanks for the confirmation! Fixed in changeset r12640 |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2606 | [NoesisGUI] Unreal | crash | always | 2023-05-22 11:41 | 2023-07-21 11:34 |
Reporter: | sergey_sitnikov_ninjatheory | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.2 | ||
Target Version: | 3.2.2 | ||||
Platform: | Any | ||||
Summary: | Crash in UNoesisInstance::NativePaint when stopping PIE | ||||
Description: |
There is a crash in the new code that have been added to 3.2.1 when stopping PIE (returned Viewport pointer is nullptr): UGameViewportClient* ViewportClient = GetWorld()->GetGameViewport(); FSceneViewport* Viewport = ViewportClient->GetGameViewport(); >> auto ViewportPosition = Viewport->GetInitialPositionXY(); auto ViewportSize = Viewport->GetSizeXY(); auto UnscaledViewRect = FIntRect(ViewportPosition.X, ViewportPosition.Y, ViewportPosition.X + ViewportSize.X, ViewportPosition.Y + ViewportSize.Y); NoesisSlateElement->ViewLeft = UnscaledViewRect.Min.X; NoesisSlateElement->ViewTop = UnscaledViewRect.Min.Y; NoesisSlateElement->ViewRight = UnscaledViewRect.Max.X; NoesisSlateElement->ViewBottom = UnscaledViewRect.Max.Y; |
||||
Tags: | |||||
Steps To Reproduce: |
* Start PIE session in Unreal * Add NoesisInstance to viewport * Stop PIE (e.g. press Esc) |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008500)
sfernandez 2023-05-22 12:27 |
I think this is related to issue 0002593 we already resolved in changeset r12514. Could you apply that patch and see if it is fixed for you? |
(0008501)
sergey_sitnikov_ninjatheory 2023-05-22 13:26 |
That code is removed in 12514 so I assume it is fixed by that change (I have made a local fix waiting for the new release version of the library). |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2640 | [NoesisGUI] Unreal | crash | always | 2023-07-05 01:10 | 2023-07-21 11:28 |
Reporter: | mshvern | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.2 | ||
Target Version: | 3.2.2 | ||||
Platform: | Any | ||||
Summary: | L847 of NoesisInstance.cpp assumes Viewport exists which crashes in editor when it doesn't | ||||
Description: |
Resizing the PIE window, alt-tabbing and etc. is prone to crash the engine when a 3D widget of NoesisInstance is present. I've tracked it down to these lines [code]UGameViewportClient* ViewportClient = GWorld->GetGameViewport(); FSceneViewport* Viewport = ViewportClient->GetGameViewport();[/code] Just check whether VIewportClient is nullptr or not before trying to access its properties. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2642 | [NoesisGUI] Unreal | major | always | 2023-07-05 14:08 | 2023-07-21 11:22 |
Reporter: | jsantos | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.2 | ||
Target Version: | 3.2.2 | ||||
Platform: | Any | ||||
Summary: | Different Colors in Unreal World UI | ||||
Description: |
When rendering UI in World Space, color must be rendered in linear space. Right now, we are using the sRGB space and colors look washed. https://www.noesisengine.com/forums/viewtopic.php?t=3008 |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008608)
hcpizzi 2023-07-21 11:22 |
Implemented a linear RenderDevice. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2652 | [NoesisGUI] Unity3D | minor | always | 2023-07-19 11:01 | 2023-07-19 17:16 |
Reporter: | NirHasson | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.1 | ||
Product Build: | Resolution: | duplicate | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.2 | ||
Target Version: | 3.2.2 | ||||
Platform: | Any | ||||
Summary: | Opacity Mask Bug - Element Rendered Vertically Flipped | ||||
Description: | An element with image based opacity mask is rendered vertically flipped when one of its parent items have opacity lower than 1. | ||||
Tags: | |||||
Steps To Reproduce: |
Use the XAML below with one of your images and the result will be a flipped rectangle. <Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" mc:Ignorable="d" d:DesignHeight="450" d:DesignWidth="800" Title="OpacityMaskBug"> <Grid> <Grid.RowDefinitions> <RowDefinition/> <RowDefinition/> <RowDefinition/> </Grid.RowDefinitions> <Grid.Background> <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0"> <GradientStop Color="#FF8F1B9C"/> <GradientStop Color="#FF076D6F" Offset="1"/> </LinearGradientBrush> </Grid.Background> <Viewbox Grid.Row="1" Opacity="0.95"> <Rectangle Grid.Row="1" x:Name="TargetRect" Fill="#FFD1F536" Width="256" Height="256"> <Rectangle.OpacityMask> <ImageBrush ImageSource="Images/award_icon.png"/> </Rectangle.OpacityMask> </Rectangle> </Viewbox> </Grid> </Page> |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008607)
sfernandez 2023-07-19 17:16 |
Fixed in rev. 12519 |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2594 | [NoesisGUI] Unreal | major | always | 2023-05-11 13:17 | 2023-07-19 17:14 |
Reporter: | sergey_sitnikov_ninjatheory | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.2 | ||
Target Version: | 3.2.2 | ||||
Platform: | Any | ||||
Summary: | Complex OpacityMask with transparency provides different results in WPF and Noesis 3.2.0 | ||||
Description: | Complex OpacityMasks with transparency can provide different results in WPF and Noesis 3.2.0. The problem can cause flickering when Opacity is animated. The issue wasn't noticed in version 3.1.6. | ||||
Tags: | |||||
Steps To Reproduce: |
<Grid Background="Black"> <Grid> <Grid.OpacityMask> <LinearGradientBrush StartPoint="0,0.5" EndPoint="1,0.5"> <GradientStop Color="Transparent" Offset="0" /> <GradientStop Color="Black" Offset="0.5" /> <GradientStop Color="Transparent" Offset="1" /> </LinearGradientBrush> </Grid.OpacityMask> <Grid> <Grid.OpacityMask> <LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1"> <GradientStop Color="Black" Offset="0" /> <GradientStop Color="Transparent" Offset="1" /> </LinearGradientBrush> </Grid.OpacityMask> <Grid Background="Red" /> </Grid> </Grid> </Grid> |
||||
Additional Information: | |||||
Attached Files: |
WPF.png (217,556 bytes) 2023-05-11 13:17 https://www.noesisengine.com/bugs/file_download.php?file_id=1838&type=bug Unreal (Noesis 3.2.0).png (240,850 bytes) 2023-05-11 13:17 https://www.noesisengine.com/bugs/file_download.php?file_id=1839&type=bug |
||||
Notes | |
(0008474)
sfernandez 2023-05-12 10:44 |
Fixed in rev. 12519 |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
969 | [NoesisGUI] C++ SDK | feature | always | 2016-10-26 14:56 | 2023-07-18 12:54 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | low | OS Version: | |||
Status: | assigned | Product Version: | 3.0 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2 | ||||
Platform: | Any | ||||
Summary: | Animate scroll changes | ||||
Description: |
A necessary improvement is to animate the scroll offset, to get a perfect smooth transition from the latest offset. This will apply not only for MouseWheel events, but also when scrolling with ScrollBar buttons or clicking the ScrollBar track. We have to investigate how this is exposed in UWP and check if WPF has something similar to be compatible. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0006135)
ai_enabled 2020-03-10 20:37 |
I hope it could be also done for virtualized panels! (scrolling by items instead of by pixels) It would add a lot of smoothness to any UI with scrolling! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2613 | [NoesisGUI] Unreal | minor | always | 2023-05-30 20:26 | 2023-07-11 11:57 |
Reporter: | hcpizzi | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.2 | ||
Target Version: | 3.2.2 | ||||
Platform: | Any | ||||
Summary: | Set with NotifyChanged node doesn't work with Text properties | ||||
Description: |
If Set with NotifyChanged is used with a Text property, Blueprint compilation fails with error: The current value (/Script/Engine.Default__KismetStringLibrary) of the ' Target ' pin is invalid: /Script/Engine.Default__KismetStringLibrary isn't a KismetTextLibrary (specified on pin self) |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
SetWithNotify.patch (19,302 bytes) 2023-05-30 21:26 https://www.noesisengine.com/bugs/file_download.php?file_id=1862&type=bug |
||||
Notes | |
(0008519)
hcpizzi 2023-05-30 21:26 |
The Set with NotifyChanged node works by expanding the node to a network of nodes that: get the current value of the property, compare it to the value to be set and, if different, set the new value and notify the change. Most of the network is the same, regardless of the type of the property. However, the comparison is type dependent. The error in questios was caused because the wrong object was being set in the Self pin of the compare node. But, after fixing this problem, I realized that the Text comparison function only takes references to objects, which caused problems when trying to set them to a literan in the node's pin itself. Given how convoluted this all was, I've taken this opportunity to revamp the whole thing. Now the node just calls a function that does everything natively. This should be more efficient, and also easier to maintain moving forward. I've attached a patch with the changes. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2627 | [NoesisGUI] C++ SDK | minor | always | 2023-06-13 10:48 | 2023-07-10 20:18 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.2 | ||
Target Version: | 3.2.2 | ||||
Platform: | Any | ||||
Summary: | Improve PropertyPath error messages for boxed values | ||||
Description: |
When binding to unknown properties of boxed values the error message says:Can't solve PropertyPath: Type 'Boxed<String>' does not contain a property named 'Length' We should just mention the name of the boxed type to avoid confusion. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2647 | [NoesisGUI] Unreal | minor | always | 2023-07-10 01:20 | 2023-07-10 20:11 |
Reporter: | mshvern | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.2 | ||
Target Version: | 3.2.2 | ||||
Platform: | Any | ||||
Summary: | Missing converter for PathFigureCollection | ||||
Description: |
When referencing a PathFigureCollection from a resource dictionaryCannot convert 'M 1888.2001 1.915677 V 1001.9211 l -24.8263 43.0005 h -392.9762 l -65.2936 29.7968 h 486.7515 L 1920 1025.9707 V 1.915677 Z' into a 'PathFigureCollection' object https://www.noesisengine.com/forums/viewtopic.php?f=3&t=2975&sid=58de6ac48c2b7b8640c2b7ca303e5d21#p15743 |
||||
Tags: | |||||
Steps To Reproduce: |
Settings Figures directly: <Path Fill="White" StrokeThickness="0.264583"> <Path.Data> <PathGeometry Figures="M 1888.2001 1.915677 V 1001.9211 l -24.8263 43.0005 h -392.9762 l -65.2936 29.7968 h 486.7515 L 1920 1025.9707 V 1.915677 Z" FillRule="NonZero"/> </Path.Data> </Path> Setting Figures through a resource: <ResourceDictionary> <PathFigureCollection x:Key="Path.FrameRight"> M 1888.2001 1.915677 V 1001.9211 l -24.8263 43.0005 h -392.9762 l -65.2936 29.7968 h 486.7515 L 1920 1025.9707 V 1.915677 Z </PathFigureCollection> </ResourceDictionary> <Path Fill="White" StrokeThickness="0.264583"> <Path.Data> <PathGeometry Figures="{StaticResource Path.FrameRight}" FillRule="NonZero"/> </Path.Data> </Path> |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2646 | [NoesisGUI] Unreal | feature | N/A | 2023-07-07 10:10 | 2023-07-10 12:02 |
Reporter: | hcpizzi | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Support FDateTime as DateTime for Bindings | ||||
Description: | There's no type right now that maps to DateTime. Add a mapping for FDateTime. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1498 | [NoesisGUI] C# SDK | major | have not tried | 2019-06-19 19:09 | 2023-07-10 12:02 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 2.2.3 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Performance problems binding DateTime | ||||
Description: | https://www.noesisengine.com/forums/viewtopic.php?f=3&t=1722 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
728 | [NoesisGUI] Unity3D | minor | always | 2015-10-05 18:59 | 2023-07-10 12:01 |
Reporter: | Scherub | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Binding to nullable DateTime doesn't work | ||||
Description: |
As the title says, binding to DateTime? doesn't work and it will throw an exception: Can't launch PropertyChanged event. Property 'RegistrationDate' not found in type 'DominoRun.Gui.AccountManagement.AccountManagementView' |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1504 | [NoesisGUI] C++ SDK | feature | have not tried | 2019-06-21 16:55 | 2023-07-10 11:59 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Suport for DateTime formats in StringFormat | ||||
Description: |
First we have to define DateTime struct natively. https://docs.microsoft.com/en-us/dotnet/api/system.datetime?view=netframework-4.8 Then we should implement support in StringFormat: https://docs.microsoft.com/en-us/dotnet/standard/base-types/standard-date-and-time-format-strings https://docs.microsoft.com/en-us/dotnet/standard/base-types/custom-date-and-time-format-strings |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2643 | [NoesisGUI] Unity3D | feature | always | 2023-07-05 17:41 | 2023-07-06 11:37 |
Reporter: | stonstad | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | ShaderEffects listed in Class Hierarchy are Not Available in Unity | ||||
Description: |
https://www.noesisengine.com/forums/viewtopic.php?t=2977 |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2645 | [NoesisGUI] C++ SDK | feature | always | 2023-07-05 20:02 | 2023-07-05 20:02 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2.1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | RiveControl: add support for joysticks | ||||
Description: |
Update rive runtime to support joysticks: https://rive.app/changelog/joysticks |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2597 | [NoesisGUI] C# SDK | major | always | 2023-05-14 22:40 | 2023-07-05 19:31 |
Reporter: | sumel007 | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.2 | ||
Target Version: | 3.2.2 | ||||
Platform: | Windows | ||||
Summary: | Adding a scrollviewer makes keyboard focus behave in completely unexpected ways for the controls inside. | ||||
Description: |
Noesis' automatic keyboard focus seems to change its behaviour when a panel is placed inside the scrollviewer in 3.2.1 (haven't tested it out on previous version, since I was waiting for fix to scrollviewer's ability to focus controls outside its scrolled-area, which was implemented in 3.2.1). In my case it seems to behave completely unexpectedly, jumping several focusable elements up or down, skipping elements, going down when pressing right etc. I am attaching a modified Applications sample with a case similar to what we have in our game. A scrollviewer with one large stackpanel inside of it. The staxkpanel has some itemscontrols and a listbox inside (but their individual scrolling is disabled, but it is worth to mention it in case it is related to the issue). The issues should be obvious when running the sample, but some specific examples: 1. Sequence right right right down down down the third down moves us outside the sliders and we would expect it to focus the left button of row 0_0, instead it jumps to row 0_3. 2. Pressing right after sequence 1 focuses us on the right button 2_0, completely skipping the portion inside Header_1. 3. Pressing down and then up after sequence one focuses us on 1_0 (expected) and then 0_0 (I would expect 0_3). There are many more examples, but in general it seems to behave quite randomly. There is commented out version of this same stackpanel outside the scrollviewer. There are still some issues (ie if we focus on the right button and press up we focus the upper row's left button instead of right, whereas right would be expected) but these are much more minor (but would be appreciated if they got fixed as well (though if 0002406 gets implemented then these minor problems could be fixed manually by us). |
||||
Tags: | |||||
Steps To Reproduce: |
Run the attached project Run the keybaord sequences from above, or just test the application |
||||
Additional Information: | |||||
Attached Files: |
ScrollViewerProblemsSample.zip (2,098,382 bytes) 2023-05-14 22:40 https://www.noesisengine.com/bugs/file_download.php?file_id=1845&type=bug 2023-05-10 11-52-14_Weird_Offset_Compressed.mp4 (3,070,554 bytes) 2023-05-14 22:48 https://www.noesisengine.com/bugs/file_download.php?file_id=1846&type=bug 2023-05-10 12-09-49_compressed.mp4 (2,029,614 bytes) 2023-05-14 22:48 https://www.noesisengine.com/bugs/file_download.php?file_id=1847&type=bug 2023-05-17 08-52-24_compressed.mp4 (1,261,421 bytes) 2023-05-17 09:01 https://www.noesisengine.com/bugs/file_download.php?file_id=1848&type=bug |
||||
Notes | |
(0008477)
sfernandez 2023-05-15 11:09 |
I'll send you a patched library as soon as I have a fix for you to test. |
(0008478)
sfernandez 2023-05-15 17:14 |
Hi, please try the following library and let me know if you find any more issues with the focus: https://drive.google.com/file/d/11LMr2-CSTJyHWc0YSj9xotCWs8L40DF8/view?usp=share_link |
(0008481)
sfernandez 2023-05-17 14:41 |
I made some improvements to the directional navigation to avoid the behavior you mentioned. Please try this new library: https://drive.google.com/file/d/136xiNG24MN4wbZPwoG9JNT44oCzwz79U/view?usp=share_link |
(0008483)
sumel007 2023-05-18 09:36 |
Hi. I've tested it on our screen and it seems like all the issues are fixed. If we find anything else I'll let you know, but I think the issue is resolved for now. Thank you! |
(0008525)
sfernandez 2023-06-06 12:56 |
Fixed in changeset r12545 |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2398 | [NoesisGUI] C++ SDK | minor | always | 2022-08-16 07:26 | 2023-07-05 01:00 |
Reporter: | BAJayM | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.5 | ||
Product Build: | Resolution: | reopened | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.6 | ||
Target Version: | 3.2.2 | ||||
Platform: | Any | ||||
Summary: | Hitting assert in Rect constructor when using LinearRectKeyFrame | ||||
Description: |
There is a case where the LinearRectKeyFrame can case the rect constructor to assert while it is animating. I believe it is using the rect class to do some maths to work out the new location of the rect. This rect that you are using, can have a negative size but it should be valid. |
||||
Tags: | assert, LinearRectKeyFrame | ||||
Steps To Reproduce: |
Say we have a rectangle geometry like this: <RectangleGeometry x:Name="outlineColourAwaySideGeo" Rect="0, 0, 533, 400"/> Then we have a storyboard that moves it like this: <RectAnimationUsingKeyFrames Storyboard.TargetName="outlineColourAwaySideGeo" BeginTime="0:0:0" Storyboard.TargetProperty="Rect"> <LinearRectKeyFrame Value="0,0,533,0" KeyTime="0:0:0.4" /> <DiscreteRectKeyFrame Value="0,0,533,400" KeyTime="0:0:0.6" /> </RectAnimationUsingKeyFrames> The rect you are doing the maths with has a negative size so therefore hits this assert. |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008531)
BAJayM 2023-06-09 07:02 |
I've just merged the fix for this into 3.1.5 (we still haven't updated. It's been crazy) and I saw the same problem would be in Spline Rect Key Frame and Easing Rect Key Frame |
(0008582)
jsantos 2023-07-05 00:02 |
I am verifying this right now, the original fix for LinearRectKeyFrame was in r11689. A day later, r11698 fixed this for all animation classes using Rect. Could you please verify you merged everything correctly? This is also part of Noesis 3.2 branch. |
(0008583)
BAJayM 2023-07-05 00:46 |
Oh I must of missed that. Ill take a look thank you. We haven't updated fully since we are under the pump atm. Thanks for pointing that out. My bad. Thanks, Jay |
(0008584)
jsantos 2023-07-05 01:00 |
I am going to mark this as solved. Please, reopen again if necessary. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2609 | [NoesisGUI] Unity3D | minor | always | 2023-05-24 12:00 | 2023-07-04 19:15 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.2 | ||
Target Version: | 3.2.2 | ||||
Platform: | Any | ||||
Summary: | WebGL: TextBox and PasswordBox don't receive focus | ||||
Description: |
From forums post: https://www.noesisengine.com/forums/viewtopic.php?p=15630 TextBox or PasswordBox in login sample doesn't show the text caret when clicked. It doesn't work either if you try to move the focus with the Tab key. |
||||
Tags: | |||||
Steps To Reproduce: |
Unity 2022.2.5f1 + NoesisGUI 3.2.1 1. Create Unity project 2. Install NoesisGUI package 3. Import Login sample 4. Build and Run for WebGL platform |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008571)
dmacd10@gmail.com 2023-06-29 00:38 |
Gentle bump? This is now a blocking issue for our app; we need text entry capabilities. Would love to have a workaround at the very least. |
(0008581)
jsantos 2023-07-04 19:15 |
Fixed in 3.2.2 Method TouchKeyboard.Open (in NoesisUnity.cs) must be changed to public static void Open(UIElement focused_) { string text = ""; TouchScreenKeyboardType keyboardType = TouchScreenKeyboardType.Default; bool multiline = false; bool secure = false; int characterLimit = 0; if (focused_ is FrameworkElement) { switch (((FrameworkElement)focused_).InputScope) { case InputScope.Url: keyboardType = TouchScreenKeyboardType.URL; break; case InputScope.Digits: case InputScope.Number: case InputScope.NumberFullWidth: keyboardType = TouchScreenKeyboardType.NumbersAndPunctuation; break; case InputScope.TelephoneNumber: case InputScope.TelephoneLocalNumber: keyboardType = TouchScreenKeyboardType.PhonePad; break; case InputScope.AlphanumericFullWidth: case InputScope.AlphanumericHalfWidth: keyboardType = TouchScreenKeyboardType.NamePhonePad; break; case InputScope.EmailSmtpAddress: keyboardType = TouchScreenKeyboardType.EmailAddress; break; case InputScope.RegularExpression: keyboardType = TouchScreenKeyboardType.Search; break; default: keyboardType = TouchScreenKeyboardType.Default; break; } } TextBox textBox = focused_ as TextBox; PasswordBox passwordBox = focused_ as PasswordBox; if (textBox != null) { text = textBox.Text; multiline = textBox.TextWrapping == TextWrapping.Wrap && textBox.AcceptsReturn; characterLimit = textBox.MaxLength; } else if (passwordBox != null) { text = passwordBox.Password; secure = true; } TouchScreenKeyboard keyboard_; #if UNITY_2018_1_OR_NEWER keyboard_ = TouchScreenKeyboard.Open(text, keyboardType, true, multiline, secure, false, "", characterLimit); #else keyboard_ = TouchScreenKeyboard.Open(text, keyboardType, true, multiline, secure, false, ""); #endif if (keyboard_.status == TouchScreenKeyboard.Status.Visible) { if (textBox != null) { textBox.HideCaret(); } else if (passwordBox != null) { passwordBox.HideCaret(); } keyboard = keyboard_; focused = focused_; undoString = text; } } |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2637 | [NoesisGUI] Unity3D | feature | always | 2023-06-30 18:19 | 2023-07-03 13:47 |
Reporter: | stonstad | Platform: | |||
Assigned To: | admin | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Include Saturation Effect in core Unity3D Noesis APIs | ||||
Description: |
See https://www.noesisengine.com/forums/viewtopic.php?t=2977 |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2633 | [NoesisGUI] Unity3D | major | always | 2023-06-26 22:29 | 2023-06-27 11:08 |
Reporter: | Josh Campbell | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | feedback | Product Version: | 3.2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Android | ||||
Summary: | URP Renders in Left Eye Only. | ||||
Description: |
We recently updated to URP. After the update Noesis world space UI no longer renders properly in VR - only appears in left eye and the transform/scale is incorrect/skewed. We tested this in the Sample World UI project as well and had the same result. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008567)
jsantos 2023-06-27 11:08 |
What Unity and Noesis version are you using? Is this happening in Android or Windows? Thank you! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2631 | [NoesisGUI] Unity3D | feature | always | 2023-06-21 19:45 | 2023-06-21 20:36 |
Reporter: | stonstad | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Add x:Shared Support | ||||
Description: |
I'd like to use x:Shared so that I can share this grouping of paths across different UIs. Each instance has a different parent, and for this reason sharing should be disabled. <Viewbox x:Key="colonists_svg" Stretch="Uniform" x:Shared="False"> <Canvas Width="40" Height="40"> <Path Fill="#ffffff" Data="M18.7944 5C14.347 5 10.7417 8.60533 10.7417 13.0527V18.5144C10.7417 19.4916 11.3742 20.3564 12.3054 20.6526C16.5273 21.9951 21.0616 21.9951 25.2834 20.6526C26.2147 20.3564 26.8472 19.4916 26.8472 18.5144V13.0527C26.8472 8.60533 23.2418 5 18.7944 5ZM17.3851 7.81858C14.1608 7.81858 11.5469 10.4324 11.5469 13.6568C11.5469 16.8812 14.1608 19.495 17.3851 19.495H20.2036C23.428 19.495 26.0418 16.8812 26.0418 13.6568C26.0418 10.4324 23.428 7.81858 20.2036 7.81858H17.3851Z"/> <Path Fill="#ffffff" Data="M26.4443 12.2476C27.3338 12.2476 28.0549 12.9686 28.0549 13.8581V15.4687C28.0549 16.3581 27.3338 17.0792 26.4443 17.0792V12.2476Z"/> <Path Fill="#ffffff" Data="M11.144 12.2476C10.2546 12.2476 9.5335 12.9686 9.5335 13.8581V15.4687C9.5335 16.3581 10.2546 17.0792 11.144 17.0792V12.2476Z"/> <Path Fill="#ffffff" Data="M12.8727 11.4248C12.5394 12.0974 12.3521 12.8552 12.3521 13.6567C12.3521 16.4363 14.6054 18.6897 17.385 18.6897H20.2035C22.9831 18.6897 25.2364 16.4363 25.2364 13.6567C25.2364 12.8552 25.0491 12.0974 24.7157 11.4248H12.8727Z"/> <Path Fill="#ffffff" Data="M26.6057 21.1333C23.9895 23.7495 13.7927 23.9533 10.9939 21.1545C8.06326 22.5315 6 25.5088 6 29.0113V31.0001L31.6993 32.0001V29.0363C31.6993 27.696 31.3972 26.4327 30.8601 25.3067L29.3928 27.8481L27.7236 26.8844L29.6882 23.4816C29.5437 23.3087 29.3927 23.1416 29.2356 22.9806L26.3012 28.0631L24.632 27.0994L27.7238 21.7443C27.3677 21.5143 26.9941 21.3098 26.6057 21.1333ZM15.0208 28.7089L12.6134 28.7356C11.5645 28.7356 11.1737 28.1583 11.1737 27.2256L11.1396 25.5606L16.2795 25.5232L16.2638 27.1267C16.2638 27.9579 15.8757 28.7089 15.0208 28.7089Z"/> </Canvas> </Viewbox> |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008562)
stonstad 2023-06-21 19:59 |
I have it working with DataTemplates... but I can't help wonder if it would be easier to just set x:Shared:"False". Please feel free to close. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2626 | [NoesisGUI] Unity3D | crash | sometimes | 2023-06-13 08:16 | 2023-06-13 10:45 |
Reporter: | VaqifQuluzada | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | feedback | Product Version: | 3.2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Android | ||||
Summary: | Crash when loading two noesisView content at the same time | ||||
Description: |
In my scene there are two noesis view element which loads at the same time in start. And sometimes this gives and error message as below. The temporary solution for this issue is to give delay between two xaml files loading process(i use async method but sometimes it also crashes) |
||||
Tags: | C#, Unity, WPF, xaml | ||||
Steps To Reproduce: |
1) Put two noesisView in different cameras in scene. 2) After building in android, sometimes it gives crash and exit application Error codes in logcat: 06-07 10:29:22.957 28142 28177 E AndroidRuntime: FATAL EXCEPTION: UnityMain 06-07 10:29:22.957 28142 28177 E AndroidRuntime: Process: com.DynamicBox.Prototip, PID: 28142 06-07 10:29:22.957 28142 28177 E AndroidRuntime: java.lang.Error: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** 06-07 10:29:22.957 28142 28177 E AndroidRuntime: Version '2021.3.16f1 (4016570cf34f)', Build type 'Release', Scripting Backend 'mono', CPU 'armeabi-v7a' 06-07 10:29:22.957 28142 28177 E AndroidRuntime: Build fingerprint: 'Unistrong/UT32/UT32:10/QKQ1/androi202106242017:user/release-keys' 06-07 10:29:22.957 28142 28177 E AndroidRuntime: Revision: '0' 06-07 10:29:22.957 28142 28177 E AndroidRuntime: ABI: 'arm' 06-07 10:29:22.957 28142 28177 E AndroidRuntime: Timestamp: 2023-06-07 10:29:22+0400 06-07 10:29:22.957 28142 28177 E AndroidRuntime: pid: 28142, tid: 28177, name: UnityMain >>> com.DynamicBox.Prototip<<< 06-07 10:29:22.957 28142 28177 E AndroidRuntime: uid: 10171 06-07 10:29:22.957 28142 28177 E AndroidRuntime: signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x24 06-07 10:29:22.957 28142 28177 E AndroidRuntime: Cause: null pointer dereference 06-07 10:29:22.957 28142 28177 E AndroidRuntime: r0 00000000 r1 b6a6b220 r2 c89510e6 r3 c89510e7 06-07 10:29:22.957 28142 28177 E AndroidRuntime: r4 00000000 r5 b6a6b220 r6 00000002 r7 c89510c0 06-07 10:29:22.957 28142 28177 E AndroidRuntime: r8 c8951148 r9 b6a6b060 r10 00000000 r11 00000015 06-07 10:29:22.957 28142 28177 E AndroidRuntime: ip c02deae8 sp c8951070 lr c0006673 pc bff51df8 06-07 10:29:22.957 28142 28177 E AndroidRuntime: 06-07 10:29:22.957 28142 28177 E AndroidRuntime: backtrace: 06-07 10:29:22.957 28142 28177 E AndroidRuntime: #00 pc 00148df8 /data/app/com.DynamicBox.Prototip-l64U6h0uYWi6v6j1Z8KMMg==/lib/arm/libNoesis.so 06-07 10:29:22.957 28142 28177 E AndroidRuntime: 06-07 10:29:22.957 28142 28177 E AndroidRuntime: managed backtrace: 06-07 10:29:22.957 28142 28177 E AndroidRuntime: #00 (wrapper managed-to-native) Noesis.View:Noesis_View_Create (System.Runtime.InteropServices.HandleRef) 06-07 10:29:22.957 28142 28177 E AndroidRuntime: #01 Noesis.View:CreateCPtr (System.Type,bool&) <0x7b> 06-07 10:29:22.957 28142 28177 E AndroidRuntime: #02 Noesis.BaseComponent:.ctor () <0x43> 06-07 10:29:22.957 28142 28177 E AndroidRuntime: #03 Noesis.DispatcherObject:.ctor () <0x13> 06-07 10:29:22.957 28142 28177 E AndroidRuntime: #04 Noesis.View:.ctor (System.Runtime.InteropServices.HandleRef) <0x57> 06-07 10:29:22.957 28142 28177 E AndroidRuntime: #05 Noesis.View:.ctor (Noesis.FrameworkElement) <0x2b> 06-07 10:29:22.957 28142 28177 E AndroidRuntime: #06 NoesisView:CreateView (Noesis.FrameworkElement) <0x67> 06-07 10:29:22.957 28142 28177 E AndroidRuntime: #07 NoesisView:LoadXaml (bool) <0xc7> 06-07 10:29:22.957 28142 28177 E AndroidRuntime: #08 NoesisView:OnEnable () <0x43> 06-07 10:29:22.957 28142 28177 E AndroidRuntime: #09 (wrapper runtime-invoke) object:runtime_invoke_void__this__ (object,intptr,intptr,intptr) 06-07 10:29:22.957 28142 28177 E AndroidRuntime: 06-07 10:29:22.957 28142 28177 E AndroidRuntime: at libNoesis.0x148df8(Native Method) 06-07 10:29:22.957 28142 28177 E AndroidRuntime: at Noesis.View.Noesis_View_Create (System.Runtime.InteropServices.HandleRef)(Native Method) 06-07 10:29:22.957 28142 28177 E AndroidRuntime: at Noesis.View.CreateCPtr (System.Type,bool&)(0x7b:123) 06-07 10:29:22.957 28142 28177 E AndroidRuntime: at Noesis.BaseComponent..ctor ()(0x43:67) 06-07 10:29:22.957 28142 28177 E AndroidRuntime: at Noesis.DispatcherObject..ctor ()(0x13:19) 06-07 10:29:22.957 28142 28177 E AndroidRuntime: at Noesis.View..ctor (System.Runtime.InteropServices.HandleRef)(0x57:87) 06-07 10:29:22.957 28142 28177 E AndroidRuntime: at Noesis.View..ctor (Noesis.FrameworkElement)(0x2b:43) 06-07 10:29:22.957 28142 28177 E AndroidRuntime: at NoesisView.CreateView (Noesis.FrameworkElement)(0x67:103) 06-07 10:29:22.957 28142 28177 E AndroidRuntime: at NoesisView.LoadXaml (bool)(0xc7:199) 06-07 10:29:22.957 28142 28177 E AndroidRuntime: at NoesisView.OnEnable ()(0x43:67) 06-07 10:29:22.957 28142 28177 E AndroidRuntime: at System.Object.runtime_invoke_void__this__ (object,intptr,intptr,intptr)(Native Method) |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008538)
jsantos 2023-06-13 10:44 |
Just for confirmation, this is not using multiple threads for loading the views right? |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1857 | [NoesisGUI] C++ SDK | feature | always | 2020-12-10 02:12 | 2023-06-12 12:38 |
Reporter: | satorp | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.0.8 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2 | ||||
Platform: | Any | ||||
Summary: | Add support for TextSearch to ItemsControl | ||||
Description: | Select an item in ListBox or ComboBox by typing in a few characters that match their text, similar to WPF. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008524)
nikobarli 2023-06-06 07:41 |
Hi, is there any plan to include this feature in your roadmap. We actually want to use this feature in our software. Thanks. |
(0008535)
sfernandez 2023-06-12 12:38 |
Hi, there's not been many requests about this feature but if it is important for you we can implement it for an upcoming release. In the meantime, have you considered attaching a behavior to do add this kind of functionality to items controls? |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2618 | [NoesisGUI] Unity3D | minor | always | 2023-06-06 15:11 | 2023-06-12 12:24 |
Reporter: | Umarsh | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1.4 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2 | ||||
Platform: | Any | ||||
Summary: | ApplicationCommands.Cut not reacting on selection in TextBox | ||||
Description: |
From forum post https://www.noesisengine.com/forums/viewtopic.php?t=2960 Buttons with commands ApplicationCommands.Cut and ApplicationCommands.Copy not reacting(stay inactive) on selection in textbox. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2605 | [NoesisGUI] C# SDK | major | always | 2023-05-21 19:34 | 2023-06-12 11:32 |
Reporter: | sumel007 | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.2 | ||
Target Version: | 3.2.2 | ||||
Platform: | Any | ||||
Summary: | Code handling enter key has some problems. | ||||
Description: |
Thread here https://www.noesisengine.com/forums/viewtopic.php?p=15624#p15624 "I think we have something wrong in relation to the code handling the Enter key, because it should behave the same as with the Space key." |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008511)
sfernandez 2023-05-25 12:22 |
Please try the following library with the issue fixed: https://drive.google.com/file/d/1ByEOev0YOAN20cYiK8ChelAk2Mpj_lmk/view?usp=share_link |
(0008527)
sfernandez 2023-06-06 12:57 |
Did you find any trouble with that patched library? Did it work as you expected? |
(0008533)
sumel007 2023-06-12 08:12 |
Sorry, I was on vacation, so I just got around to testing the library. It seems that the issue is fixed and the keys behave as expected. Thank you! |
(0008534)
sfernandez 2023-06-12 11:32 |
Thanks for the feedback! marking this as solved. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2619 | [NoesisGUI] VSCode | minor | have not tried | 2023-06-06 18:40 | 2023-06-06 18:40 |
Reporter: | maherne | Platform: | |||
Assigned To: | maherne | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2.2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Investigate using icons instead of text for the VSCode extension connection status | ||||
Description: | Investigate replacing "Unity" and "Unreal" in the VSCode extension connection status with icons. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2599 | [NoesisGUI] Unity3D | major | always | 2023-05-15 16:49 | 2023-06-06 12:56 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.2 | ||
Target Version: | 3.2.2 | ||||
Platform: | Any | ||||
Summary: | Directional focus can't be moved to controls inside ItemsControl's items | ||||
Description: | When an item inside an ItemsControl contains several controls, directional focus moves only between items, but cannot be moved to the controls inside each of the items. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008526)
sfernandez 2023-06-06 12:56 |
Fixed in changeset r12545 |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2614 | [NoesisGUI] Unity3D | feature | N/A | 2023-05-31 16:15 | 2023-05-31 16:32 |
Reporter: | stonstad | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | SVG Importer | ||||
Description: |
We are using Inskscape -- but a SVG preprocessor to create XAML would be a terrific feature! |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2580 | [NoesisGUI] Unity3D | crash | have not tried | 2023-04-24 10:39 | 2023-05-29 13:33 |
Reporter: | stonstad | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.0 | ||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.1 | ||
Target Version: | 3.2.1 | ||||
Platform: | Any | ||||
Summary: | Crash reloading xaml with errors | ||||
Description: | It occurred during the XamlReload step. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
Crash_2023-04-23_200357222.zip (341,778 bytes) 2023-04-24 10:40 https://www.noesisengine.com/bugs/file_download.php?file_id=1819&type=bug ResourcesCommon.xaml (15,366 bytes) 2023-04-24 18:11 https://www.noesisengine.com/bugs/file_download.php?file_id=1825&type=bug Crash_2023-05-19_163841910.zip (959,779 bytes) 2023-05-19 18:42 https://www.noesisengine.com/bugs/file_download.php?file_id=1857&type=bug ResourcesCommon-2.xaml (15,499 bytes) 2023-05-19 21:46 https://www.noesisengine.com/bugs/file_download.php?file_id=1858&type=bug |
||||
Notes | |
(0008448)
sfernandez 2023-04-24 10:40 |
|
(0008449)
sfernandez 2023-04-24 10:43 |
Hi, I separated this issue in a new ticket to better track the different problems. This crash happened during the reload of "Assets/User Interface/ResourcesCommon.xaml", could you please attach it here and perhaps indicate what did you change to make it crash? Let's see if we can reproduce it to understand the source of the problem. |
(0008458)
stonstad 2023-04-24 18:11 |
I added <SolidColorBrush x:Key="SelectionBrush" Color="{StaticResource SelectionColor}"/> But in general, it does not matter what line I change. |
(0008460)
jsantos 2023-04-24 20:11 (Last edited: 2023-04-24 20:23) |
I am able to reproduce this, moving from<Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <Grid.Resources> <Color x:Key="SelectionColor" R="255"/> </Grid.Resources> </Grid> to <Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <Grid.Resources> <Color x:Key="SelectionColor" G="255"/> </Grid.Resources> </Grid> or <Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <Grid.Resources> <Color x:Key="SelectionColor" R="255"/> <SolidColorBrush x:Key="SelectionBrush" Color="{StaticResource SelectionColor}"/> </Grid.Resources> </Grid> Working on it |
(0008491)
stonstad 2023-05-19 18:41 |
Sorry to reopen this. Should this behavior be present in 3.2.1? I just ran into it. |
(0008492)
stonstad 2023-05-19 18:42 |
I modified a color in a resources XAML file, and then on XAML reload the editor crashed. |
(0008494)
jsantos 2023-05-19 19:46 |
Could you please attach the XAML? Are you consistently reproducing this? |
(0008497)
stonstad 2023-05-19 21:46 |
Crashed while changing line 61 from# 99444444 to #55444444. |
(0008498)
stonstad 2023-05-19 21:47 |
It isn't consistent but it has happened two or three times today. |
(0008499)
sfernandez 2023-05-22 11:19 |
Following the callstack and the code you attached in ticket 0002579 I see this is related to the UIStateMachine which is used like a singleton. Could you please add the following checks in FrameworkElementExtensions: public static void FadeIn(this FrameworkElement frameworkElement, FrameworkElement parent, TimeSpan duration, Action completed = null) { if (parent == null) throw new NullArgumentException("parent"); if (BaseComponent.getCPtr(parent).Handle == IntPtr.Zero) throw new NullArgumentException("parent"); ... } |
(0008513)
stonstad 2023-05-26 22:05 |
Yes, I am trying this now. |
(0008514)
stonstad 2023-05-26 22:21 |
The exception is thrown! I'm investigating the singleton behavior with UIStateMachine. I agree that it is suspect and likely related to the Unity app domain reload behavior and static initialization. |
(0008515)
stonstad 2023-05-27 15:08 |
For some reason, when I hit a breakpoint on this code Unity enters into an endless loop or crashes. For this reason, I haven't been able to debug state within the call stack. But the good news is that these defensive checks prevents Unity from crashing now, which is great. |
(0008516)
jsantos 2023-05-27 21:31 |
Even without the checks we shouldn't crash, right @Sergio? |
(0008517)
sfernandez 2023-05-29 10:40 |
Crashing Unity should be considered a bug in our code, so we have to fix those crashes. I will try to reproduce this issue in a more controlled scenario and see what is the best way to solve it. |
(0008518)
sfernandez 2023-05-29 13:33 |
I created ticket 0002611 to investigate this issue (which is different from the one solved in this ticket). Closing this one. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2610 | [NoesisGUI] C++ SDK | minor | always | 2023-05-26 15:47 | 2023-05-26 17:55 |
Reporter: | anton.sodergren_pdx | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1.4 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2 | ||||
Platform: | Any | ||||
Summary: | Namescope is of UserControl is used when resolving names outside of the UserControl's file | ||||
Description: |
When using a UserControl of one type inside of a UserControl of another type, and both of the root nodes are named the same (for example "Root), bindings using ElementName can be resolved incorrectly. Particularly this happens if one tries to set a property of the child element to a binding that uses ElementName, with the specified name being "Root" in this case. Instead of binding to a property of the parent control named "Root", it will bind to a property of the child control that's also named "Root". This used to be how it worked in WPF too, but has since been patched by Microsoft. See this forum post for details and a minimal example: https://www.noesisengine.com/forums/viewtopic.php?p=15661&sid=efc072b489689f942a23c84bc7c285ee#p15658 |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2608 | [NoesisGUI] Unity3D | minor | always | 2023-05-24 06:03 | 2023-05-25 19:40 |
Reporter: | stonstad | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.2 | ||
Target Version: | 3.2.2 | ||||
Platform: | Any | ||||
Summary: | Setting Stretch to Fill on Path w/ BackgroundEffectBehavior Causes Crash | ||||
Description: | Create a path and set stretch mode to Fill. Assign a BackgroundEffectBehavior to this Path. If the stretch mode is Fill Noesis immediately crashes. If Fill is None, Noesis does not crash. XAML shown below with crash logs and core included. | ||||
Tags: | |||||
Steps To Reproduce: |
<Grid Grid.Row="1"> <Grid.LayoutTransform> <ScaleTransform ScaleX="2" ScaleY="2"/> </Grid.LayoutTransform> <Path x:Name="_BottomPanelBlur" Stretch="Fill"> <!-- CRASH --> <b:Interaction.Behaviors> <noesis:BackgroundEffectBehavior Source="{Binding ElementName=source}"> <BlurEffect Radius="{StaticResource BottomBlurRadius}"/> </noesis:BackgroundEffectBehavior> </b:Interaction.Behaviors> ... </Path> |
||||
Additional Information: | |||||
Attached Files: |
Crash_2023-05-24_035734551.zip (1,867,598 bytes) 2023-05-24 06:03 https://www.noesisengine.com/bugs/file_download.php?file_id=1861&type=bug |
||||
Notes | |
(0008508)
stonstad 2023-05-24 06:03 |
|
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2607 | [NoesisGUI] Unreal | minor | always | 2023-05-22 21:36 | 2023-05-23 12:24 |
Reporter: | Brynn | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.2 | ||
Target Version: | 3.2.2 | ||||
Platform: | Any | ||||
Summary: | Noesis::Ptr types not supported as a Key value for TMap in Unreal 5.2 | ||||
Description: |
Declaring a TMap in Unreal using a Noesis::Ptr as the key: TMap<Ptr<UIElement>, FNoesisUIChild> Children; No longer works in Unreal 5.2. This is because Unreal have removed the following code from TypeHash.h in 5.2: inline uint32 GetTypeHash( const void* A ) { return PointerHash(A); } inline uint32 GetTypeHash( void* A ) { return PointerHash(A); } So now when you compile you get the error: C:\Program Files\Epic Games\UE_5.2\Engine\Source\Runtime\Core\Public\Containers\Map.h(117): error C2665: 'GetTypeHash': none of the 5 overloads could convert all the argument types A temporary workaround for this is to include the old code from 5.1 as a free function. |
||||
Tags: | |||||
Steps To Reproduce: |
In Unreal 5.2, declare a TMap property like below and try to compile the solution: TMap<Ptr<UIElement>, FNoesisUIChild> Children; |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008502)
hcpizzi 2023-05-23 12:24 |
We've added the following function in NoesisSupport.h: template<typename T> inline uint32 GetTypeHash(const Noesis::Ptr<T>& Pointer) { return PointerHash(Pointer.GetPtr()); } |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2593 | [NoesisGUI] Unreal | crash | always | 2023-05-11 10:59 | 2023-05-22 12:26 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.2 | ||
Target Version: | 3.2.2 | ||||
Platform: | Any | ||||
Summary: | Crash when previewing View instance in the Editor | ||||
Description: |
Callstack:> UnrealEditor-Engine.dll!UGameViewportClient::GetGameViewport() Line 412 C++ UnrealEditor-NoesisRuntime.dll!UNoesisInstance::NativePaint() Line 1343 C++ UnrealEditor-UMG.dll!SObjectWidget::OnPaint() Line 138 C++ ... Calling GetWorld()->GetGameViewport() returns a null pointer. |
||||
Tags: | |||||
Steps To Reproduce: |
1. Import a xaml asset 2. Create a View and assign the xaml asset 3. Open the View editor 4. Click on the 'Preview' button |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008472)
hcpizzi 2023-05-11 12:03 |
Was fixed with commit 12514 |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2602 | [NoesisGUI] C++ SDK | minor | always | 2023-05-17 15:03 | 2023-05-18 11:48 |
Reporter: | jsantos | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.2 | ||
Target Version: | 3.2.2 | ||||
Platform: | Any | ||||
Summary: | Improve error message when binding read-only property | ||||
Description: |
As described here https://www.noesisengine.com/forums/viewtopic.php?t=2929 The error displayed when binding to a read-only property is not very clear, it should be something like "A TwoWay or OneWayToSource binding cannot work on the read-only property 'AutoBootValue' of type 'NS.BindingContainer_Bool' |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2592 | [NoesisGUI] Unreal | crash | always | 2023-05-11 10:46 | 2023-05-11 12:14 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.2 | ||
Target Version: | 3.2.2 | ||||
Platform: | Any | ||||
Summary: | Crash when using WorldUI component and plugin content is not present | ||||
Description: | If NoesisGUI plugin content (WorldUI.xaml asset) is not copied to the project, any attempt to use the WorldUI component will crash the Unreal Editor. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1448 | [NoesisGUI] Unity3D | feature | N/A | 2019-04-08 09:51 | 2023-05-11 09:40 |
Reporter: | shawn | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.0 | ||
Target Version: | |||||
Platform: | Any | ||||
Summary: | custom rendering in unity | ||||
Description: |
I posted a message on forums that hope you to expose the virtual function "OnRender(DrawingContext dc)" when i tried to write a custom image which can both supports Texture Atlas and 9-Slice Scaling.quate=https://www.noesisengine.com/forums/viewtopic.php?t=1641 I was asked to create a ticket here and you will include it in one of our next releases,so i applyed this. I want to override some protected virtual funciton so that i can write some custom control in better way. |
||||
Tags: | Unity | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0005618)
jsantos 2019-04-08 16:23 |
Please, specify the list of virtual functions you need apart from OnRender. Thanks! |
(0005636)
shawn 2019-04-17 02:40 |
oh,sorry. I was busy recently, so i didn't reply you in time. All of those virtual functions are usefull i think, such as OnInitialized,OnMouseDown ect... Fortunately we can use relevant EventHandler instead! So just OnRender will be fine if you don't have much time. Thank you very much! |
(0008311)
ckfinite 2023-02-24 19:31 |
Hello, I'd like to inquire as to the status of this feature; it would be extremely useful for our project to reduce allocation overheads in a few locations for a custom control that we create very large numbers of. It appears that in the current version it may be possible to hook the event via reflection by hooking modifying the internal-flagged event OnRenderBase? |
(0008314)
sfernandez 2023-02-27 18:02 |
This feature is available since 3.1 release (Jul'21). You can override OnRender methods in your control to draw large numbers of shapes. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2512 | [NoesisGUI] Unity3D | crash | always | 2023-02-16 18:20 | 2023-05-11 09:39 |
Reporter: | stonstad | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.7 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.0 | ||
Target Version: | 3.2 | ||||
Platform: | Any | ||||
Summary: | Consistent ReloadXaml Crash | ||||
Description: |
Noesis appears to be executing events, i.e. OnButtonUnchecked during ReloadXaml(). Asset Pipeline Refresh (id=1c725f063e803cf40883ab381724b9ec): Total: 0.344 seconds - Initiated by RefreshV2(AllowForceSynchronousImport) Uploading Crash Report NullReferenceException: Object reference not set to an instance of an object at StellarConquest.Presentation.Unity.UI.AssetsScreen.Build (System.Boolean showFactionAssets, System.Boolean showPersonalAssets, System.Boolean showPlanets, System.Boolean showStations, System.Boolean showShips) [0x000b4] in C:\Source\StellarConquest\StellarConquest.Presentation.Unity\Assets\User Interface\Screens\Game\Static\Assets\AssetsScreen.cs:113 at StellarConquest.Presentation.Unity.UI.AssetsScreen.OnButtonUnchecked (System.Object sender, Noesis.RoutedEventArgs e) [0x0000e] in C:\Source\StellarConquest\StellarConquest.Presentation.Unity\Assets\User Interface\Screens\Game\Static\Assets\AssetsScreen.cs:662 at Noesis.RoutedEventArgs.InvokeHandler (System.Delegate handler, System.IntPtr sender, System.IntPtr args) [0x00011] in C:\Source\StellarConquest\StellarConquest.Utilities\Noesis\3.1.7\Runtime\API\Proxies\RoutedEventArgs.cs:50 at Noesis.EventManager.InvokeHandler (System.IntPtr routedEventPtr, System.Delegate handler, System.IntPtr sender, System.IntPtr args) [0x00026] in C:\Source\StellarConquest\StellarConquest.Utilities\Noesis\3.1.7\Runtime\API\Core\Events.cs:578 at Noesis.EventHandlerStore.RaiseRoutedEvent (System.IntPtr cPtrType, System.IntPtr cPtr, System.IntPtr routedEvent, System.IntPtr sender, System.IntPtr e) [0x00084] in C:\Source\StellarConquest\StellarConquest.Utilities\Noesis\3.1.7\Runtime\API\Core\Events.cs:267 UnityEngine.DebugLogHandler:Internal_LogException(Exception, Object) UnityEngine.DebugLogHandler:LogException(Exception, Object) UnityEngine.Logger:LogException(Exception, Object) UnityEngine.Debug:LogException(Exception) NoesisUnity:OnUnhandledException(Exception) (at C:\Source\StellarConquest\StellarConquest.Utilities\Noesis\3.1.7\Runtime\NoesisUnity.cs:374) Noesis.Error:UnhandledException(Exception) (at C:\Source\StellarConquest\StellarConquest.Utilities\Noesis\3.1.7\Runtime\API\Core\Error.cs:18) Noesis.EventHandlerStore:RaiseRoutedEvent(IntPtr, IntPtr, IntPtr, IntPtr, IntPtr) (at C:\Source\StellarConquest\StellarConquest.Utilities\Noesis\3.1.7\Runtime\API\Core\Events.cs:272) Noesis.XamlProvider:Noesis_RaiseXamlChanged(HandleRef, String) Noesis.XamlProvider:RaiseXamlChanged(Uri) (at C:\Source\StellarConquest\StellarConquest.Utilities\Noesis\3.1.7\Runtime\API\Proxies\XamlProvider.cs:52) NoesisXamlProvider:ReloadXaml(String) (at C:\Source\StellarConquest\StellarConquest.Utilities\Noesis\3.1.7\Runtime\NoesisProviders.cs:70) NoesisPostprocessor:ReloadXaml(String) (at C:\Source\StellarConquest\StellarConquest.Utilities\Noesis\3.1.7\Editor\NoesisPostprocessor.cs:75) <>c__DisplayClass1_1:<OnPostprocessAllAssets>b__0() (at C:\Source\StellarConquest\StellarConquest.Utilities\Noesis\3.1.7\Editor\NoesisPostprocessor.cs:41) |
||||
Tags: | |||||
Steps To Reproduce: | Encl. crash logs and dump. | ||||
Additional Information: | |||||
Attached Files: |
Crash_2023-02-16_171135646.zip (1,614,216 bytes) 2023-02-16 18:20 https://www.noesisengine.com/bugs/file_download.php?file_id=1764&type=bug image.png (111,347 bytes) 2023-02-28 21:59 https://www.noesisengine.com/bugs/file_download.php?file_id=1772&type=bug UIStateMachine.xaml (3,243 bytes) 2023-03-01 15:06 https://www.noesisengine.com/bugs/file_download.php?file_id=1773&type=bug UIStateMachine.cs (16,782 bytes) 2023-03-01 15:06 https://www.noesisengine.com/bugs/file_download.php?file_id=1774&type=bug Crash_2023-03-14_161734595.zip (2,164,254 bytes) 2023-03-14 17:18 https://www.noesisengine.com/bugs/file_download.php?file_id=1780&type=bug |
||||
Notes | |
(0008290)
stonstad 2023-02-16 18:21 |
I can confirm Preview Enabled is not checked. |
(0008315)
stonstad 2023-02-28 21:59 |
All of these crashes (screenshot) are caused by Noesis. I can't edit a single line of XAML without a crash during XamlPostProcessor import. When crashes occur my Unity scene (.unity) state is corrupt after editor reload and I have additional steps I must go through to restore my work. What is the status of this critical bug? |
(0008318)
sfernandez 2023-03-01 10:54 |
I was investigating this issue and all the crash dumps you attached (including the ones in 0002513) point to the same 'Assets/User Interface/UIStateMachine.xaml'. Could you please attach that xaml? The crash is related to the NameScope that is set in the root of the xaml, are you manually registering elements (using NameScope.RegisterName() or FrameworkElement.RegisterName())? |
(0008319)
stonstad 2023-03-01 15:06 |
Hey Sergio. Yes, I am registering elements. UIStateMachine is the top level XAML element attached to NoesisView. <noesis:Xaml.Dependencies> <noesis:Dependency Source="/Assets/User Interface/Controls/Input Control/InputControl.xaml"/> <noesis:Dependency Source="/Assets/User Interface/Controls/Transition Control/TransitionControl.xaml"/> <noesis:Dependency Source="/Assets/User Interface/Controls/Radial Range Control/RadialRangeControl.xaml"/> <noesis:Dependency Source="/Assets/User Interface/Screens/Login/LoginScreen.xaml"/> <noesis:Dependency Source="/Assets/User Interface/Screens/Character Selection/CharacterSelectionScreen.xaml"/> <noesis:Dependency Source="/Assets/User Interface/Screens/Character Creation/CharacterCreationScreen.xaml"/> <noesis:Dependency Source="/Assets/User Interface/Screens/Game/GameScreen.xaml"/> <noesis:Dependency Source="/Assets/User Interface/Screens/Overlay Layer/OverlayLayer.xaml"/> </noesis:Xaml.Dependencies> |
(0008337)
sfernandez 2023-03-09 19:38 |
I have prepared a debug library with some extra logging to help me find the root of the problem: https://drive.google.com/file/d/1RBBqswKsQQap7Vd_72CfmIamdLtSED_w/view?usp=share_link Could you please try with that and send me another crash dump + logs? |
(0008345)
stonstad 2023-03-14 16:04 |
Yes. I'm downloading and installing now. Thank you. |
(0008346)
stonstad 2023-03-14 17:18 |
|
(0008352)
stonstad 2023-03-24 19:41 |
Was this crash dump helpful? |
(0008363)
sfernandez 2023-03-27 19:36 |
I'm very sorry for the late reply, we've been busy with GDC the past two weeks and couldn't take a look at this earlier. The latest crash was not related to the original problem, just an assert in other part of the code. So I think the best way to solve this is if I can get access to your project (or a reduced version of your project) to reproduce the issue myself, would that be possible? This way I can make local changes and debug to iterate faster. |
(0008420)
stonstad 2023-04-12 23:19 |
I'm not sure that I am ready to prepare a reproduction project at this time given the effort required to do this for my game. I can confirm that I am using the debug library you shared in https://www.noesisengine.com/bugs/view.php?id=2512#c8337. Is that the cause of the assert? |
(0008422)
sfernandez 2023-04-13 10:26 |
Maybe you can just provide temporal access to your repository and indicate a branch I can test? Yes, the latest crash dump is just an assert breakpoint, not related to the reload xaml crash. Having access to your project will help me identify the source of that assert that is for sure a different issue. |
(0008430)
stonstad 2023-04-13 17:41 |
Likely related. See video + crash dump here: https://www.noesisengine.com/bugs/view.php?id=2530 |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2530 | [NoesisGUI] C# SDK | crash | random | 2023-03-08 17:03 | 2023-05-11 09:39 |
Reporter: | stonstad | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.7 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.0 | ||
Target Version: | 3.2 | ||||
Platform: | Any | ||||
Summary: | Random Crashes | ||||
Description: |
================================================================= Managed Stacktrace: ================================================================= at <unknown> <0xffffffff> at Noesis.NoesisGUI_PINVOKE:BaseComponent_Release <0x000db> at Noesis.BaseComponent:Release <0x00082> at Noesis.Extend:ReleasePending <0x00212> at Noesis.Extend:Shutdown <0x00c82> at Noesis.Extend:OnDomainUnload <0x00082> at <Module>:invoke_void_object_EventArgs <0x002d4> at System.AppDomain:DoDomainUnload <0x00099> at System.Object:runtime_invoke_void__this__ <0x00187> ================================================================= |
||||
Tags: | |||||
Steps To Reproduce: | Crash happened after Begin MonoManager ReloadAssembly. New behavior with 3.1.7. This is client MBI. | ||||
Additional Information: | |||||
Attached Files: |
Crash_2023-03-08_160052780.zip (386,711 bytes) 2023-03-08 17:03 https://www.noesisengine.com/bugs/file_download.php?file_id=1778&type=bug Crash_2023-03-24_201530301.zip (392,031 bytes) 2023-03-24 21:17 https://www.noesisengine.com/bugs/file_download.php?file_id=1786&type=bug Crash_2023-03-24_231908538.zip (765,147 bytes) 2023-03-25 00:23 https://www.noesisengine.com/bugs/file_download.php?file_id=1787&type=bug Crash_2023-04-13_153702329.zip (795,710 bytes) 2023-04-13 17:40 https://www.noesisengine.com/bugs/file_download.php?file_id=1810&type=bug |
||||
Notes | |
(0008353)
stonstad 2023-03-24 19:41 |
Any updates for this crash behavior? |
(0008354)
stonstad 2023-03-24 21:17 |
More Crashes -- ================================================================= Native Crash Reporting ================================================================= Got a UNKNOWN while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= ================================================================= Managed Stacktrace: ================================================================= at <unknown> <0xffffffff> at Noesis.Extend:Noesis_LaunchPropertyChangedEvent <0x0010c> at Noesis.Extend:NotifyPropertyChanged <0x002c2> at QuestLogViewModel:OnPropertyChanged <0x00113> at QuestLogViewModel:set_SelectedQuest <0x00132> at <Module>:runtime_invoke_void__this___object <0x001a3> at <unknown> <0xffffffff> at System.Reflection.RuntimeMethodInfo:InternalInvoke <0x00151> at System.Reflection.RuntimeMethodInfo:Invoke <0x00522> at System.Reflection.RuntimePropertyInfo:SetValue <0x00393> at System.Reflection.PropertyInfo:SetValue <0x000a2> at <>c__DisplayClass2_0:<.ctor>b__1 <0x00083> at PropertyAccessorPropRW`1:Set <0x00091> at Noesis.Extend:SetPropertyValue <0x00123> at Noesis.Extend:SetPropertyValue_BaseComponent <0x0015a> at Noesis.Extend:SetPropertyValue_BaseComponent <0x0012a> at <unknown> <0xffffffff> at Noesis.NoesisGUI_PINVOKE:Selector_SetIsSelected <0x00111> at Noesis.Selector:SetIsSelected <0x001ba> at NoesisGUIExtensions.SelectAction:Invoke <0x00142> at NoesisApp.TriggerAction:CallInvoke <0x000f5> at NoesisApp.TriggerBase:InvokeActions <0x003d2> at NoesisApp.EventTriggerBase:OnEvent <0x0008a> at NoesisApp.EventTriggerBase:OnEventImpl <0x0008b> at Noesis.MouseEventArgs:InvokeHandler <0x001b3> at Noesis.EventManager:InvokeHandler <0x0020b> at Noesis.EventHandlerStore:RaiseRoutedEvent <0x0050a> at Noesis.EventHandlerStore:RaiseRoutedEvent <0x0012a> at <unknown> <0xffffffff> at Noesis.View:Noesis_View_MouseMove <0x0010c> at Noesis.View:MouseMove <0x000ea> at NoesisView:UpdateMouse <0x004c2> at NoesisView:UpdateInputs <0x000da> at NoesisView:UpdateInternal <0x00442> at NoesisView:LateUpdate <0x000da> at System.Object:runtime_invoke_void__this__ <0x00187> ================================================================= Received signal SIGSEGV Obtained 86 stack frames 0x00007ff897718f60 (Noesis) DependencyProperty_GetUnsetValue 0x00007ff897719448 (Noesis) DependencyProperty_GetUnsetValue 0x00007ff897718841 (Noesis) DependencyProperty_GetUnsetValue 0x00007ff8976fb24d (Noesis) Noesis_GetPlatformID 0x00007ff8976fafa6 (Noesis) Noesis_GetPlatformID 0x00007ff8976fb940 (Noesis) Noesis_GetPlatformID 0x00007ff8977197e7 (Noesis) DependencyProperty_GetUnsetValue 0x00007ff89771a30a (Noesis) DependencyProperty_GetUnsetValue 0x00007ff89786e2d3 (Noesis) VisualStateChangedEventArgs_Control_get 0x00007ff8978f8a04 (Noesis) Noesis_LaunchPropertyChangedEvent 0x0000024bfa79158d (Mono JIT Code) (wrapper managed-to-native) Noesis.Extend:Noesis_LaunchPropertyChangedEvent (intptr,intptr,string) 0x0000024bfa791303 (Mono JIT Code) Noesis.Extend:NotifyPropertyChanged (object,System.ComponentModel.PropertyChangedEventArgs) (at ./Noesis 3.2.0/Runtime/API/Core/Extend.cs:6265) 0x0000024b3aead624 (Mono JIT Code) QuestLogViewModel:OnPropertyChanged (string) (at D:/Source/Noesis/UI Project/Assets/Samples/QuestLog/QuestLogViewModel.cs:69) 0x0000024b3aead8c3 (Mono JIT Code) QuestLogViewModel:set_SelectedQuest (QuestLog.Quest) (at D:/Source/Noesis/UI Project/Assets/Samples/QuestLog/QuestLogViewModel.cs:46) 0x0000024bfa790ee4 (Mono JIT Code) (wrapper runtime-invoke) <Module>:runtime_invoke_void__this___object (object,intptr,intptr,intptr) 0x00007ff894720394 (mono-2.0-bdwgc) mono_jit_runtime_invoke (at C:/build/output/Unity-Technologies/mono/mono/mini/mini-runtime.c:3445) 0x00007ff89465eb44 (mono-2.0-bdwgc) do_runtime_invoke (at C:/build/output/Unity-Technologies/mono/mono/metadata/object.c:3066) 0x00007ff894665bdf (mono-2.0-bdwgc) mono_runtime_try_invoke_array (at C:/build/output/Unity-Technologies/mono/mono/metadata/object.c:5777) 0x00007ff89459cea0 (mono-2.0-bdwgc) ves_icall_InternalInvoke (at C:/build/output/Unity-Technologies/mono/mono/metadata/icall.c:4041) 0x00007ff8945c1691 (mono-2.0-bdwgc) ves_icall_InternalInvoke_raw (at C:/build/output/Unity-Technologies/mono/mono/metadata/icall-def.h:692) 0x0000024b11a384c2 (Mono JIT Code) (wrapper managed-to-native) System.Reflection.RuntimeMethodInfo:InternalInvoke (System.Reflection.RuntimeMethodInfo,object,object[],System.Exception&) 0x0000024b11a35073 (Mono JIT Code) System.Reflection.RuntimeMethodInfo:Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) 0x0000024bc02c05e4 (Mono JIT Code) System.Reflection.RuntimePropertyInfo:SetValue (object,object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) 0x0000024bc02c01f3 (Mono JIT Code) System.Reflection.PropertyInfo:SetValue (object,object,object[]) 0x0000024bfa790d04 (Mono JIT Code) Noesis.Extend/PropertyAccessorPropRW`1/<>c__DisplayClass2_0<PropertyT_REF>:<.ctor>b__1 (object,PropertyT_REF) (at ./Noesis 3.2.0/Runtime/API/Core/ExtendProps.cs:106) 0x0000024bfa790c22 (Mono JIT Code) Noesis.Extend/PropertyAccessorPropRW`1<PropertyT_REF>:Set (object,PropertyT_REF) (at ./Noesis 3.2.0/Runtime/API/Core/ExtendProps.cs:116) 0x0000024bfa790af4 (Mono JIT Code) Noesis.Extend:SetPropertyValue<T_REF> (Noesis.Extend/PropertyAccessor,object,T_REF) (at ./Noesis 3.2.0/Runtime/API/Core/Extend.cs:5184) 0x0000024bfa79086b (Mono JIT Code) Noesis.Extend:SetPropertyValue_BaseComponent (intptr,int,intptr,intptr,intptr) (at ./Noesis 3.2.0/Runtime/API/Core/Extend.cs:5641) 0x0000024bc00330cb (Mono JIT Code) (wrapper native-to-managed) Noesis.Extend:SetPropertyValue_BaseComponent (intptr,int,intptr,intptr,intptr) 0x00007ff8979554e7 (Noesis) Noesis_RegisterLogCallback 0x00007ff89771be5a (Noesis) BindingExpression_UpdateSource 0x00007ff8977181f3 (Noesis) DependencyProperty_GetUnsetValue 0x00007ff8976fb686 (Noesis) Noesis_GetPlatformID 0x00007ff897779379 (Noesis) Boxed_Color_GetStaticType 0x00007ff8978a0099 (Noesis) CanExecuteRoutedEventArgs_GetCommandHelper 0x00007ff8977d30d9 (Noesis) ItemsChangedEventArgs_ItemCount_get 0x00007ff8977d39ff (Noesis) ItemsChangedEventArgs_ItemCount_get 0x00007ff8977d393d (Noesis) ItemsChangedEventArgs_ItemCount_get 0x00007ff8976fbe26 (Noesis) KeyEventArgs_IsToggled_get 0x00007ff8976fb89f (Noesis) Noesis_GetPlatformID 0x00007ff89770825e (Noesis) BaseComponent_GetStaticType 0x00007ff897707f8b (Noesis) BaseComponent_GetStaticType 0x0000024bfa76ff12 (Mono JIT Code) (wrapper managed-to-native) Noesis.NoesisGUI_PINVOKE:Selector_SetIsSelected (System.Runtime.InteropServices.HandleRef,bool) 0x0000024bfa78fdcb (Mono JIT Code) Noesis.Selector:SetIsSelected (Noesis.DependencyObject,bool) (at ./Noesis 3.2.0/Runtime/API/Proxies/Selector.cs:56) 0x0000024bfa78fb33 (Mono JIT Code) NoesisGUIExtensions.SelectAction:Invoke (object) (at ./Noesis 3.2.0/Runtime/API/Interactivity/SelectAction.cs:25) 0x0000024bc02a9796 (Mono JIT Code) NoesisApp.TriggerAction:CallInvoke (object) (at ./Noesis 3.2.0/Runtime/API/Interactivity/TriggerAction.Interactivity.cs:44) 0x0000024bc02a94a3 (Mono JIT Code) NoesisApp.TriggerBase:InvokeActions (object) (at ./Noesis 3.2.0/Runtime/API/Interactivity/TriggerBase.Interactivity.cs:82) 0x0000024bc02a904b (Mono JIT Code) NoesisApp.EventTriggerBase:OnEvent (object) (at ./Noesis 3.2.0/Runtime/API/Interactivity/EventTriggerBase.cs:94) 0x0000024bc02a8f6c (Mono JIT Code) NoesisApp.EventTriggerBase:OnEventImpl (object,Noesis.EventArgs) (at ./Noesis 3.2.0/Runtime/API/Interactivity/EventTriggerBase.cs:205) 0x0000024bfa78f574 (Mono JIT Code) Noesis.MouseEventArgs:InvokeHandler (System.Delegate,intptr,intptr) (at ./Noesis 3.2.0/Runtime/API/Proxies/MouseEventArgs.cs:50) 0x0000024bc02a80ac (Mono JIT Code) Noesis.EventManager:InvokeHandler (intptr,System.Delegate,intptr,intptr) (at ./Noesis 3.2.0/Runtime/API/Core/Events.cs:578) 0x0000024bc02a7ccb (Mono JIT Code) Noesis.EventHandlerStore:RaiseRoutedEvent (intptr,intptr,intptr,intptr,intptr) (at ./Noesis 3.2.0/Runtime/API/Core/Events.cs:267) 0x0000024bc024963b (Mono JIT Code) (wrapper native-to-managed) Noesis.EventHandlerStore:RaiseRoutedEvent (intptr,intptr,intptr,intptr,intptr) 0x00007ff8978e7c1f (Noesis) TraversalRequest_FocusNavigationDirection_get 0x00007ff897866da8 (Noesis) VisualStateChangedEventArgs_Control_get 0x00007ff8977dcddd (Noesis) ItemsChangedEventArgs_ItemCount_get 0x00007ff8977dba22 (Noesis) ItemsChangedEventArgs_ItemCount_get 0x00007ff89786e684 (Noesis) VisualStateChangedEventArgs_Control_get 0x0000024bc3c3a38d (Mono JIT Code) (wrapper managed-to-native) Noesis.View:Noesis_View_MouseMove (System.Runtime.InteropServices.HandleRef,int,int) 0x0000024bc3c3a1eb (Mono JIT Code) Noesis.View:MouseMove (int,int) (at ./Noesis 3.2.0/Runtime/API/Core/View.cs:182) 0x0000024bc3c387d3 (Mono JIT Code) NoesisView:UpdateMouse () (at ./Noesis 3.2.0/Runtime/NoesisView.cs:1092) 0x0000024bc3c380cb (Mono JIT Code) NoesisView:UpdateInputs (single) (at ./Noesis 3.2.0/Runtime/NoesisView.cs:1300) 0x0000024bc3c291c3 (Mono JIT Code) NoesisView:UpdateInternal () (at ./Noesis 3.2.0/Runtime/NoesisView.cs:1449) 0x0000024bc3c28cdb (Mono JIT Code) NoesisView:LateUpdate () (at ./Noesis 3.2.0/Runtime/NoesisView.cs:1356) 0x0000024bf7416cc8 (Mono JIT Code) (wrapper runtime-invoke) object:runtime_invoke_void__this__ (object,intptr,intptr,intptr) 0x00007ff894720394 (mono-2.0-bdwgc) mono_jit_runtime_invoke (at C:/build/output/Unity-Technologies/mono/mono/mini/mini-runtime.c:3445) 0x00007ff89465eb44 (mono-2.0-bdwgc) do_runtime_invoke (at C:/build/output/Unity-Technologies/mono/mono/metadata/object.c:3066) 0x00007ff89465ecdc (mono-2.0-bdwgc) mono_runtime_invoke (at C:/build/output/Unity-Technologies/mono/mono/metadata/object.c:3113) 0x00007ff683a4c4f4 (Unity) scripting_method_invoke 0x00007ff683a2ce34 (Unity) ScriptingInvocation::Invoke 0x00007ff683a147a4 (Unity) MonoBehaviour::CallMethodIfAvailable 0x00007ff683a148ca (Unity) MonoBehaviour::CallUpdateMethod 0x00007ff6834b5bdb (Unity) BaseBehaviourManager::CommonUpdate<LateBehaviourManager> 0x00007ff6834bd25a (Unity) LateBehaviourManager::Update 0x00007ff6836e377d (Unity) `InitPlayerLoopCallbacks'::`2'::PreLateUpdateScriptRunBehaviourLateUpdateRegistrator::Forward 0x00007ff6836ca47a (Unity) ExecutePlayerLoop 0x00007ff6836ca603 (Unity) ExecutePlayerLoop 0x00007ff6836d0965 (Unity) PlayerLoop 0x00007ff68466285f (Unity) PlayerLoopController::InternalUpdateScene 0x00007ff68466f59d (Unity) PlayerLoopController::UpdateSceneIfNeededFromMainLoop 0x00007ff68466d8a1 (Unity) Application::TickTimer 0x00007ff684af939a (Unity) MainMessageLoop 0x00007ff684afe140 (Unity) WinMain 0x00007ff685ee0ffe (Unity) __scrt_common_main_seh 0x00007ff9eae926bd (KERNEL32) BaseThreadInitThunk 0x00007ff9ec58a9f8 (ntdll) RtlUserThreadStart |
(0008355)
stonstad 2023-03-24 21:17 |
I'm trying to work with artists to show them how to author in XAML with Noesis. It is embarrassing to have it repeatedly crash in Unity every time they make a change. This is within a vanilla Unity 3D project with the 3.1.7 plugin. |
(0008356)
stonstad 2023-03-24 21:20 |
We made a small one line change in the quest sample and the crash above happened. Unity 2022.2.12f1. |
(0008358)
stonstad 2023-03-25 00:23 |
|
(0008364)
sfernandez 2023-03-27 20:10 |
Each crash dump seems to be a different issue. The first one (from 3.1.7 version) happens during assembly reload. The second one (from 3.2.0rc1 version) happens raising a PropertyChanged in a view model. The last one (from a 3.1.8.12257 version I'm not aware of) seems similar to issue 0002512. Let's investigate each one separately, the last one in the mentioned ticket. Regarding the second one, it seems happened with our QuestLog sample, right? is there any steps to reproduce it? |
(0008421)
stonstad 2023-04-12 23:21 |
The unknown version is likely the debug library provided here: https://www.noesisengine.com/bugs/view.php?id=2512#c8337 The 3.2 version was testing I did with a separate project -- but basically everything crashes for me whenever I edit a single line. What is your Unity setting for: General -> Script Changes While Playing ? |
(0008423)
sfernandez 2023-04-13 10:41 |
>> What is your Unity setting for: General -> Script Changes While Playing ? We always work with "Recompile And Continue Playing". >> The 3.2 version was testing I did with a separate project -- but basically everything crashes for me whenever I edit a single line. Are you able to crash editing xaml/scripts in a separate project with just our plugin and samples? From the crash you sent with Noesis 3.2, it looks like you were playing with the QuestLog sample, it happened just selecting a different quest from the list. Do you remember what you did to make it crash? |
(0008427)
stonstad 2023-04-13 17:21 |
> From the crash you sent with Noesis 3.2, it looks like you were playing with the QuestLog sample, it happened just selecting a different quest from the list. Do you remember what you did to make it crash? Consistently, the issue is always editing a line of XAML. It doesn't matter what the line is -- seriously. It doesn't matter. > We always work with "Recompile And Continue Playing". OK, I always work with Recompile After Finished Playing. That setting is common to both Stellar Conquest and MBI. I have to do this because, like most projects in Unity, I do not support recompilation during playback. |
(0008428)
stonstad 2023-04-13 17:39 |
https://tonstad.blob.core.windows.net/media/noesis.mp4 |
(0008429)
stonstad 2023-04-13 17:40 |
|
(0008431)
stonstad 2023-04-13 17:42 |
See above video w/ crash dump. Clearly, this is an issue with Noesis on domain reload. Second, note that both of my projects use different app domain reload settings compared to what you are testing with. Lastly, the stack trace and location changes -- which again points to this not being a XAML change issue, but systemic with Noesis app domain reloads. |
(0008433)
stonstad 2023-04-13 19:59 |
I upgraded from Noesis 3.1.8 to 3.2. Issue no longer manifests! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2513 | [NoesisGUI] C# SDK | crash | always | 2023-02-16 18:28 | 2023-05-11 09:38 |
Reporter: | stonstad | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.7 | ||
Product Build: | Resolution: | duplicate | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.0 | ||
Target Version: | 3.2 | ||||
Platform: | Any | ||||
Summary: | XamlReload Noesis_RaiseTextureChanged Event Crashes | ||||
Description: |
More crashes. Asset Pipeline Refresh (id=6f5c79f7adcc76c4599fef2db3ef5792): Total: 0.208 seconds - Initiated by RefreshV2(AllowForceSynchronousImport) Received signal SIGSEGV Obtained 28 stack frames 0x00007ffe9db0b3de (Noesis) MultiBindingExpression_UpdateSource 0x00007ffe9dbac9a7 (Noesis) VirtualizationCacheLength_GetStaticType 0x00007ffe9dbbf33c (Noesis) FreeString 0x00007ffe9dbbf29f (Noesis) FreeString 0x00007ffe9db81867 (Noesis) Noesis_RenderDevice_SetRenderTarget 0x00007ffe9db824e7 (Noesis) Noesis_RenderDevice_SetRenderTarget 0x00007ffe9dc1e014 (Noesis) Noesis_RaiseTextureChanged 0x000002bc9822ceac (Mono JIT Code) (wrapper managed-to-native) Noesis.XamlProvider:Noesis_RaiseXamlChanged (System.Runtime.InteropServices.HandleRef,string) 0x000002bc9822ccfb (Mono JIT Code) Noesis.XamlProvider:RaiseXamlChanged (System.Uri) (at C:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.1.7/Runtime/API/Proxies/XamlProvider.cs:52) 0x000002bc9822cae3 (Mono JIT Code) NoesisXamlProvider:ReloadXaml (string) (at C:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.1.7/Runtime/NoesisProviders.cs:70) 0x000002bc9822c763 (Mono JIT Code) NoesisPostprocessor:ReloadXaml (string) (at C:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.1.7/Editor/NoesisPostprocessor.cs:75) 0x000002bc9822bacb (Mono JIT Code) NoesisPostprocessor/<>c__DisplayClass1_1:<OnPostprocessAllAssets>b__0 () (at C:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.1.7/Editor/NoesisPostprocessor.cs:41) |
||||
Tags: | |||||
Steps To Reproduce: | Encl. editor log and crash dump. | ||||
Additional Information: | |||||
Attached Files: |
Crash_2023-02-16_172514488.zip (790,503 bytes) 2023-02-16 18:28 https://www.noesisengine.com/bugs/file_download.php?file_id=1765&type=bug Crash_2023-02-16_173443434.zip (837,017 bytes) 2023-02-16 18:36 https://www.noesisengine.com/bugs/file_download.php?file_id=1766&type=bug |
||||
Notes | |
(0008291)
stonstad 2023-02-16 18:36 |
|
(0008316)
stonstad 2023-02-28 21:59 (Last edited: 2023-02-28 22:00) |
Related to https://www.noesisengine.com/bugs/view.php?id=2512 |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2509 | [NoesisGUI] Unity3D | minor | always | 2023-02-09 16:41 | 2023-05-11 09:38 |
Reporter: | stonstad | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.6 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.0 | ||
Target Version: | 3.2 | ||||
Platform: | Any | ||||
Summary: | [NOESIS/I] 'Image.png' loaded | ||||
Description: |
3.1.7. I'm seeing log statements for loaded images. Is this a default setting I need to change in 3.1.7? My log level is Warning for General and Binding. [NOESIS/I] 'Assets/User Interface/Images/buttons/standardbutton_up_1.png' loaded [NOESIS/I] 'Assets/User Interface/Images/login/website_x2.png' loaded [NOESIS/I] 'Assets/User Interface/Images/login/twitter_x2.png' loaded |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008269)
jsantos 2023-02-09 17:07 |
Unfortunately, in 3.1.6 we added support for logging messages from the render thread, but the general filter is not being applied. Thanks for reporting! |
(0008292)
stonstad 2023-02-16 18:38 |
Is there an update planned to remove this console spam? |
(0008293)
jsantos 2023-02-17 10:41 |
This is fixed in 3.2 branch. We have plans to release B3 in the upcoming days. If you need a preview for 3.1.8 including this, please, let me know. |
(0008296)
stonstad 2023-02-19 00:17 |
Yes, A version of 3.1.8 with this fix would be greatly appreciated. Thank you. |
(0008309)
stonstad 2023-02-24 15:11 |
Jsantos, I am just circling back on my request for a 3.1.8 version that has logging fixed. I attempted to modify the logging via the package but it didn't work for me. I am getting hundreds of these messages during every debugging session. I would greatly appreciate a fix. |
(0008312)
jsantos 2023-02-27 12:25 |
Here you go https://drive.google.com/file/d/1fZz41Pq7zQfqMX5xZg4B-05fqbOA4_zP/view?usp=share_link |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2561 | [NoesisGUI] VSCode | feature | always | 2023-04-11 14:19 | 2023-05-10 11:54 |
Reporter: | jsantos | Platform: | |||
Assigned To: | maherne | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.1 | ||
Target Version: | 3.2.1 | ||||
Platform: | Any | ||||
Summary: | Support for snippets | ||||
Description: |
The standard support for snippets in VsCode is not good enough because it polutes the suggestions of properties. We need to find a way to suggest snippets only when we are outside a node. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
xaml.json (7,457 bytes) 2023-04-11 14:19 https://www.noesisengine.com/bugs/file_download.php?file_id=1807&type=bug |
||||
Notes | |
(0008413)
jsantos 2023-04-11 14:19 (Last edited: 2023-04-11 14:20) |
Attaching the snippets (still work in progress) I have been playing with these days. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2567 | [NoesisGUI] Unity3D | major | always | 2023-04-13 12:41 | 2023-05-09 12:43 |
Reporter: | jsantos | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.1 | ||
Target Version: | 3.2.1 | ||||
Platform: | Any | ||||
Summary: | WorldSpace UI inverted when using the fixed pipeline | ||||
Description: | When using the fixed pipeline (this is not happening with URP) and the camera doesn't containt postprocessing effects, WorldSpaceUI is inverted. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008424)
jsantos 2023-04-13 12:45 |
Patch for fixing this issue:Index: NoesisView.cs =================================================================== --- NoesisView.cs (revision 12431) +++ NoesisView.cs (working copy) @@ -1579,7 +1579,11 @@ // Note that camera.activeTexture should only be checked from OnPostRender if (!IsGL()) { + #if ENABLE_VR && ENABLE_XR_MODULE + return _camera.activeTexture != null && !_camera.activeTexture.name.StartsWith("XR "); + #else return _camera.activeTexture != null; + #endif } return false; |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2588 | [NoesisGUI] Unity3D | minor | always | 2023-05-04 18:15 | 2023-05-05 13:33 |
Reporter: | Josh Campbell | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | feedback | Product Version: | 3.2.1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2 | ||||
Platform: | Any | ||||
Summary: | No way disable key events in the view | ||||
Description: | We would like to be able to disable the space bar automatically clicking the last selected element. If you could expose an option to disable these default events that would resolve the issue. | ||||
Tags: | |||||
Steps To Reproduce: |
Select a button click it. Press Space Bar - it will click the same button. |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008470)
sfernandez 2023-05-05 13:33 |
One question to better understand the problem, do you want to disable the effects of pressing space bar for any type of focused control (clicking for Buttons, toggle for CheckBoxes, selection for ComboBoxes....), not just button clicks, right? |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2587 | [NoesisGUI] Unreal | minor | always | 2023-05-03 17:14 | 2023-05-04 11:33 |
Reporter: | jsantos | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2.0 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Expose a way to disable Inspector | ||||
Description: | We have a lot of network traffic from Noesis when running game engines and we'd like to know how to disable it, or keep it only for local machine. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008469)
jsantos 2023-05-04 11:33 |
It seems RemoteServicesServer::Tick() is broadcasting and that is a leftover of a previous implementation. We need to investigate and see if that can be changed to avoid sending so many packages when the Inspector is launched. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2575 | [NoesisGUI] Unreal | feature | always | 2023-04-20 13:26 | 2023-05-03 18:05 |
Reporter: | vmaurer | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.1 | ||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Support for UE Delegates / Expose Delegates to DataEventTriggers | ||||
Description: |
Currently it's not possible to hook up Unreal Engine Delegates (such as TBaseDynamicMulticastDelegate<>) with DataEventTriggers because they are not supported by the Noesis Type Class wrapper. When a DataEventTrigger is registered, it checks for a matching definition in the TypeClass::mEvents array, but it won't find any. |
||||
Tags: | C++, Unreal | ||||
Steps To Reproduce: | Please see the forum topic for a full description / steps to reproduce: https://www.noesisengine.com/forums/viewtopic.php?t=2918 | ||||
Additional Information: | |||||
Attached Files: |
Events.patch (6,615 bytes) 2023-05-03 18:02 https://www.noesisengine.com/bugs/file_download.php?file_id=1832&type=bug |
||||
Notes | |
(0008467)
hcpizzi 2023-05-03 18:02 |
You can find a patch attached that enables this feature. You can use it with natively declared dynamic multicast delegates (declared using the DECLARE_DYNAMIC_MULTICAST_DELEGATE family of macros), or with Blueprint declared Event Dispatchers. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2581 | [NoesisGUI] C# SDK | crash | always | 2023-04-24 12:03 | 2023-05-02 13:33 |
Reporter: | maherne | Platform: | |||
Assigned To: | maherne | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2.1 | ||||
Platform: | Any | ||||
Summary: | RenderContextMTL fails to initialize | ||||
Description: | A NullReferenceException occurs when trying to add a sub-layer to NSView in RenderContextMTL.Init. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2558 | [NoesisGUI] VSCode | minor | always | 2023-04-04 13:11 | 2023-05-02 13:32 |
Reporter: | maherne | Platform: | |||
Assigned To: | maherne | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.0 | ||
Product Build: | Resolution: | not fixable | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2.1 | ||||
Platform: | Any | ||||
Summary: | The color picker decorator does not show when the value is empty | ||||
Description: |
For example, in this snippet, the first GradientStop will not have a color picker, and the second will:<Ellipse Width="300" Height="300" Margin="5" Stroke="Coral" > <Ellipse.Fill> <RadialGradientBrush> <GradientStop Color="" Offset="0"/> <GradientStop Color="Blue" Offset="1"/> </RadialGradientBrush> </Ellipse.Fill> </Ellipse> |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008464)
maherne 2023-05-02 13:32 |
VSCode does not support showing the color picker for empty values. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2584 | [NoesisGUI] C# SDK | minor | have not tried | 2023-04-27 16:58 | 2023-04-28 14:38 |
Reporter: | maherne | Platform: | |||
Assigned To: | maherne | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.1 | ||
Target Version: | |||||
Platform: | Any | ||||
Summary: | C# Project Template Extension for Visual Studio 2022 | ||||
Description: | Create a C# template extension for Visual Studio 2022 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2583 | [NoesisGUI] Unity3D | major | always | 2023-04-27 14:54 | 2023-04-27 17:26 |
Reporter: | kristoffer | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.7 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.1 | ||
Target Version: | 3.2.1 | ||||
Platform: | Any | ||||
Summary: | IView.SetManipulationDistanceThreshold(...) not exposed in Unity | ||||
Description: |
In order to set the tap to drag threshold this method should be called but is not available in Unity. Background info: https://www.noesisengine.com/forums/viewtopic.php?t=2925 |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2330 | [NoesisGUI] C++ SDK | feature | always | 2022-04-14 11:12 | 2023-04-26 14:11 |
Reporter: | jsantos | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2 | ||||
Platform: | Any | ||||
Summary: | Support VisualBrush as an OpacityMask | ||||
Description: |
Use cases: - Animating a vector mask (bezier path, path, shape etc.) to png sequences, images or other vectors. When you apply a mask at the moment, it disappears from view which means we then can't animate it. - Masking and displacing localised text with vector shapes - Feathered masking and animating such masks. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
NineSliceMask.hlsli (920 bytes) 2023-04-26 14:11 https://www.noesisengine.com/bugs/file_download.php?file_id=1827&type=bug NineSliceMask_Opacity.hlsl (56 bytes) 2023-04-26 14:11 https://www.noesisengine.com/bugs/file_download.php?file_id=1828&type=bug NineSliceMaskBrushShader.cpp (4,044 bytes) 2023-04-26 14:11 https://www.noesisengine.com/bugs/file_download.php?file_id=1829&type=bug NineSliceMaskBrushShader.h (2,155 bytes) 2023-04-26 14:11 https://www.noesisengine.com/bugs/file_download.php?file_id=1830&type=bug |
||||
Notes | |
(0007912)
jsantos 2022-04-25 17:37 (Last edited: 2022-04-25 17:39) |
This is also useful for 9-slice opacity masks. Right now, we are using a custom shader for this:<Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:noesis="clr-namespace:NoesisGUIExtensions;assembly=Noesis.GUI.Extensions"> <Image x:Name="img" Source="Images/map.png" Margin="100"> <Image.OpacityMask> <ImageBrush ImageSource="Images/border-mask.png"> <ImageBrush.Shader> <noesis:NineSliceMaskBrushShader Slices="20,30,40,54" Width="{Binding ActualWidth, ElementName=img}" Height="{Binding ActualHeight, ElementName=img}"/> </ImageBrush.Shader> </ImageBrush> </Image.OpacityMask> </Image> </Grid> Note that right now, using OpacityMask is always using an offscreen phase, but in this is case it shouldn't be necessary because is being applied to an image. |
(0008031)
sfernandez 2022-07-26 10:08 |
This issue is going to be implemented for the next major version coming in a few months. I'm updating the target version to correctly reflect that. |
(0008462)
jsantos 2023-04-26 14:11 |
Attaching the custom shader we were using for this. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2474 | [NoesisGUI] C# SDK | major | always | 2022-12-06 11:23 | 2023-04-24 17:45 |
Reporter: | sumel007 | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.6 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.1 | ||
Target Version: | 3.1.7 | ||||
Platform: | Windows | ||||
Summary: | KeyboardNavigation parameters are ignored in StackPanel and Dockpanel | ||||
Description: | When I have a stackpanel with KeyboardNavigation.DirectionalNavigation="Contained" keyboard focus still escapes outside the stackpanel contents (even though it doesn't happen in WPF). Similar things happen to TabNavigation. | ||||
Tags: | |||||
Steps To Reproduce: |
I've modified StartMenu.xaml in 3DMenu sample, but you should be able to reproduce this by creating a stackpanel with keyboard navigation and another control outside the staxckpanel. <Grid x:Name="MenuOptions" Grid.Row="1" Width="640" Margin="0,30,0,0" HorizontalAlignment="Left" RenderTransformOrigin="0.5,0.5" VerticalAlignment="Top" Height="300"> <Grid.RenderTransform> <TransformGroup> <ScaleTransform/> <SkewTransform/> <RotateTransform/> <TranslateTransform/> </TransformGroup> </Grid.RenderTransform> <StackPanel KeyboardNavigation.DirectionalNavigation="Contained" KeyboardNavigation.TabNavigation="Contained"> <Rectangle Height="2" Margin="0,0,0,2" Fill="{StaticResource HorizontalLineBg}"/> <ToggleButton x:Name="Casual" Style="{StaticResource MenuButtonStyle}" Content="CASUAL" Command="{Binding StartCasual}"/> <ToggleButton x:Name="Normal" Style="{StaticResource MenuButtonStyle}" Content="NORMAL" Command="{Binding StartNormal}"/> <ToggleButton x:Name="Expert" Style="{StaticResource MenuButtonStyle}" Content="EXPERT" Command="{Binding StartExpert}"/> </StackPanel> <ToggleButton VerticalAlignment="Bottom" Style="{StaticResource MenuButtonStyle}" Content="reee" Command="{Binding StartCasual}" Height="48"/> </Grid> |
||||
Additional Information: | |||||
Attached Files: |
MainWindow.xaml (4,771 bytes) 2023-04-12 12:04 https://www.noesisengine.com/bugs/file_download.php?file_id=1808&type=bug MainWindow.xaml.cs (1,249 bytes) 2023-04-12 12:04 https://www.noesisengine.com/bugs/file_download.php?file_id=1809&type=bug |
||||
Notes | |
(0008409)
sumel007 2023-04-06 15:05 |
Is there any more news on this issue? It seems that even with popups (at least in 3.2) when we have a popup with KeyboardNavigation.DirectionalNavigation="Contained" and KeyboardNavigation.TabNavigation="Contained" focus can escape behind the popup, making keyboard focus management very cumbersome. |
(0008410)
sfernandez 2023-04-11 11:55 |
Hi, I tried to reproduce this problem with 3.1.6, 3.1.7, and 3.2.0 without success. When I set the DirectionalNavigation and TabNavigation to Contained in the StackPanel in the Menu3D sample, and the focus is inside that StackPanel, I cannot move the focus out of the panel just by using the arrows/gamepad or the tab key. I even created the following xamltoy, and it works as expected: https://www.noesisengine.com/xamltoy/75228d301d0d9f9753efba5984a9ff1a Regarding the Popup, by default it doesn't override the directional or tab navigation, so the focus can go outside the Popup. But you can just set the navigation mode in the popup root to keep it inside: <Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <Grid x:Name="MenuOptions" Grid.Row="1" Width="640" Margin="0,30,0,0" HorizontalAlignment="Left" VerticalAlignment="Top" Height="300" Background="Pink"> <Popup IsOpen="True" Placement="Center"> <Grid Width="300" Height="200" Background="LightBlue" KeyboardNavigation.DirectionalNavigation="Contained" KeyboardNavigation.TabNavigation="Contained"> <StackPanel> <Rectangle Height="2" Margin="0,0,0,2" Fill="Silver"/> <ToggleButton x:Name="Casual" Content="CASUAL" Command="{Binding StartCasual}"/> <ToggleButton x:Name="Normal" Content="NORMAL" Command="{Binding StartNormal}"/> <ToggleButton x:Name="Expert" Content="EXPERT" Command="{Binding StartExpert}"/> </StackPanel> <ToggleButton VerticalAlignment="Bottom" Content="Inside Popup" Command="{Binding StartCasual}" Height="48"/> </Grid> </Popup> <ToggleButton VerticalAlignment="Bottom" Content="Outside Popup" Height="48"/> </Grid> </Grid> |
(0008415)
sumel007 2023-04-12 12:03 (Last edited: 2023-04-12 12:03) |
I've retested the sample I've provided and it seems that it does indeed work correctly. Sorry for that, I am quite confused as to how that happened. The problem remains within our project, But it seems to only happen to TabNavigation. I tried to recreate the situation from our project without having to provide all the files, so the xaml is quite chaotic. I am attaching it to this note (I just removed the contents of MainWindow.xaml from Menu3D and tried to set up a similar situation to our project). Now when the middle portion (which imitates a popup, so it's very improtant there's absolutely no way to focus anything below that) with left/right buttons gets focus we cannot escape it via arrow keys (which is correct, since that DockPanel has KeyboardNavigation.DirectionalNavigation="Contained"). However we can escape outside that dockpanel via Tab key once the focus is on the "RightButton", even though we've set KeyboardNavigation.TabNavigation="Contained". Now it seems to behave this way in both WPF and Noesis with one exception - WPF immediately switches focus to the button to the right ("Settings") whereas Noesis first loses focus completely and then the next keypress focuses on the Settings button. So I assume this is a bug on Noesis part. But WPF behaviour doesn't fix the issue for me either. The behaviour I would want however is different from both WPF and Noesis - that is I want TabNavigation to remain within the popup. If I set TabNavigation="None" that still doesn't happen - it only changes so that the buttons inside will not get navigated to via tab navigation, but once they have focus it can still escape via tab. For now I guess I could just handle PreviewKeyDown and mark it as handled, so the tab navigation never happens, but I'm wondering if there's a better way. Especially since in your example it seems to behave as expected, whereas in mine even with TabNavigation=Contained it isn't contained to that panel. |
(0008416)
sumel007 2023-04-12 12:04 |
|
(0008453)
sfernandez 2023-04-24 13:43 (Last edited: 2023-04-24 17:44) |
I've been anaylizing how WPF behaves with TabNavigation="Contained" and for me it seems bugged, because it is not moving the focus as described in the documentation:public enum KeyboardNavigationMode { /// <summary> /// The container does not handle the keyboard navigation; /// each element receives keyboard focus as long as it is a key navigation stop. /// </summary> Continue, /// <summary> /// The container and all of its child elements as a whole only receive focus once. /// Either the first tree child or the ActiveElement receive focus /// </summary> Once, /// <summary> /// Depending on the direction of the navigation, /// the focus returns to the first or the last item when the end or /// the beginning of the container is reached, respectively. /// </summary> Cycle, /// <summary> /// No keyboard navigation is allowed inside this container /// </summary> None, /// <summary> /// Like cycle but does not move past the beginning or end of the container. /// </summary> Contained, /// <summary> /// TabIndexes are considered on local subtree only inside this container /// </summary> Local } However, with DirectionalNavigation="Contained" the behavior seems correct, when you reach the end of the container it stops the focus there, and cannot be moved outside. We decided to fix the implementation in TabNavigation to behave like DirectionalNavigation, so focus won't move outside the container. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2576 | [NoesisGUI] Unreal | minor | always | 2023-04-21 17:45 | 2023-04-21 18:06 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.1 | ||
Target Version: | 3.2.1 | ||||
Platform: | Any | ||||
Summary: | Texture mipmaps ignored when rendering images | ||||
Description: |
The Unreal renderer is ignoring the mipmaps when they are available in the texture (depending on "Mip Gen Settings" in texture inspector). It is using always level 0, which produces lots of artifacts when image is scaled to small sizes. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008443)
sfernandez 2023-04-21 18:00 |
This patch is required to properly use texture mipmaps:Index: NoesisRenderDevice.cpp =================================================================== --- NoesisRenderDevice.cpp (revision 12447) +++ NoesisRenderDevice.cpp (working copy) @@ -388,7 +388,7 @@ template<ESamplerFilter Filter = SF_Point, ESamplerAddressMode AddressU = AM_Clamp, ESamplerAddressMode AddressV = AM_Clamp, - int MaxMipLevel = 0> + int MaxMipLevel = 1> class TNoesisStaticSamplerState : public TStaticStateRHI<TNoesisStaticSamplerState<Filter, AddressU, AddressV, MaxMipLevel>, FSamplerStateRHIRef, FRHISamplerState*> { public: |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2242 | [NoesisGUI] C++ SDK | major | sometimes | 2022-01-18 16:40 | 2023-04-20 19:39 |
Reporter: | clysmic | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.11 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.1 | ||
Target Version: | 3.2.1 | ||||
Platform: | Windows | ||||
Summary: | KeyboardNavigation failing to focus "off-screen" controls inside a ScrollViewer | ||||
Description: |
KeyboardNavigation failing to focus "off-screen" controls inside a ScrollViewer, and is instead skipping ahead and focusing on the next visible control in the focus order. See more detailed explanation here: https://www.noesisengine.com/forums/viewtopic.php?t=2521 |
||||
Tags: | Focus, keyboard, scroll | ||||
Steps To Reproduce: |
It should repro with a UI structure like below (from the linked forum post) <Grid x:Name="MainGrid" KeyboardNavigation.DirectionalNavigation="Cycle"> <ScrollViewer CanContentScroll="True" Focusable="False"> <StackPanel> <!-- 10 focusable controls defined here. (Sliders, toggles, etc.). Lets call them C0, C1, C2,... through C9 --> </StackPanel> </ScrollViewer> <Border <Button x:Name="OkButton"/> </Border> </Grid> |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008441)
sumel007 2023-04-19 07:56 |
Is there any news on this issue? It is blocking our development and there seem to be no sensible work arounds available. |
(0008442)
sfernandez 2023-04-19 17:14 |
We are working on this for the next 3.2.1 release. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2574 | [NoesisGUI] Unity3D | minor | always | 2023-04-19 12:26 | 2023-04-19 16:37 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.1 | ||
Target Version: | 3.2.1 | ||||
Platform: | Any | ||||
Summary: | ApplicationCommands can be referenced only by name | ||||
Description: |
https://www.noesisengine.com/forums/viewtopic.php?t=2915 It seems that WPF supports omiting the class for Application commands, so you can write things like: <ContextMenu> <MenuItem Command="Cut"/> <MenuItem Command="Copy"/> <MenuItem Command="Paste"/> </ContextMenu> |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2529 | [NoesisGUI] Unity3D | block | always | 2023-03-08 16:48 | 2023-04-14 19:54 |
Reporter: | stonstad | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.7 | ||
Product Build: | Resolution: | unable to reproduce | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | After Noesis 3.1.7 Upgrade, Noesis Fails to Find XAML files | ||||
Description: |
This is a reoccurring problem I see with Noesis. Currently, I'm impacted with MBI after upgrading to 3.1.7. The file pathing is correct -- it worked before but it no longer works after an upgrade. [NOESIS/E] (41): Xaml not found 'Assets/User Interface/Controls/DimensioningControl.xaml' Things I have tried include: * Reimporting * Deleting existing .meta and reimporting. * Restarting Unity * Check for missing forward refrences in top-level XAML * Curse! |
||||
Tags: | |||||
Steps To Reproduce: |
[NOESIS/E] (41): Xaml not found 'Assets/User Interface/Controls/DimensioningControl.xaml' UnityEngine.Debug:LogError (object,UnityEngine.Object) NoesisUnity:UnityLog (int,string) (at C:/Source/MBI.CustomerSelect.Unity/MBI.customerSelect.Unity.Utilities/Noesis/Noesis 3.1.7/Runtime/NoesisUnity.cs:357) Noesis.GUI:LoadComponent (object,string) (at C:/Source/MBI.CustomerSelect.Unity/MBI.customerSelect.Unity.Utilities/Noesis/Noesis 3.1.7/Runtime/API/Core/NoesisGUI.cs:326) MBI.CustomerSelect.Unity.UI.DimensioningControl:InitializeComponent () (at Assets/User Interface/Controls/DimensioningControl.cs:44) MBI.CustomerSelect.Unity.UI.DimensioningControl:.ctor () (at Assets/User Interface/Controls/DimensioningControl.cs:28) (wrapper dynamic-method) object:lambda_method (System.Runtime.CompilerServices.Closure) Noesis.Extend:CreateInstance (intptr,intptr) (at C:/Source/MBI.CustomerSelect.Unity/MBI.customerSelect.Unity.Utilities/Noesis/Noesis 3.1.7/Runtime/API/Core/Extend.cs:5483) Noesis.GUI:LoadComponent (object,string) (at C:/Source/MBI.CustomerSelect.Unity/MBI.customerSelect.Unity.Utilities/Noesis/Noesis 3.1.7/Runtime/API/Core/NoesisGUI.cs:326) MBI.CustomerSelect.Unity.UI.MainControl:InitializeComponent () (at Assets/User Interface/MainControl.cs:101) MBI.CustomerSelect.Unity.UI.MainControl:.ctor () (at Assets/User Interface/MainControl.cs:94) (wrapper dynamic-method) object:lambda_method (System.Runtime.CompilerServices.Closure) Noesis.Extend:CreateInstance (intptr,intptr) (at C:/Source/MBI.CustomerSelect.Unity/MBI.customerSelect.Unity.Utilities/Noesis/Noesis 3.1.7/Runtime/API/Core/Extend.cs:5483) Noesis.GUI:LoadXaml (System.IO.Stream,string) (at C:/Source/MBI.CustomerSelect.Unity/MBI.customerSelect.Unity.Utilities/Noesis/Noesis 3.1.7/Runtime/API/Core/NoesisGUI.cs:274) NoesisXaml:Load () (at C:/Source/MBI.CustomerSelect.Unity/MBI.customerSelect.Unity.Utilities/Noesis/Noesis 3.1.7/Runtime/NoesisXaml.cs:17) NoesisView:LoadXaml (bool) (at C:/Source/MBI.CustomerSelect.Unity/MBI.customerSelect.Unity.Utilities/Noesis/Noesis 3.1.7/Runtime/NoesisView.cs:489) NoesisView:OnEnable () (at C:/Source/MBI.CustomerSelect.Unity/MBI.customerSelect.Unity.Utilities/Noesis/Noesis 3.1.7/Runtime/NoesisView.cs:623) MBI.CustomerSelect.Unity.Assets.StartScript:Awake () (at Assets/Scripts/Global/StartScript.cs:124) |
||||
Additional Information: | |||||
Attached Files: |
image.png (105,522 bytes) 2023-03-08 16:52 https://www.noesisengine.com/bugs/file_download.php?file_id=1777&type=bug image-2.png (129,493 bytes) 2023-03-27 16:34 https://www.noesisengine.com/bugs/file_download.php?file_id=1788&type=bug |
||||
Notes | |
(0008329)
stonstad 2023-03-08 16:50 |
This was fixed by 1) restarting Unity, 2) reimporting each folder individually BEFORE clicking play. This is quite annoying! :) |
(0008330)
stonstad 2023-03-08 16:51 (Last edited: 2023-03-08 16:51) |
Nevermind -- error behavior returned after subsequent play. |
(0008331)
stonstad 2023-03-08 16:52 |
|
(0008332)
stonstad 2023-03-08 16:55 |
Deleting all .asset files, reimporting, restarting through Noesis core dumps/crashes, and it might be working again. Not great. |
(0008334)
jsantos 2023-03-08 22:31 (Last edited: 2023-03-08 22:34) |
Is "DimensioningControl.xaml" listed as a dependency in other XAML? We can only load XAML that are loaded by the View itself or any of its dependencies. Deleting all .asset files Is this coming from a very old version of Noesis? We are no longer using .assets files at all. So removing them shouldn't change anything at all. |
(0008335)
stonstad 2023-03-08 23:58 |
Yes, DimensioningControl.xaml is forward referenced in the top-level XAML file. <noesis:Dependency Source="/Assets/User Interface/Controls/DimensioningControl.xaml"/> I can confirm the file paths are correct. This is an issue that I see with every upgrade of Noesis across both MBI and Stellar Conquest. It is never entirely clear to me why the error goes away. Reimporting, restarting, and reimporting again until the errors goes away is the usual fix. I think you have seem this reported from me in the past. With today's upgrade of MBI from 3.0.x to 3.1.7 it was the same workflow to work around the bug -- just restarting and reimporting until the error goes away. When the error message is shown -- is that directly from a file exists check, or is it an abstracted check, i.e. checking if the file exists in an imported XAML dictionary? I think an underlying process fails to import the file, and that is the source of the file error. If the logging statement directly follows a file exists check my theory is poor. |
(0008359)
jsantos 2023-03-27 15:05 |
The error happens when the XAML is not correctly marked as a dependency of the scene. Meaning that if you create a standalone player with Unity, the XAML won't be included in the list of assets (https://forum.unity.com/threads/getting-list-of-all-assets-in-build.620809/). During the editor, this can work "sometimes' if for example, the XAML was recently built or previewed. To include a XAML in the scene it must be directly used by a view include in the scene, used as public property of any monobehaviour included in the scene, or be a dependency of another XAML already included in the scene. |
(0008360)
jsantos 2023-03-27 15:09 (Last edited: 2023-03-27 15:09) |
Yes, DimensioningControl.xaml is forward referenced in the top-level XAML file. Have you verified DimensioningControl.xaml is listed as a dependency in the Inspector (dependencies section) of the top-level Xaml? |
(0008361)
stonstad 2023-03-27 16:34 |
The DimensioningControl.xaml class appears in the XAMLs dependencies (see below). I made no code changes. The specific bug at work here is that, sometimes, a XAML dependency is not loaded but should be. Reimporting assets and restarting Unity shouldn't be necessary when the behavior manifests. |
(0008362)
jsantos 2023-03-27 19:09 |
Reimporting assets and restarting Unity is not fixing anything, I am pretty sure. You are being lucky. Who is referencing that Main Control ? Is that control part of the dependencies of another XAML, and so on untill you reach the XAML in the View of the scene? |
(0008419)
stonstad 2023-04-12 23:17 |
For this project, MainControl is the top-level UI UserControl. It is not part of dependencies of another control. I can confirm that the aforementioned DimensioningControl is forward declared. This isn't an active issue because the problem has gone away. Even if I restart Unity, the problem is resolved. It only manifests on Noesis upgrades. It affects both the MBI project and Stellar Conquest. I don't make much noise over the issue because, once it decides to start working, I no longer have issues. |
(0008425)
jsantos 2023-04-13 14:06 |
Let me remark this, the problem has not gone away. :) you are just being lucky, I am pretty sure. "MainControl is the top-level UI UserControl." This means that MainControl.xaml is assigned to a View right? When you get the error of XAML not found, have you verified at that point that building a standalone player is included that XAML (https://forum.unity.com/threads/getting-list-of-all-assets-in-build.620809/)? because I think it is not being included, and that means the XAML is not properly referenced. I assume we cannot reproduce this in a clean and small project right? |
(0008426)
stonstad 2023-04-13 17:18 |
Compiled builds work without an issue. > I assume we cannot reproduce this in a clean and small project right? Right. Cleaning a project and/or reimporting seems to be part of the fix. |
(0008437)
jsantos 2023-04-14 19:54 |
I am going to close this. Please, create a new ticket if you find this again on 3.2 |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2553 | [NoesisGUI] C++ SDK | major | have not tried | 2023-04-03 12:11 | 2023-04-14 19:24 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.0 | ||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.1 | ||
Target Version: | 3.2.1 | ||||
Platform: | Any | ||||
Summary: | Font references starting with '/' not pointing to root folder | ||||
Description: | It seems that referencing a font like "/#MyFont", instead of pointing to a resource in the root folder is considering the uri to be relative to the loading xaml. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2568 | [NoesisGUI] Unity3D | feature | always | 2023-04-13 12:43 | 2023-04-14 18:53 |
Reporter: | jsantos | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.1 | ||
Target Version: | 3.2.1 | ||||
Platform: | Any | ||||
Summary: | Implement support for Single-Pass stereo rendering on Android (Quest2) | ||||
Description: | Right now, only Multi-pass is implemented. When enabling Single-Pass (MultiView) only the left eye is rendered | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2566 | [NoesisGUI] VSCode | minor | always | 2023-04-12 17:11 | 2023-04-13 17:02 |
Reporter: | maherne | Platform: | |||
Assigned To: | maherne | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.1 | ||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Implement full support for color decorators on node attribute properties | ||||
Description: |
Currently color decorators are only supported in attribute properties, and Brush objects. Implement support for all node properties, as in the sample below. <Button> <Button.Background>Blue</Button.Background> <Button.Foreground>#FF0DE70D</Button.Foreground> </Button> |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2565 | [NoesisGUI] C++ SDK | feature | always | 2023-04-12 16:59 | 2023-04-12 17:00 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2.0 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | RiveControl: implement StateChanged event | ||||
Description: | To implement this event we need to talk with Rive team to see how we can get notified when the animation changes to a different state in the state machine. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2564 | [NoesisGUI] C++ SDK | feature | always | 2023-04-12 16:57 | 2023-04-12 16:57 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2.0 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | RiveControl: add support for selecting the artboard or animation to play | ||||
Description: |
A rive file can contain several artboards and animations. Right now only the default artboard or animation is played. We should provide an API to select which one we want to play. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2472 | [NoesisGUI] Unreal | major | always | 2022-11-28 17:49 | 2023-04-11 18:13 |
Reporter: | tsilmer | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | high | OS Version: | |||
Status: | resolved | Product Version: | 3.1.6 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.0 | ||
Target Version: | 3.1.7 | ||||
Platform: | Windows | ||||
Summary: | Incompatibility with Unreal Engine CommonUI plugin | ||||
Description: |
Hi, Epic has been rolling out a new UI system called CommonUI (https://docs.unrealengine.com/5.0/en-US/common-ui-plugin-for-advanced-user-interfaces-in-unreal-engine/) which is build on top of UMG. The plugin comes standard with UE5, but also works in 4.27. Epic currently uses it for Fortnite and it is currently being used by most of our games too. There seems to be an incompatibility between the Noesis Plugin and CommonUI in input handling. Currently after we install, enable and setup CommonUI in a project the "Accept" button in gamepads no longer works, although all the other buttons work just fine. |
||||
Tags: | |||||
Steps To Reproduce: |
Reproduction steps for UE5 or UE4.27 (same thing happen on both), using the Noesis UE sample app (downloaded from https://www.noesisengine.com/developers/downloads.php) and the Buttons level: * Edit `noesisgui-ue4.27-3.1.6-indie\Assets\Buttons\Buttons\MainWindow.xaml` to add GamepadTriggers such as: ``` <Button x:Name="StartButton" Grid.Row="1" Content="START" Margin="60,0,0,0" Command="{Binding StartCommand}" RenderTransformOrigin="0.5,0.5"> <b:Interaction.Triggers> <b:EventTrigger EventName="MouseEnter"> <noesis:SetFocusAction/> </b:EventTrigger> <b:EventTrigger EventName="GotFocus"> <b:PlaySoundAction Source="AudioSlide.wav" Volume="0.2"/> </b:EventTrigger> <noesis:GamepadTrigger FiredOn="ButtonDown" Button="Accept"> <b:PlaySoundAction Source="AudioClick.wav" Volume="0.3"/> </noesis:GamepadTrigger> <noesis:GamepadTrigger FiredOn="ButtonDown" Button="Cancel"> <b:PlaySoundAction Source="AudioClick.wav" Volume="0.3"/> </noesis:GamepadTrigger> </b:Interaction.Triggers> <Button.RenderTransform> <TransformGroup> <ScaleTransform/> <SkewTransform/> <RotateTransform/> <TranslateTransform/> </TransformGroup> </Button.RenderTransform> </Button> ``` * Install the Unreal Engine CommonUI plugin * Change the Viewport class to CommonGameViewportClient as instructed in https://docs.unrealengine.com/5.0/en-US/common-ui-quickstart-guide-for-unreal-engine/ * Notice that the the `Accept` button never triggers, while `Cancel` triggers as expected (you can try other buttons and they all work). * Add a breakpoint inside the `UNoesisInstance::NativeOnKeyDown` method in `NoesisGUI-UE4.27-3.1.6-Indie\Plugins\NoesisGUI\Source\NoesisRuntime\Private\NoesisInstance.cpp` and also note that the breakpoint is never hit when pressing the Accept button. |
||||
Additional Information: | |||||
Attached Files: |
CommonUIWorkaround.patch (6,287 bytes) 2023-01-13 13:22 https://www.noesisengine.com/bugs/file_download.php?file_id=1732&type=bug |
||||
Notes | |
(0008183)
rg_moliver 2022-12-08 02:46 |
Wanted to check in and see if there was any update or ETA on this? thanks so much! |
(0008184)
hcpizzi 2022-12-12 12:46 |
Hi, I've been looking into this. Turns out CommonUI turns the accept gamepad button press into a MouseButtonDown event, in FAnalogCursor::HandleKeyDownEvent (via FCommonAnalogCursor::HandleKeyDownEvent). It looks like the way to avoid this would be to have the ActionRouter handle the event, but I haven't figured out how to do it. Here's the relevant line in FCommonAnalogCursor::HandleKeyDownEvent: if (bIsVirtualAccept && ActionRouter.ProcessInput(InKeyEvent.GetKey(), InputEventType) == ERouteUIInputResult::Handled) |
(0008195)
sgonchar 2023-01-09 18:27 |
Hello, I'm wondering when can there be an ETA on this? Thank you. |
(0008198)
hcpizzi 2023-01-10 17:32 |
Hi, I'm currently looking into having the ActionRouter handle the input event so that it doesn't decay into a left mouse button down event, but I still haven't figured out how to do it. |
(0008200)
sgonchar 2023-01-10 19:38 |
Thank you for looking into it! It's becoming higher and higher pri for us. Eager to see your solution for it. |
(0008202)
hcpizzi 2023-01-11 14:20 |
OK, I've got a workaround for this. The code in FCommonAnalogCursor::HandleKeyDownEvent that handles the Virtual_Accept key does this: //@todo DanH: This is a major bummer to have to flip this flag on the input subsystem here, but there is no awareness on a mouse event of whether it's real or not // Though tbh, any place that cares should be able to just check the live input mode and infer from that whether this is a mouse click or virtual gamepad click UCommonInputSubsystem& InputSubsytem = ActionRouter.GetInputSubsystem(); InputSubsytem.SetIsGamepadSimulatedClick(bIsVirtualAccept); bool bReturnValue = FAnalogCursor::HandleKeyDownEvent(SlateApp, InKeyEvent); InputSubsytem.SetIsGamepadSimulatedClick(false); I can check that IsGamepadSimulatedClick flag in our MouseButtonDown event handler, and convert it back to a Key_GamepadAccept KeyDown/Up event pair. It's not pretty, but it gets the job done. I can send you a patch if you want to try it first. What do you think? |
(0008205)
sgonchar 2023-01-11 20:27 |
Thank you! If it works in your samples it would work for us as well, I think. Please send us a patch / change PR or etc we can try on our end when it's ready. I'll see what it takes to go through a release cycle to get this to the game team that is having the issue. Cheers. |
(0008207)
hcpizzi 2023-01-13 13:22 |
Here's the patch for you to try. Please, let us know if it resolves your issue. Thanks. |
(0008208)
sgonchar 2023-01-13 18:28 |
Thank you very much! We'll patch and try to push through release process shortly! |
(0008408)
sgonchar 2023-04-06 03:06 |
Hello! Update, please excuse late reply, release / integration process was much longer then we expected. Fix confirmed, it fixed the issue in live / in game. - Input works when using common game view port - input still works when switching back to game view port (I didn't have to use the .cs portion) Cheers. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2554 | [NoesisGUI] VSCode | minor | always | 2023-04-04 12:24 | 2023-04-11 17:33 |
Reporter: | jsantos | Platform: | |||
Assigned To: | maherne | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.1 | ||
Target Version: | 3.2.1 | ||||
Platform: | Any | ||||
Summary: | Incorrect autocomplete when XAML is empty | ||||
Description: |
Our extension only shows class suggestions when a '<' is typed. But when the document is empty, this rule is not followed and I can start typing "Rec" (without <) and get suggestions. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2555 | [NoesisGUI] VSCode | minor | have not tried | 2023-04-04 12:27 | 2023-04-11 16:24 |
Reporter: | jsantos | Platform: | |||
Assigned To: | maherne | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.1 | ||
Target Version: | 3.2.1 | ||||
Platform: | Any | ||||
Summary: | Boolean and Nullable<Boolean> not showing suggestions | ||||
Description: |
These properties are not showing suggestions for the possible values: True, False, x:Null. Nullable can be used for more types than boolean, so this should be fixed too |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2557 | [NoesisGUI] VSCode | minor | have not tried | 2023-04-04 12:32 | 2023-04-11 12:57 |
Reporter: | jsantos | Platform: | |||
Assigned To: | maherne | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.0 | ||
Product Build: | Resolution: | suspended | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Issue with missing namespaces | ||||
Description: |
In the following XAML<Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"> <Button x:Name="button" Width="120" Height="50" Content="Button" Margin="5" /> </Grid> There are a few problems: 1. The underscore is written for "Button" instead of "x:Name" 2. The error message does not indicate the namespace 3. We could expose a quick-fix to this in VsCode |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008412)
jsantos 2023-04-11 12:57 |
This can't be easily solved with the current architecture. Suspending for now. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2556 | [NoesisGUI] VSCode | minor | have not tried | 2023-04-04 12:28 | 2023-04-11 12:43 |
Reporter: | jsantos | Platform: | |||
Assigned To: | maherne | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.1 | ||
Target Version: | 3.2.1 | ||||
Platform: | Any | ||||
Summary: | Properties of type Color don't show color suggestions | ||||
Description: |
For example, in this snippet:<Ellipse Width="300" Height="300" Margin="5" Stroke="Coral" > <Ellipse.Fill> <RadialGradientBrush> <GradientStop Color="Red" Offset="0"/> <GradientStop Color="Blue" Offset="1"/> </RadialGradientBrush> </Ellipse.Fill> </Ellipse> |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2559 | [NoesisGUI] Unity3D | major | always | 2023-04-04 16:45 | 2023-04-05 13:51 |
Reporter: | vanHope | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | WordlSpace UI with Cinemachine in Unity doesn‘t work | ||||
Description: |
Hey, I have no problem implementing the World Space UI with normal Cameras like it is explained here: https://www.noesisengine.com/docs/Gui.C ... d-space-ui My problem is I can't get it to work with a Cinemachine Bain and virtual cameras. Do you have an example how that has to be setup, so that the World Space UI is being rendered with Cinemachine virtual cameras? |
||||
Tags: | C#, Unity | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2551 | [NoesisGUI] Unity3D | feature | always | 2023-03-30 14:45 | 2023-03-30 17:15 |
Reporter: | asusralis | Platform: | |||
Assigned To: | maherne | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2.0 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2 | ||||
Platform: | Any | ||||
Summary: | Support for 'Completion for markup extensions and dictionaries' when using VS Code. | ||||
Description: | https://www.noesisengine.com/forums/viewtopic.php?p=15457#p15457 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2085 | [NoesisGUI] C++ SDK | major | always | 2021-08-17 12:59 | 2023-03-30 16:59 |
Reporter: | decai | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.1 | ||
Target Version: | 3.1.1 | ||||
Platform: | Any | ||||
Summary: | 3.1.0 Background color with alpha render diffent as 3.0.12 in linear color space | ||||
Description: |
With alpha in linear color space is incorrect, without alpha is correct. see https://www.noesisengine.com/forums/viewtopic.php?f=3&t=2396&sid=8d16390c7721673fcc293aa9a8e78f81 |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2550 | [NoesisGUI] Unreal | major | have not tried | 2023-03-30 11:55 | 2023-03-30 12:11 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.1 | ||
Target Version: | 3.2.1 | ||||
Platform: | Any | ||||
Summary: | Font Fallbacks defined in Noesis settings don't work | ||||
Description: |
Default FontFaces specified into Noesis settings are ignored. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008391)
sfernandez 2023-03-30 12:11 |
This is the patch:Index: NoesisSettings.cpp =================================================================== --- NoesisSettings.cpp (revision 12413) +++ NoesisSettings.cpp (revision 12414) @@ -79,12 +79,15 @@ } } -static void GetFamilyNames(const TArray<uint8>& FontData, TArray<Noesis::FixedString<128>>& FamilyNames) +static void GetFamilyNames(const TArray<uint8>& FontData, TArray<Noesis::FixedString<128>>& FamilyNames, + const Noesis::String& Path) { - Noesis::Ptr<Noesis::MemoryStream> Stream = Noesis::MakePtr<Noesis::MemoryStream>(FontData.GetData(), FontData.Num()); - Noesis::Fonts::GetTypefaces(Stream, [&FamilyNames](const Noesis::Typeface& Typeface) + Noesis::MemoryStream Stream(FontData.GetData(), FontData.Num()); + Noesis::Fonts::GetTypefaces(&Stream, [&FamilyNames, &Path](const Noesis::Typeface& Typeface) { - FamilyNames.AddUnique(Typeface.familyName); + Noesis::FixedString<512> PathFamilyName(Path.Str()); + PathFamilyName.Append(Typeface.familyName); + FamilyNames.AddUnique(PathFamilyName.Str()); }); } @@ -100,6 +103,9 @@ DefaultFontRefs.Empty(DefaultFonts.Num()); + FString PackageRoot, PackagePath, PackageName; + Noesis::String PathStr; + TArray<Noesis::FixedString<128>> FamilyNamesStr; for (auto& FontFallback : DefaultFonts) { @@ -110,6 +116,10 @@ DefaultFontRefs.Add(FontFace); NoesisRuntime.RegisterFont(FontFace); + UPackage* Package = FontFace->GetOutermost(); + FPackageName::SplitLongPackageName(Package->GetPathName(), PackageRoot, PackagePath, PackageName, false); + PathStr = TCHAR_TO_UTF8(*(PackageRoot.LeftChop(1) + ";component" / PackagePath / "#")); + #if !WITH_EDITORONLY_DATA if (FontFace->GetLoadingPolicy() != EFontLoadingPolicy::Inline) { @@ -116,7 +126,7 @@ TArray<uint8> FileData; FFileHelper::LoadFileToArray(FileData, *FontFace->GetFontFilename()); - GetFamilyNames(FileData, FamilyNamesStr); + GetFamilyNames(FileData, FamilyNamesStr, PathStr); } else #endif @@ -125,7 +135,7 @@ const FFontFaceData& FontFaceData = FontFaceDataRef.Get(); const TArray<uint8>& FontFaceDataArray = FontFaceData.GetData(); - GetFamilyNames(FontFaceDataArray, FamilyNamesStr); + GetFamilyNames(FontFaceDataArray, FamilyNamesStr, PathStr); } } } |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2548 | [NoesisGUI] C# SDK | feature | have not tried | 2023-03-29 17:11 | 2023-03-29 17:38 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2.0 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Memory management improvements | ||||
Description: |
In order to reduce memory allocations there are a few things we can improve in our C# implementation and API. * String UTF8 -> Unicode conversion: -- use pre-allocated buffer whenever possible to avoid creating new memory on each conversion -- study the possibility to cache conversion for some or all strings * Event args: -- can't use structs because inheritance won't be possible then -- study the possibility to pool the allocation of this objects -- https://www.infoworld.com/article/3221392/how-to-use-the-object-pool-design-pattern-in-c.html -- https://learn.microsoft.com/en-us/dotnet/api/system.buffers.arraypool-1?view=net-7.0 * DependencyPropertyChangedEventArgs OldValue/NewValue: * DependencyObject GetValue/SetValue: -- avoid boxing by providing a <T> version -- should be used in all our interactivity classes * IValueConverter Box/Unbox: -- study the possibility of using Unsafe.Unbox<T> + pool of boxed values -- https://learn.microsoft.com/en-us/dotnet/api/system.runtime.compilerservices.unsafe.unbox?view=net-5.0 |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2546 | [NoesisGUI] C# SDK | major | always | 2023-03-28 11:41 | 2023-03-29 13:20 |
Reporter: | sumel007 | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.0 | ||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.1 | ||
Target Version: | 3.2.1 | ||||
Platform: | Any | ||||
Summary: | Font with "Condensed" in the name is not rendered properly | ||||
Description: |
I use Roboto Condensed font (that's the actual name of the family). In 3.1.7 it worked properly, but in 3.2 it seems to go back to rendering the default font. I assume it's due to "Condensed" being in the name and the parser interpreting it as font family Roboto with condensed line spacing (which is not the case here). Roboto Condensed font is available here: https://fonts.google.com/specimen/Roboto+Condensed |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
viewbox_3_2.png (120,169 bytes) 2023-03-29 09:09 https://www.noesisengine.com/bugs/file_download.php?file_id=1792&type=bug no_viewbox_3_2.png (96,014 bytes) 2023-03-29 09:09 https://www.noesisengine.com/bugs/file_download.php?file_id=1793&type=bug viewbox_3_1_7.png (134,606 bytes) 2023-03-29 09:09 https://www.noesisengine.com/bugs/file_download.php?file_id=1794&type=bug no_viewbox_3_1_7.png (86,298 bytes) 2023-03-29 09:09 https://www.noesisengine.com/bugs/file_download.php?file_id=1795&type=bug |
||||
Notes | |
(0008373)
sfernandez 2023-03-28 16:57 |
After fixing 0002545 I tried the specified Roboto Condensed font and it works as expected, so I think your problems were related to the previous ticket. I tested the following xaml: <TextBlock Text="Hello World" FontFamily="pack://application:,,,/Fonts/#Roboto Condensed"/> <TextBlock Text="Hello World" FontFamily="/Fonts/#Roboto Condensed"/> <TextBlock Text="Hello World" FontFamily="Fonts/#Roboto Condensed"/> And in all cases the font selected was the correct one. Could you share the xaml you were using and the file structure (and providers) that were failing for you? |
(0008379)
sfernandez 2023-03-29 12:25 |
I see now what is happening, in 3.2 we fully implemented the font differentiation algorithm used by WPF (0001868). This means that if a style is included in the FontFamily name it will try to match that, overriding the style attributes, so for example: This text will use "Roboto" + Condensed + Italic, which is "Roboto Condesed Italic" font: <TextBlock Text="Hello World" FontFamily="Fonts/#Roboto" FontStretch="Condensed" FontStyle="Italic"/> This text will use "Roboto Condensed" font, ignoring the Italic attribute: <TextBlock Text="Hello World" FontFamily="Fonts/#Roboto Condensed" FontStyle="Italic"/> This text will use "Roboto Condensed Italic" font: <TextBlock Text="Hello World" FontFamily="Fonts/#Roboto Condensed Italic"/> This text will use "Roboto Condensed Italic" font too, ignoring the Bold attribute: <TextBlock Text="Hello World" FontFamily="Fonts/#Roboto Condensed Italic" FontWeight="Bold"/> This text will use "Roboto Condensed Bold Italic" font: <TextBlock Text="Hello World" FontFamily="Fonts/#Roboto Condensed Bold Italic"/> Our recommedation is to use the plain family name "Roboto", and then specify the rest of styles as attributes. So you can define styles like this: <FontFamily x:Key="RobotoFont">../Fonts/#Roboto</FontFamily> <Style x:Key="Roboto" TargetType="TextBlock"> <Setter Property="FontFamily" Value="{StaticResource RobotoFont}"/> <Setter Property="FontStretch" Value="Condensed"/> </Style> <Style x:Key="RobotoBoldItalic18" TargetType="TextBlock" BasedOn="{StaticResource Roboto}"> <Setter Property="FontSize" Value="18"/> <Setter Property="FontStyle" Value="Italic"/> <Setter Property="FontWeight" Value="Bold"/> <Setter Property="LineHeight" Value="20"/> <Setter Property="TextWrapping" Value="Wrap"/> </Style> |
(0008383)
sumel007 2023-03-29 13:07 |
Okay, I see now. Thanks for clarifying it. Yeah using Roboto as the font family name and then specifying weight, spacing etc. separately seems to work correctly. It was a little confusing, since the font is called "Roboto Condensed", which is why I was referencing it the way I originally was. But your solution seems to work fine. Thank you! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2547 | [NoesisGUI] Unreal | minor | N/A | 2023-03-29 12:52 | 2023-03-29 13:08 |
Reporter: | hcpizzi | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.1 | ||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Support for linear color and texture parameters in materials | ||||
Description: | Currently texture material parameters are not supported, and colors are converted to sRGB. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2542 | [NoesisGUI] Unreal | minor | always | 2023-03-23 01:52 | 2023-03-29 12:51 |
Reporter: | hcpizzi | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.1 | ||
Target Version: | 3.2.1 | ||||
Platform: | Any | ||||
Summary: | NoesisViews can't be set as mouse cursor widgets | ||||
Description: | A NoesisView causes a crash when used as a mouse cursor where an UMG Widget can be used. | ||||
Tags: | |||||
Steps To Reproduce: | Use CreateWidget with a NoesisView, and pass it to PlayerController::SetMouseCursorWidget. | ||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008381)
hcpizzi 2023-03-29 12:51 |
There were several problems. The NoesisInstance wasn't setting a desired size and, after fixing that, the view extents could start at negative offsets. All the issues have been addressed now. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2221 | [NoesisGUI] Unity3D | feature | always | 2021-12-28 02:47 | 2023-03-29 12:46 |
Reporter: | CMarinacci | Platform: | |||
Assigned To: | maherne | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.3 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.0 | ||
Target Version: | 3.1.7 | ||||
Platform: | Any | ||||
Summary: | Please add Visual Studio 2022 support for the NoesisGUI Project Templates | ||||
Description: | Currently the NoesisGUI Project Templates only support Visual Studio 2015, 2017, and 2019. | ||||
Tags: | Extension, VisuaStudio | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008380)
maherne 2023-03-29 12:46 |
NoesisGUI Project Templates can now be installed for 2022. Due to a change in the Visual Studio API, it has a separate VSIX package (it can be installed via the Extensions window in VS also): https://marketplace.visualstudio.com/items?itemName=NoesisTechnologies.noesistemplates2022 We have updated NoesisGUI Project Templates for older versions of Visual Studio (2017 to 2019), projects generated in those versions are now compatible with VS 2022. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2545 | [NoesisGUI] C# SDK | major | always | 2023-03-28 11:39 | 2023-03-28 14:02 |
Reporter: | sumel007 | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.1 | ||
Target Version: | 3.2.1 | ||||
Platform: | Any | ||||
Summary: | Embedded fonts not found in Noesis 3.2 | ||||
Description: |
See the thread here: https://www.noesisengine.com/forums/viewtopic.php?t=2901 Referencing fonts in 3.2 seems broken and EmbeddedFontProvider.FamilyExists return false when specifying fonts like pack://application:,,,/Fonts/#Work Sans or Fonts/#Work Sans (even though they are in that folder). Appropriate relative path works correctly for finding the font (../Fonts/#Work Sans) |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2540 | [NoesisGUI] C++ SDK | minor | always | 2023-03-22 16:13 | 2023-03-27 14:33 |
Reporter: | hcpizzi | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.1 | ||
Target Version: | 3.2.1 | ||||
Platform: | Any | ||||
Summary: | Rive line drawing not working | ||||
Description: | Notice the missing lines over the mouth and under the eyes. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
unity.png (76,875 bytes) 2023-03-22 16:13 https://www.noesisengine.com/bugs/file_download.php?file_id=1784&type=bug rive.png (15,238 bytes) 2023-03-22 16:13 https://www.noesisengine.com/bugs/file_download.php?file_id=1785&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2535 | [NoesisGUI] Unity3D | feature | N/A | 2023-03-12 12:31 | 2023-03-27 12:14 |
Reporter: | tylerwsavatronix | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2 | ||||
Platform: | Any | ||||
Summary: | Callbacks to handle unfound resources in Unity | ||||
Description: |
As discussed in https://www.noesisengine.com/forums/viewtopic.php?t=2867 resources that aren't part of the Unity project won't be found if parsing xaml at runtime. The proposed solution is a callback in the resource providers to allow for manual loading of the resource. |
||||
Tags: | |||||
Steps To Reproduce: | N/A | ||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2526 | [NoesisGUI] C++ SDK | feature | N/A | 2023-03-02 14:44 | 2023-03-27 12:14 |
Reporter: | satorp | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1.7 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2 | ||||
Platform: | Any | ||||
Summary: | Add PersistId feature to enable saving and restoring control states | ||||
Description: | Feature requested in https://www.noesisengine.com/forums/viewtopic.php?t=2868 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2525 | [NoesisGUI] Inspector | feature | N/A | 2023-03-01 14:31 | 2023-03-27 12:14 |
Reporter: | steveh | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2.0 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2 | ||||
Platform: | Any | ||||
Summary: | Inspector: Support explicit IP communication | ||||
Description: |
Hi guys, Right now it looks like the inspector is listening to any traffic on a given port and refreshing the servers when it receives data in RemoteCommandsClient.cpp. Likewise, the game broadcasts on the announcement socket to all IP in RemoteCommands.cpp We've had a request internally to specify an exact IP address to listen to, e.g. launch the inspector with something like "-ListenIP=x.x.x.x", and maybe even on the game, e.g. "-InspectorIP=x.x.x.x". This would reduce the chance of clashing / connecting to the wrong IP if we're all on the same domain. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008321)
jsantos 2023-03-03 21:14 |
Hi Steve, In the latest version of the Inspector (0002418) there is a checkbox for connecting only to local IPs. Not sure if this is helpful to you, I assume this is for consoles connected to a different IP right? |
(0008324)
steveh 2023-03-06 19:01 |
Hi Jésus, I think that would partially help. However, the full solution would be a manual IP entry to support consoles as you have said. Ideally we'd be able to target a specific IP on the network so our consoles and dev machines can communicate directly without broadcasting to all IPs. |
(0008325)
jsantos 2023-03-06 23:36 |
Sure, understood. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2514 | [NoesisGUI] Unity3D | minor | always | 2023-02-19 01:34 | 2023-03-27 12:14 |
Reporter: | stonstad | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1.7 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2 | ||||
Platform: | Any | ||||
Summary: | Space in Glyph Texture | ||||
Description: |
[NOESIS/W] Not enough space in glyph texture to render this frame. Flushing drawing commands. Please increase dimensions I'm not entirely sure what this means. Can Noesis specify which texture is causing the problem? |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008297)
jsantos 2023-02-20 10:45 (Last edited: 2023-02-22 19:01) |
You need to increase the "Glyph Texture Size" in NoesisGUI settings. The message is not clear enough, I will fix that. By the way, this kind of doubts are better in the forums Thanks for the feedback! |
(0008298)
stonstad 2023-02-20 21:23 (Last edited: 2023-02-20 21:23) |
> You need to increase the "Glyph Texture Size" in NoesisGUI settings. The message is not clear enough, I will fix that. Thanks, Jesus. Under what scenario does this error occur? Is it related to fonts? > By the way, this kind of doubts are betting in the forums I'm afraid I do not understand your response. |
(0008299)
jsantos 2023-02-22 19:04 |
Sorry for the typo :) I meant, this kind of questions (not bugs) should go in the forums. That message happens when there are many simultaneous glyphs used in one frame and there is not space for them in the atlas texture. So we need to flush the renderer to make more space. In general, if you see this message only sporadically it is fine to ignore it. |
(0008310)
stonstad 2023-02-24 15:11 |
Understood. Thank you. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2505 | [NoesisGUI] Unity3D | minor | always | 2023-02-08 18:12 | 2023-03-27 12:14 |
Reporter: | stonstad | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1.5 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2 | ||||
Platform: | Any | ||||
Summary: | Transform3D + Effects Rendering Behavior | ||||
Description: |
Given the following XAML: <Grid x:Name="_LayoutRoot"> <noesis:Element.Transform3D> <noesis:CompositeTransform3D RotationY="-6"/> </noesis:Element.Transform3D> <Rectangle ... /> ... If an effect such as BlurEffect or DropShadowEffect is applied to the parent the resulting output is missing or corrupt. Please see the following screenshots, A, B, C and D. Note the UI element in the top-left corner. A. The UI element does not have a composite transform applied. No effect is applied. OK! B. The UI element does not have a composite transform applied. BlurEffect is applied. OK! C. The UI element has a composite transform applied. No effect is applied. OK! D. The UI element has a composite transform applied. BlurEffect is applied. FAIL! |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
A.jpg (375,251 bytes) 2023-02-08 18:12 https://www.noesisengine.com/bugs/file_download.php?file_id=1747&type=bug B.jpg (222,718 bytes) 2023-02-08 18:12 https://www.noesisengine.com/bugs/file_download.php?file_id=1748&type=bug C.jpg (375,440 bytes) 2023-02-08 18:12 https://www.noesisengine.com/bugs/file_download.php?file_id=1749&type=bug D.jpg (223,327 bytes) 2023-02-08 18:12 https://www.noesisengine.com/bugs/file_download.php?file_id=1750&type=bug |
||||
Notes | |
(0008272)
stonstad 2023-02-09 18:58 |
Confirmed that this behavior persists in 3.1.7. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2503 | [NoesisGUI] Unity3D | minor | always | 2023-02-07 00:26 | 2023-03-27 12:14 |
Reporter: | tylerwsavatronix | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | feedback | Product Version: | 3.1.5 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2 | ||||
Platform: | Any | ||||
Summary: | NoesisView component fields not all accessible from code | ||||
Description: |
It looks like the Enable PPAA and Subpixel Rendering checkboxes on the NoesisView component in the editor are not accessible from code. Consider the following: var noesisView = MainGuiCamera.gameObject.AddComponent<NoesisView>(); I'd expect to be able to set every field/property that I can set in the editor to also be accessible in code, which is especially important when creating the camera dynamically instead of at design time (in my particular use case, the only thing added to the scene at design time is a ScriptContainer gameobject which contains my startup behavior script. Everything else is dynamic). So something like noesisView.EnablePPAA = true; noesisView.UseSubpixelRendering = true; |
||||
Tags: | |||||
Steps To Reproduce: |
In a new Unity project Create a new camera object In code: Get a reference to the camera object (or create one in code) Attach a NoesisView component to the camera Attempt to set "Enable PPAA" and/or SubpixelRendering in code See there is no surfaced field/property for those two. |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008270)
jsantos 2023-02-09 17:42 |
This is exposed in the RenderFlags property of NoesisView. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2502 | [NoesisGUI] Unity3D | feature | N/A | 2023-02-07 00:15 | 2023-03-27 12:14 |
Reporter: | tylerwsavatronix | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2.0 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2 | ||||
Platform: | Any | ||||
Summary: | Unity New Input System Action XAML support | ||||
Description: |
As requested by JSantos in the thread https://www.noesisengine.com/forums/viewtopic.php?t=2852#p15211 I'm opening up a ticket for how XAML could be extended to support Unity's new input system, specifically actions. The specific example I gave was using the Menu3d example and modifying it with a possible way Actions could be supported. Specifically line 144 of MainMenu.xaml from <b:KeyTrigger Key="Esc" ActiveOnFocus="True"> <b:PlaySoundAction Source="Sounds/WaterDropBig.mp3" Volume="0.5"/> <b:InvokeCommandAction Command="{Binding Exit}"/> </b:KeyTrigger> to <b:ActionTrigger Action="MenuBack" ActiveOnFocus="True"> <b:PlaySoundAction Source="Sounds/WaterDropBig.mp3" Volume="0.5"/> <b:InvokeCommandAction Command="{Binding Back}"/> </b:ActionTrigger > Ideally anyplace in Noesis that accepts a "Key=" attribute should also accept an Action (whether that be a straight alternative, or a new trigger). It looks like Unreal has a similar concept for input actions as well, so keeping Unity and Unreal as close as feasible in terms of usage within Noesis is probably a good idea. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2500 | [NoesisGUI] C++ SDK | minor | have not tried | 2023-02-02 17:31 | 2023-03-27 12:14 |
Reporter: | jsantos | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2 | ||||
Platform: | Any | ||||
Summary: | Disable/bypass the thread checks on objects | ||||
Description: |
When using noesis with jobs the check against thread-safety don't make sense as the job can be executed in different threads in each frame or even the same thread. We should expose a way to disable this check (at compile time, by API or both) |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2487 | [NoesisGUI] C++ SDK | block | always | 2023-01-10 09:40 | 2023-03-27 12:14 |
Reporter: | Logris | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2.0 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2 | ||||
Platform: | Windows | ||||
Summary: | (3.20b1) Noesis::Shutdown() crashes | ||||
Description: |
https://www.noesisengine.com/forums/viewtopic.php?t=2837&sid=c0a18aa6c93c94b8f8cb1d651bbd14e1 minidump https://drive.google.com/file/d/1IqJidZX5cA75qySJGuZzP0fiOuzeg985/view?usp=share_link |
||||
Tags: | C++, crash, Directx11 | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008196)
jsantos 2023-01-10 13:31 |
Thanks for the report. 1. Are you able to reproduce this in one of our examples? 2. Could you please double check this is not happening with 3.1.6 ? |
(0008199)
Logris 2023-01-10 17:40 |
1. It is difficult 2. Crashes after migration to version 3.2.0b1. The Application code has not changed. You can provide a debug version Noesis_d.dll + Noesis_d.lib + Noesis_d.pdb? |
(0008201)
sfernandez 2023-01-11 13:21 |
Hi, would it be possible to get your application built, so we can execute it ourselves? That way we can use a debug version of Noesis and make changes to narrow the problem. |
(0008203)
Logris 2023-01-11 14:28 |
The debug version will be enough app.exe + MinimumContent? |
(0008204)
sfernandez 2023-01-11 16:12 |
Yes, whatever minimum files that are needed to launch your application, and that crash on shutdown, would be enough, thanks. |
(0008209)
Logris 2023-01-15 13:36 |
https://drive.google.com/file/d/1oU1W5K0-dCxV059D6-B5ZuK5MbKI7iUj/view?usp=sharing Run app - start.bat We have implemented a multi-window interface with WindowEx class. For these purposes, we have slightly changed the code NoesisApp::D3D11RenderContext::Init() Each window has its own NoesisApp::D3D11RenderContext but all NoesisApp::D3D11RenderContext use one Noesis::RenderDevice (singleton). Perhaps because of this crash. in Noesis 2 - 3.1.6 it works fine |
(0008211)
sfernandez 2023-01-16 18:38 |
I was able to fix the crash inside Shutdown and generated a new patched library: https://drive.google.com/file/d/1OakiKAz5w8IOMfyHR3meWPnWeKg6SbHk/view?usp=share_link Anyway, before Shutdown was called I hit an assert while debugging caused by releasing a BaseRefCounted object that was already deleted. Adding some logs it looks it was the RenderDevice. You should verify that you are not deleting the RenderDevice object while there are Ptr still holding a reference. And also, after Noesis Shutdown finished, some code in your Engine.dll was trying to get the name of a type (Type::GetName()) when all types were already deleted, so it was also crashing. Let me know if you can fix those issues and then everything closes as expected. |
(0008219)
jsantos 2023-01-17 18:24 (Last edited: 2023-01-17 18:24) |
Just a clarification, if you store the renderer in a Ptr<> it will be automatically destroyed. It is dangerous to invoke manual deletes on BaseComponent instances. If you want to make sure the instance is being destroyed you can do something like: int32_t refs = obj->Release(); assert(refs == 0); |
(0008222)
Logris 2023-01-18 17:16 |
Hello Patched the build completes successfully. The negative number of refs was due to //mRenderer.Reset(); mRenderer->Release(); in D3D11RenderContext::Shutdown() I did not hesitate to change Reset to Release, but I had to remove this line. There was another problem. Leaks. NOESIS[W]: Memory leaks detected: 4112 bytes. The error appeared in this build. |
(0008226)
jsantos 2023-01-19 14:15 |
I can't repro this in our examples. Could you isolate this because I would say, the leaks are real. |
(0008231)
Logris 2023-01-19 20:22 |
Noesis::GUI::SetFontDefaultProperties(11.f, FontWeight_Light, FontStretch::FontStretch_Normal, FontStyle::FontStyle_Normal); Noesis::Init(); Noesis::Shutdown(); "NOESIS[I]: Noesis Shutdown. NOESIS[W]: Memory leaks detected: 4112 bytes." Noesis::Init(); Noesis::GUI::SetFontDefaultProperties(11.f, FontWeight_Light, FontStretch::FontStretch_Normal, FontStyle::FontStyle_Normal); Noesis::Shutdown(); Refs = 0!!!! OK |
(0008234)
sfernandez 2023-01-20 11:41 |
The leak comes from creating symbols before the call to Noesis::Init. We'll analyze how to improve this. |
(0008236)
jsantos 2023-01-20 11:54 |
The temp workaround is calling *Noesis::GUI::SetFontDefaultProperties* after Noesis::GUI::Init |
(0008237)
Logris 2023-01-20 13:07 |
Ok, thanks. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2483 | [NoesisGUI] C++ SDK | minor | always | 2023-01-02 12:49 | 2023-03-27 12:14 |
Reporter: | jsantos | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1.6 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2 | ||||
Platform: | Any | ||||
Summary: | Memory leak removing Font provider | ||||
Description: |
From https://www.noesisengine.com/forums/viewtopic.php?t=2821 So, I figured out the memory leak issue. It is indeed a bug in our code, but a very odd one, so I suggest you to take a look into it on your side as well or at least document it. First, while picking apart literally everything inside our resources, I noticed the memory leak only happens if there are TextBlock or TextBox objects in the resources (e.g. in some control templates). The more instances of TextBlock/Box there are the larger the leak. Then, while trying to remove as much code as possible between load and Shutdown, I noticed we have following lines that are absent from your examples: Noesis::GUI::SetTextureProvider(0); Noesis::GUI::SetXamlProvider(0); Noesis::GUI::SetFontProvider(0); This code wasn't written by me, but I never paid attention, because it looked like a reasonable thing to do. Turns out it isn't :) Setting Font provider to null like this causes a memory leak on Shutdown if I have TextBlocks inside resources! It is also reproducible in your examples, simply by adding GUI::SetFontProvider(0); before Shutdown |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2478 | [NoesisGUI] C++ SDK | feature | always | 2022-12-15 17:22 | 2023-03-27 12:14 |
Reporter: | manuel | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1.5 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2 | ||||
Platform: | Windows | ||||
Summary: | Binding.NotifyOnTargetUpdated and Binding.TargetUpdated event are not implemented | ||||
Description: |
Whenever I try to use Binding.NotifyOnTargetUpdated I got "Unknown member Binding.NotifyOnTargetUpdated". I could find quite old forum threads about the same topic, so there might already be a bug ticket about this. According to these forum threads, this feature just has never been implemented: https://www.noesisengine.com/forums/viewtopic.php?t=452 https://www.noesisengine.com/forums/viewtopic.php?p=9611 |
||||
Tags: | |||||
Steps To Reproduce: |
In my case, I try to animate a ListBox's position to always center the selected entry. So... any kind of EventTrigger of type TargetUpdated and an animation with NotifyOnTargetUpdated will do. Here is my code as an example: <ListBox.Triggers> <EventTrigger RoutedEvent="Binding.TargetUpdated"> <BeginStoryboard Name="MoveAnimation"> <Storyboard> <DoubleAnimation To="{Binding SelectedEpisodeIndex}, NotifyOnTargetUpdated=True}" Storyboard.TargetProperty="RenderTransform.X" Duration="00:00:00.250000" FillBehavior="HoldEnd" IsAdditive="True" IsCumulative="True"/> <DoubleAnimation To="{Binding SelectedEpisodeIndex}, NotifyOnTargetUpdated=True}" Storyboard.TargetProperty="RenderTransform.Y" Duration="00:00:00.250000" FillBehavior="HoldEnd" IsAdditive="True" IsCumulative="True"/> </Storyboard> </BeginStoryboard> </EventTrigger> </ListBox.Triggers> |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2477 | [NoesisGUI] C# SDK | major | always | 2022-12-13 09:48 | 2023-03-27 12:14 |
Reporter: | peerlessDJ | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1.5 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2 | ||||
Platform: | Windows | ||||
Summary: | FormattedText accessed invalid memory for the text | ||||
Description: | When i implemented a custom TickBar, show error text | ||||
Tags: | C# | ||||
Steps To Reproduce: | please see uploaded files | ||||
Additional Information: | |||||
Attached Files: |
1670570849699.png (9,614 bytes) 2022-12-13 09:48 https://www.noesisengine.com/bugs/file_download.php?file_id=1723&type=bug 1670570838845.png (57,611 bytes) 2022-12-13 09:48 https://www.noesisengine.com/bugs/file_download.php?file_id=1724&type=bug 1670570787644.png (4,296 bytes) 2022-12-13 09:48 https://www.noesisengine.com/bugs/file_download.php?file_id=1725&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2476 | [NoesisGUI] C# SDK | minor | have not tried | 2022-12-13 06:54 | 2023-03-27 12:14 |
Reporter: | jphyzic | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1.4 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2 | ||||
Platform: | Any | ||||
Summary: | DependencyProperty.AddOwner fails without default value, invalid callback registration | ||||
Description: |
Calling DependencyProperty.AddOwner for user-defined DP with PropertyMetadata without specifying default value causes runtime exception. Calling DependencyProperty.AddOwner for user-defined DP with PropertyMetadata with default value and a property change callback causes parent DP value changed callback to be called with arguments from type that called AddOwner. |
||||
Tags: | |||||
Steps To Reproduce: |
See forum post: https://www.noesisengine.com/forums/viewtopic.php?t=2813 public partial class UserControlA : UserControl { public static readonly DependencyProperty ValueProperty = DependencyProperty.Register("Value", typeof(int), typeof(UserControlA), new PropertyMetadata(5, OnValueChanged)); ... } public partial class UserControlB : UserControl { public static readonly DependencyProperty ValueProperty = UserControlA.ValueProperty.AddOwner(typeof(UserControlB), new PropertyMetadata(OnValueChanged)); ... } Instantiating both of these classes in XAML causes runtime exception. Specifying default value in UserControlB DP registration causes UserControlA.OnValueChanged to be called when UserControlB.Value changes. |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2471 | [NoesisGUI] C++ SDK | minor | always | 2022-11-28 17:44 | 2023-03-27 12:14 |
Reporter: | manuel | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1.5 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2 | ||||
Platform: | Windows | ||||
Summary: | ItemCollection does not expose the Count property | ||||
Description: |
Whenever I try to access the Count property of an ItemCollection, I got the following error: Can't solve PropertyPath: Type 'ItemCollection' does not contain a property named 'Count' |
||||
Tags: | |||||
Steps To Reproduce: |
Link to the forum entry where I asked for help with this issue: https://www.noesisengine.com/forums/viewtopic.php?t=2802 |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2470 | [NoesisGUI] Unity3D | trivial | always | 2022-11-27 16:51 | 2023-03-27 12:14 |
Reporter: | stonstad | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1.5 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2 | ||||
Platform: | Any | ||||
Summary: | Texture Import Fails to Remove Alpha | ||||
Description: |
I'm stumped as to what could have changed, or why alpha is not being removed from these images. Maybe it is user error, but it isn't clear to me why. 1.png Directory of PNG images. 2.png Image settings with alpha enabled. 3.png Image resource dictionary 4.png XAML usage 5.png Code behind 6.png result |
||||
Tags: | |||||
Steps To Reproduce: |
1.png - Directory of PNG images. 2.png - Image settings with alpha enabled. 3.png - Image resource dictionary 4.png - XAML usage 5.png - Code behind 6.png - Screenshot of rectangle/image without alpha. style_2_25.png - Enclosed sample image |
||||
Additional Information: | |||||
Attached Files: |
1.png (173,203 bytes) 2022-11-27 16:51 https://www.noesisengine.com/bugs/file_download.php?file_id=1715&type=bug 2.png (84,045 bytes) 2022-11-27 16:51 https://www.noesisengine.com/bugs/file_download.php?file_id=1716&type=bug 3.png (773,096 bytes) 2022-11-27 16:51 https://www.noesisengine.com/bugs/file_download.php?file_id=1717&type=bug 4.png (109,625 bytes) 2022-11-27 16:51 https://www.noesisengine.com/bugs/file_download.php?file_id=1718&type=bug 5.png (35,857 bytes) 2022-11-27 16:51 https://www.noesisengine.com/bugs/file_download.php?file_id=1719&type=bug 6.png (166,965 bytes) 2022-11-27 16:51 https://www.noesisengine.com/bugs/file_download.php?file_id=1720&type=bug style_2_25.png (49,833 bytes) 2022-11-27 16:51 https://www.noesisengine.com/bugs/file_download.php?file_id=1721&type=bug image.png (728,600 bytes) 2022-11-28 16:22 https://www.noesisengine.com/bugs/file_download.php?file_id=1722&type=bug |
||||
Notes | |
(0008177)
sfernandez 2022-11-28 10:40 |
We need to use textures with premultiplied alpha. In Unity we do that automatically to all textures marked with the Noesis label as described in our tutorial: https://www.noesisengine.com/docs/Gui.Core.Unity3DTutorial.html#texture-assets Can you check that? |
(0008178)
jsantos 2022-11-28 13:29 |
I think we could find a way to detect when textures used by Noesis don't have the "noesis" label and emit a warning |
(0008179)
stonstad 2022-11-28 16:22 |
*slaps forehead* Things are so easy with Noesis and I just forgot this step! Thanks guys. |
(0008185)
stonstad 2022-12-16 21:49 |
Thank you for the assistance. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2460 | [NoesisGUI] Unity3D | minor | always | 2022-11-15 12:11 | 2023-03-27 12:14 |
Reporter: | Killian | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1.5 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2 | ||||
Platform: | Windows | ||||
Summary: | Opacity groups with effects show artifacts / don't render as expected | ||||
Description: |
There a thread in the forum which describes the issue the best way possible. https://www.noesisengine.com/forums/viewtopic.php?t=2787 |
||||
Tags: | C#, Rendering, Unity, Unity URP, WPF | ||||
Steps To Reproduce: | Please go to the link above in the description to find XAML code for _xamltoy_ to reproduce the issue. | ||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2443 | [NoesisGUI] Unreal | block | always | 2022-10-14 21:04 | 2023-03-27 12:14 |
Reporter: | dlamb | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2 | ||||
Platform: | Any | ||||
Summary: | Image.Source property does not resolve absolute URI with http scheme | ||||
Description: |
WPF Image controls will display images retrieved at runtime from server locations by setting or binding their Source property to a string that represents an http schemed absolute URI. Ideally, http schemed URIs would also work for SVG images once support for that image type is added. |
||||
Tags: | |||||
Steps To Reproduce: |
Include the following Image tag in your page and notice it does display an image in the blend designer, however when the page is rendered in game the image fails to load and a LogNoesis warning appears to mention that the image not found <Image Source="https://www.noesisengine.com/images/uploaded/pages/home-home_p1-main.png"></Image> |
||||
Additional Information: | |||||
Attached Files: |
image.png (9,749 bytes) 2022-10-14 21:04 https://www.noesisengine.com/bugs/file_download.php?file_id=1694&type=bug image-2.png (24,113 bytes) 2022-10-14 21:04 https://www.noesisengine.com/bugs/file_download.php?file_id=1695&type=bug image-3.png (17,985 bytes) 2022-10-14 21:04 https://www.noesisengine.com/bugs/file_download.php?file_id=1696&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2415 | [NoesisGUI] Unity3D | minor | always | 2022-09-12 12:10 | 2023-03-27 12:14 |
Reporter: | DevFear | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1.5 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2 | ||||
Platform: | Any | ||||
Summary: | Binding TranslateTransform in Style | ||||
Description: | When working with the User Control style. When TranslateTransform is bound to an element property, then in Blend the layout is updated under the change of this property. But in Unity, the binding seems to disappear and TranslateTransform does not work. There are no errors in the logs. | ||||
Tags: | |||||
Steps To Reproduce: |
<Style TargetType="{x:Type local_windows:BaseLocalWindow}"> <Setter Property="Width" Value="320" /> <Setter Property="Height" Value="430" /> <Setter Property="Background" Value="{DynamicResource LowerLevel}" /> <Setter Property="RenderTransform"> <Setter.Value> <TransformGroup> <TranslateTransform X="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=local_windows:BaseLocalWindow}, Path=OffsetX, Mode=OneWay}" Y="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=local_windows:BaseLocalWindow}, Path=OffsetY, Mode=OneWay}" /> </TransformGroup> </Setter.Value> </Setter> </Style> |
||||
Additional Information: | |||||
Attached Files: |
Style.PNG (16,348 bytes) 2022-09-12 12:10 https://www.noesisengine.com/bugs/file_download.php?file_id=1679&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2396 | [NoesisGUI] C# SDK | minor | have not tried | 2022-08-15 03:54 | 2023-03-27 12:14 |
Reporter: | colin14321 | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1.5 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2 | ||||
Platform: | Any | ||||
Summary: | Missing Property in TabControl | ||||
Description: | The Noesis.TabControl is currently missing the SelectedContentStringFormat property in comparison to WPF. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2395 | [NoesisGUI] C# SDK | minor | have not tried | 2022-08-15 03:53 | 2023-03-27 12:14 |
Reporter: | colin14321 | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1.5 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2 | ||||
Platform: | Any | ||||
Summary: | Missing Virtual Methods In Tab Control | ||||
Description: |
The Noesis.TabControl is currently missing in comparison to WPF : OnItemsChanged event OnSelectionChanged event |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2393 | [NoesisGUI] Unity3D | crash | always | 2022-08-03 11:07 | 2023-03-27 12:14 |
Reporter: | Sybaris | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1.4 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2 | ||||
Platform: | Any | ||||
Summary: | Calling any Noesis methods without calling Noesis.GUI.Init() first, results in a Unity crash | ||||
Description: |
This happens for example in Unity Unit Tests. Calling ParseXaml() without initialization first, makes Unity crash. It would be helpful if the method would throw an exception with a text ala "Call Noesis.GUI.Init() first!". |
||||
Tags: | |||||
Steps To Reproduce: |
Create a Unity Unit Test. Call ParseXaml() with a valid XAML file. -> Unity crashes. |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2391 | [NoesisGUI] C# SDK | minor | have not tried | 2022-08-02 18:01 | 2023-03-27 12:14 |
Reporter: | colin14321 | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1.5 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2 | ||||
Platform: | Any | ||||
Summary: | Add DispatcherTimer from System.Windows.Threading | ||||
Description: | Missing DispatcherTimer from System.Windows.Threading. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2346 | [NoesisGUI] C++ SDK | feature | have not tried | 2022-05-12 10:20 | 2023-03-27 12:14 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1.4 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2 | ||||
Platform: | Any | ||||
Summary: | Implement VirtualizingWrapPanel | ||||
Description: |
Implement virtualization for WrapPanel. C# reference: https://www.nuget.org/packages/VirtualizingWrapPanel/ https://www.codeproject.com/Articles/75847/Virtualizing-WrapPanel Implementing a VirtualPanel tutorial: 1. https://docs.microsoft.com/en-us/archive/blogs/dancre/implementing-a-virtualized-panel-in-wpf-avalon 2. https://docs.microsoft.com/en-us/archive/blogs/dancre/implementing-a-virtualizingpanel-part-2-iitemcontainergenerator 3. https://docs.microsoft.com/en-us/archive/blogs/dancre/implementing-a-virtualizingpanel-part-3-measurecore 4. https://docs.microsoft.com/en-us/archive/blogs/dancre/implementing-a-virtualizingpanel-part-4-the-goods |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2344 | [NoesisGUI] C++ SDK | tweak | always | 2022-05-10 16:48 | 2023-03-27 12:14 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1.4 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2 | ||||
Platform: | Any | ||||
Summary: | Avoid using offscreen textures for Image+OpacityMask | ||||
Description: |
Right now everytime an OpacityMask is defined we create an offscreen texture that is then combined with the mask. But there are cases where it could be optimized, for example when applied to an image we can directly draw the image texture. |
||||
Tags: | |||||
Steps To Reproduce: |
<Image Source="test.png"> <Image.OpacityMask> <LinearGradientBrush StartPoint="0,0" EndPoint="0,1"> <GradientStop Offset="0" Color="#FF000000"/> <GradientStop Offset="1" Color="#00000000"/> </LinearGradientBrush> </Image.OpacityMask> </Image> |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2340 | [NoesisGUI] C++ SDK | feature | always | 2022-04-29 19:15 | 2023-03-27 12:14 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1.4 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2 | ||||
Platform: | Any | ||||
Summary: | Create ShortcutTrigger that works well with focused TextBoxes | ||||
Description: |
Using KeyBindings for shortcuts has many limitations if not using Ctrl modifiers when focus is inside TextBoxes. Because shortcut letters won't be written into the text box (see https://stackoverflow.com/questions/33133485/wpf-keybinding-swallowing-keys-preventing-textbox-use). The alternative of using a KeyTrigger presents the opposite problem, because when the TextBox is focused the letters will be correctly added, but the trigger will also fire and execute its actions. To avoid these problems we need to implement a trigger that is aware of TextBox/PasswordBox being focused before trying to invoke the actions, something like this: void ShortcutTrigger::OnKeyPress(BaseComponent*, const Noesis::KeyEventArgs& e) { if (GetKey() == e.key && CheckModifiers() && Noesis::DynamicCast<Noesis::TextBox*>(e.source) == 0 && Noesis::DynamicCast<Noesis::PasswordBox*>(e.source) == 0) { InvokeActions(0); } } |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2320 | [NoesisGUI] C# SDK | major | always | 2022-04-05 16:18 | 2023-03-27 12:14 |
Reporter: | peerlessDJ | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1.5 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2 | ||||
Platform: | Any | ||||
Summary: | ManagedSDK can't play sounds | ||||
Description: |
I try to build Menu3D-windows (include Buttons, RadialMenu), run it and can't play sounds |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2299 | [NoesisGUI] Unity3D | major | always | 2022-03-05 18:26 | 2023-03-27 12:14 |
Reporter: | Jirdus | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | feedback | Product Version: | 3.1.2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2 | ||||
Platform: | Any | ||||
Summary: | An element using Transform3D is not rendered if the container in which it is contained has the Blur effect set. | ||||
Description: |
If I have a wrapping container that has Blur effect set, child elements in it that use Transform3D are not rendered (or parts of them that do not have Z==0). Same result in Unity and XamlToy. |
||||
Tags: | blur, effect, Rendering, Transform3D, TranslateZ | ||||
Steps To Reproduce: |
This is blurred correctly (A.png): [code] <StackPanel Orientation="Horizontal"> <Rectangle Width="300" Height="200" Fill="CadetBlue" Margin="10"> <noesis:Element.Transform3D> <noesis:CompositeTransform3D RotationY="-30" TranslateZ="-75" CenterX="150" /> </noesis:Element.Transform3D> <Rectangle.Effect> <BlurEffect Radius="{Binding Value, ElementName=radius}"/> </Rectangle.Effect> </Rectangle> </StackPanel> [/code] This will only display the part of the rectangle where Z==0 (B.png): <StackPanel Orientation="Horizontal"> <StackPanel.Effect> <BlurEffect Radius="{Binding Value, ElementName=radius}"/> </StackPanel.Effect> <Rectangle Width="300" Height="200" Fill="CadetBlue" Margin="10"> <noesis:Element.Transform3D> <noesis:CompositeTransform3D RotationY="-30" TranslateZ="-75" CenterX="150" /> </noesis:Element.Transform3D> </Rectangle> </StackPanel> |
||||
Additional Information: | |||||
Attached Files: |
A.png (30,529 bytes) 2022-03-05 18:26 https://www.noesisengine.com/bugs/file_download.php?file_id=1596&type=bug B.png (11,125 bytes) 2022-03-05 18:26 https://www.noesisengine.com/bugs/file_download.php?file_id=1597&type=bug |
||||
Notes | |
(0007831)
jsantos 2022-03-07 15:03 (Last edited: 2022-03-07 15:03) |
Applying 2D-effects on top of 3D-transformation is not recommended as the 3D information is removed (so for example, if you observe your XAML under Virtual Reality, I think the results would be unexpected). We are going to analyze this with more detail. But I am not sure there is going to be an easy solution. |
(0008308)
stonstad 2023-02-24 15:10 |
Jsantos, are there any workarounds to allow applying a blur effect to a framework element that has a transform? |
(0008313)
jsantos 2023-02-27 12:33 (Last edited: 2023-02-27 12:35) |
There are no workaround for this. As mentioned above, we are not sure if there is a solution for this scenario. Applying a 2D effect (BLUR) to a 3D geometry, requires projection the 3D geometry, and that would break VR. So for now, you need to move the effect under the 3D Transformation. Is that a valid option for you? |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2244 | [NoesisGUI] C# SDK | feature | always | 2022-01-19 15:11 | 2023-03-27 12:14 |
Reporter: | asthomas | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1.2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2 | ||||
Platform: | Any | ||||
Summary: | Portability suggestions - InitializeComponent and ConnectEvent | ||||
Description: |
I am looking at porting a substantial application from WPF to Noesis. I have some suggestions that I think would make this easier, and eliminate the need for NOESIS-specific code in the window setup (at least in simple cases). 1. Make InitializeComponent virtual for Window, so it only needs to be overridden in cases where the default it not enough. The default could be: <code> protected virtual void InitializeComponent() { GUI.LoadComponent(this, this.GetType().Name + ".xaml"); } </code> 2. Provide a default implementation for ConnectEvent that does the appropriate reflection to automatically add the event handler method to the event, something like this: <code> protected virtual bool ConnectEvent(object source, string eventName, string handlerName) { EventInfo eventInfo = source.GetType().GetEvent(eventName); MethodInfo method = this.GetType().GetMethod(handlerName, BindingFlags.NonPublic | BindingFlags.Instance); if (eventInfo != null && method != null) { System.Type tDelegate = eventInfo.EventHandlerType; System.Delegate d = System.Delegate.CreateDelegate(tDelegate, this, method); eventInfo.AddEventHandler(source, d); return true; } return false; } </code> |
||||
Tags: | C# | ||||
Steps To Reproduce: | |||||
Additional Information: | https://www.noesisengine.com/forums/viewtopic.php?p=13852 | ||||
Attached Files: | |||||
Notes | |
(0007751)
jsantos 2022-01-20 13:01 |
We also have plans to add something similar to ConnectEvent but for x:Name items, something like ConnectVar. If we are able to make this work for all platforms, the proposed solution in this ticket will allow us to leave InitializeComponent empty, without having to use an extra #ifdef for this. I am excited about this :) |
(0007832)
jsantos 2022-03-07 19:24 |
Thinking more about this, we could do the same in C++, just adding to the reflection each event and each named member. And then the reflection mechanism would connect them, following exactly the same implementation for both C# and C++. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2175 | [NoesisGUI] C++ SDK | feature | always | 2021-10-29 12:04 | 2023-03-27 12:14 |
Reporter: | Ringo | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2 | ||||
Platform: | UWP | ||||
Summary: | Feature Request: UWP ARM64 support | ||||
Description: |
Currently, Noesis provides uwp_arm, uwp_x86 and uwp_x86_64 binaries. The missing piece is uwp_arm64, please add it. My app is 64-bit only, and I would like to support ARM devices like Surface Pro X. Such devices are not yet capable to emulate x64 code. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2149 | [NoesisGUI] C# SDK | minor | always | 2021-10-15 12:37 | 2023-03-27 12:14 |
Reporter: | milo | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2 | ||||
Platform: | Any | ||||
Summary: | Textblock.IsHyphenationEnabled property does not work. | ||||
Description: | Textblock.IsHyphenationEnabled property does not work. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007836)
jsantos 2022-03-07 20:17 |
https://android.googlesource.com/platform/external/hyphenation-patterns/ |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1398 | [NoesisGUI] Unity3D | feature | N/A | 2019-01-23 11:20 | 2023-03-27 12:14 |
Reporter: | Khonan | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | feedback | Product Version: | 2.1.0f1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2 | ||||
Platform: | Any | ||||
Summary: | Feature Request : DatagridView | ||||
Description: |
DataGridView are not implemented and I use a lot of them ;) Be great to get them exported ;) |
||||
Tags: | DataGridView | ||||
Steps To Reproduce: | Try to make a Datagridview in unity from an XAML :) | ||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0005416)
nokola 2019-01-24 23:01 |
Quick idea: You might be able to modify this source to self-implement DataGrid https://github.com/MicrosoftArchive/SilverlightToolkit/tree/master/Release/Silverlight5/SampleSource/Controls/Controls.Samples/DataGrid |
(0005419)
Khonan 2019-01-25 14:37 |
Thanks, I'll have a look. May be in the wpf source code too : https://github.com/dotnet/wpf |
(0005420)
nokola 2019-01-25 16:41 |
good point! |
(0007375)
Flem100@live.dk 2021-08-23 14:52 (Last edited: 2021-08-23 14:52) |
I would also love to get Datagrid in Noesis. Does anyone have a working ported version they could share, or something similar even? (Would love to have autogenerated columns though) I looked into the WPF source code for Datagrid. That's too difficult for me, sadly... |
(0007376)
sfernandez 2021-08-23 16:36 |
Have you tried ListView? |
(0007379)
Flem100@live.dk 2021-08-24 12:04 |
I actually thought it wasn't supported with the GridView inside. Mostly because your own example (Scoreboard) didn't use it. I have now tested the ListView with GridView and it works just fine. Now I need to figure a way to generate the columns based on the fields of the objects. Am I so lucky that you already have an example of that (or just a hint perhaps) or do I need to use my own brain? :) I started creating my own little control which basically worked but needs a lot of work so I would rather use an existing control and ListView should be the way. I just need to add the following code somehow: objects = new List<Item>() { new Item { Id = 1, Name = "Item1" }, new Item { Id = 2, Name = "Item2" } }; int currentRowIndex = 0; foreach (var obj in objects) { int currentColumnIndex = 0; g_Root.RowDefinitions.Add(new RowDefinition()); foreach (PropertyInfo pi in obj.GetType().GetProperties()) { g_Root.ColumnDefinitions.Add(new ColumnDefinition()); TextBlock tb = new TextBlock(); tb.Text = obj.GetType().GetProperty(pi.Name).GetValue(obj).ToString(); g_Root.Children.Add(tb); Grid.SetRow(tb, currentRowIndex); Grid.SetColumn(tb, currentColumnIndex); currentColumnIndex++; } currentRowIndex++; } |
(0007381)
Flem100@live.dk 2021-08-24 13:57 (Last edited: 2021-08-25 14:28) |
Okay it was fairly simple: object obj = collectionOfWhateverTypeOfObjects.First(); gv_Data.Columns.Clear(); foreach (PropertyInfo pi in obj.GetType().GetProperties()) { var column = new GridViewColumn() { Header = pi.Name, DisplayMemberBinding = new Binding(pi.Name) }; gv_Data.Columns.Add(column); } lv_Data.ItemsSource = collectionOfWhateverTypeOfObjects; One problem though. It works fine on the Blend-side, but you seem to have another version of the Binding class which doesn't fit the normal used in DisplayMemberBinding. To fix the problem I found this post https://www.noesisengine.com/forums/viewtopic.php?f=3&t=1868&p=12469&hilit=DisplayMemberBinding#p12469 That worked :) |
(0007382)
sfernandez 2021-08-25 12:25 |
Great, thanks for sharing your solution. |
(0008043)
colin14321 2022-08-15 18:37 |
Hi there, The current project I am currently working on porting from WPF to Noesis utilizes a lot of datagrid. I am working on changing them to ListView, however I was wondering if the DataGrid has plans of being implemented in the future? Thank you! |
(0008044)
sfernandez 2022-08-16 11:33 |
Implementing DataGrid was not planned because using a ListView covers the same scenarios most of the time. If you think having DataGrid is necessary for your project we can add this task for a future release after our next major version. |
(0008046)
nokola 2022-08-16 18:46 |
Not having a DataGrid is OK with me - I implemented the functionality I needed with some combination of list/other views |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1376 | [NoesisGUI] C++ SDK | minor | always | 2018-12-18 14:14 | 2023-03-27 12:14 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2 | ||||
Platform: | Any | ||||
Summary: | Value returned by IValueConverter not converted to target type | ||||
Description: |
Binding should convert value returned by IValueConverter to the target type if there is a default type converter available. https://www.noesisengine.com/forums/viewtopic.php?f=3&t=1544 |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1337 | [NoesisGUI] C# SDK | minor | have not tried | 2018-10-30 13:13 | 2023-03-27 12:14 |
Reporter: | Djekke | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | feedback | Product Version: | 3.0 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2 | ||||
Platform: | Any | ||||
Summary: | Error: Cannot implicitly convert type 'Noesis.Binding' to 'Noesis.BindingExpressionBase' | ||||
Description: |
Issue occurred, when I tried to create a simple converter for dynamic creation of ListView columns from List<string>. > DisplayMemberBinding = new Binding("[" + column + "]") Steps to Reproduce: public object Convert(object value, System.Type targetType, object parameter, System.Globalization.CultureInfo culture) { if (value is List<string> config) { var grdiView = new GridView(); foreach (string column in config) { grdiView.Columns.Add( new GridViewColumn { Header = column, DisplayMemberBinding = new Binding("[" + column + "]") }); } return grdiView; } return Binding.DoNothing; } |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0005319)
sfernandez 2018-11-22 13:50 |
In Noesis DisplayMemberBinding contains a BindingExpression, so you would need to do this:public object Convert(object value, System.Type targetType, object parameter, System.Globalization.CultureInfo culture) { if (value is List<string> config) { var gridView = new GridView(); foreach (string column in config) { GridViewColumn col = new GridViewColumn { Header = column}); BindingOperations.SetBinding(col, GridViewColumn.ColumnProperty, new Binding("[" + column + "]")); gridView.Columns.Add(col); } return gridView; } return Binding.DoNothing; } We will investigate how to expose the type of that property correctly as a Binding object for a future release. |
(0006962)
Djekke 2021-01-19 13:57 |
Sorry for late response. After creating this report I found a workaround for my case that uses entirely different approach and forgot about it. Sadly, later I encountered this problem from different angle, but at that time I found solution on forum https://www.noesisengine.com/forums/viewtopic.php?t=1868 But now that solution doesn't work anymore too. So, how am I supposed to dynamically create binding for DisplayMemberBinding property of GridViewColumn? |
(0006963)
sfernandez 2021-01-19 14:18 (Last edited: 2021-01-19 14:19) |
The code will look like this:public class ProvideValueTarget : IServiceProvider, IProvideValueTarget { public object TargetObject { get; set; } public object TargetProperty { get; set; } public object GetService(System.Type serviceType) { if (serviceType == typeof(IProvideValueTarget)) return this; return null; } } void UpdateColumnBinding(GridViewColumn column, string path) { Binding binding = new Binding(path); column.DisplayMemberBinding = (BindingExpression)binding.ProvideValue(new ProvideValueTarget { TargetObject = null, TargetProperty = null }); } |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2392 | [NoesisGUI] C++ SDK | minor | always | 2022-08-02 21:16 | 2023-03-17 18:57 |
Reporter: | AnKor | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1.5 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1.7 | ||||
Platform: | Any | ||||
Summary: | Noesis::GUI::Shutdown complains about objects created in another thread | ||||
Description: |
Calling Noesis::GUI::Shutdown reports cross-thread access errors for various objects if Views were created (or theme loaded) in a different thread: [NOESIS/I] Noesis Shutdown [NOESIS/E] The calling thread (***) cannot access this DispatcherObject because a different thread (***) owns it The issue has been discussed on the forum: https://www.noesisengine.com/forums/viewtopic.php?t=2664 "It is related to the control templates defined in the theme, there are some objects that are not correctly detached from the creation thread." |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
Main-InitThread.zip (3,787 bytes) 2022-08-02 21:16 https://www.noesisengine.com/bugs/file_download.php?file_id=1673&type=bug Main-UpdateThread.zip (4,015 bytes) 2022-08-02 21:16 https://www.noesisengine.com/bugs/file_download.php?file_id=1674&type=bug |
||||
Notes | |
(0008350)
AnKor 2023-03-17 18:57 |
Today I've got a very similar threading error, but this time it is more severe because it happens when using keyboard to move the Slider thumb. Easily reproduced with the same Main-InitThread sample I already attached. Just replace Main.cpp in the "Integration" sample with the one from the archive and change "#if 0" to "#if 1" at line 261 to enable all functionality. Then run it, go to Video or Audio tab, click on any slider and try to move it by pressing left or right on the keyboard. I'm getting 3 errors like this: [NOESIS/E] The calling thread (6512) cannot access this InputBinding because a different thread (8296) owns it Can you advice are these real errors or can be ignored? |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2537 | [NoesisGUI] Unity3D | minor | always | 2023-03-15 01:31 | 2023-03-15 01:57 |
Reporter: | stonstad | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.0 | ||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Create -> NoesisGUI -> UserControl ... Creates Circular Dependency | ||||
Description: | See attached screenshot. Easy to fix, not a big deal. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
image.png (135,111 bytes) 2023-03-15 01:31 https://www.noesisengine.com/bugs/file_download.php?file_id=1781&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2536 | [NoesisGUI] Unity3D | minor | always | 2023-03-15 00:58 | 2023-03-15 01:46 |
Reporter: | stonstad | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.0 | ||
Target Version: | |||||
Platform: | Any | ||||
Summary: | 3.2 RC1 Importer Warnings and Error | ||||
Description: |
The property 'importerOverride' in file: 'Assets/Samples/CustomRender/MainWindow.xaml.meta' was not parsed as a Scalar YAML value, please ensure this value is saved in the file as a Scalar value. Outputting YAML: fileFormatVersion: 2 guid: 64b4bcd3c7b059e478ddea3ed52ae78c importerOverride: nativeImporterType: 2089858483 scriptedImporterType: serializedVersion: 2 Hash: 5a320a62e80bfe9e4099f01825219764 ScriptedImporter: internalIDToNameTable: [] externalObjects: {} serializedVersion: 2 userData: assetBundleName: assetBundleVariant: script: {fileID: 11500000, guid: 588a2920a0444fa4db46ce8339acffd4, type: 3} The property 'importerOverride' in file: 'Assets/Samples/Rive/Milky Boba.otf.meta' was not parsed as a Scalar YAML value, please ensure this value is saved in the file as a Scalar value. Outputting YAML: fileFormatVersion: 2 guid: 9cf577558a393f24191b72e03260cc6d importerOverride: nativeImporterType: 2089858483 scriptedImporterType: serializedVersion: 2 Hash: c6937578d324b79d2ca1725d010043d4 TrueTypeFontImporter: externalObjects: {} serializedVersion: 4 fontSize: 16 forceTextureCase: -2 characterSpacing: 0 characterPadding: 1 includeFontData: 1 fontNames: [] fallbackFontReferences: [] customCharacters: fontRenderingMode: 0 ascentCalculationMode: 1 useLegacyBoundsCalculation: 0 shouldRoundAdvanceValue: 1 userData: assetBundleName: assetBundleVariant: The property 'importerOverride' in file: 'Assets/Samples/Rive/MainWindow.xaml.meta' was not parsed as a Scalar YAML value, please ensure this value is saved in the file as a Scalar value. Outputting YAML: fileFormatVersion: 2 guid: 12475109c4e4d0842acebf50b4d9bf8b importerOverride: nativeImporterType: 2089858483 scriptedImporterType: serializedVersion: 2 Hash: 5a320a62e80bfe9e4099f01825219764 ScriptedImporter: internalIDToNameTable: [] externalObjects: {} serializedVersion: 2 userData: assetBundleName: assetBundleVariant: script: {fileID: 11500000, guid: 588a2920a0444fa4db46ce8339acffd4, type: 3} The property 'importerOverride' in file: 'Assets/Samples/WorldSpaceUILegacy/LayoutRoot.xaml.meta' was not parsed as a Scalar YAML value, please ensure this value is saved in the file as a Scalar value. Outputting YAML: fileFormatVersion: 2 guid: a908a70baf65a0942a7e1fbf0e0f05ab importerOverride: nativeImporterType: 2089858483 scriptedImporterType: serializedVersion: 2 Hash: 5a320a62e80bfe9e4099f01825219764 ScriptedImporter: internalIDToNameTable: [] externalObjects: {} serializedVersion: 2 userData: assetBundleName: assetBundleVariant: script: {fileID: 11500000, guid: 588a2920a0444fa4db46ce8339acffd4, type: 3} The property 'importerOverride' in file: 'Assets/Samples/WorldSpaceUILegacy/WristPanel.xaml.meta' was not parsed as a Scalar YAML value, please ensure this value is saved in the file as a Scalar value. Outputting YAML: fileFormatVersion: 2 guid: 79f0cf888e537fb49861a48e07dc6a83 importerOverride: nativeImporterType: 2089858483 scriptedImporterType: serializedVersion: 2 Hash: 5a320a62e80bfe9e4099f01825219764 ScriptedImporter: internalIDToNameTable: [] externalObjects: {} serializedVersion: 2 userData: assetBundleName: assetBundleVariant: script: {fileID: 11500000, guid: 588a2920a0444fa4db46ce8339acffd4, type: 3} The property 'importerOverride' in file: 'Assets/Samples/WorldSpaceUILegacy/ObjectPanel.xaml.meta' was not parsed as a Scalar YAML value, please ensure this value is saved in the file as a Scalar value. Outputting YAML: fileFormatVersion: 2 guid: 1482e0c0aedb6294595c97c83b3cb14d importerOverride: nativeImporterType: 2089858483 scriptedImporterType: serializedVersion: 2 Hash: 5a320a62e80bfe9e4099f01825219764 ScriptedImporter: internalIDToNameTable: [] externalObjects: {} serializedVersion: 2 userData: assetBundleName: assetBundleVariant: script: {fileID: 11500000, guid: 588a2920a0444fa4db46ce8339acffd4, type: 3} Unexpected timestamp values detected. This can occur in H.264 videos not encoded with the baseline profile. Timestamps will be skewed to correct the playback for D:/Source/Noesis/My project/Assets/Samples/VideoEffect/Particles.mp4 [NOESIS/E] Assets/Samples/Rive/MainWindow.xaml(66,7): Font not found './#Milky Boba' UnityEngine.Debug:LogError (object,UnityEngine.Object) NoesisUnity:UnityLog (int,string) (at Noesis 3.2.0/Runtime/NoesisUnity.cs:360) Noesis.GUI:LoadComponent (object,string) (at Noesis 3.2.0/Runtime/API/Core/NoesisGUI.cs:344) NoesisUnity:LoadComponent (object,string) (at Noesis 3.2.0/Runtime/NoesisUnity.cs:273) Rive.MainWindow:InitializeComponent () (at Assets/Samples/Rive/MainWindow.xaml.cs:26) Rive.MainWindow:.ctor () (at Assets/Samples/Rive/MainWindow.xaml.cs:20) (wrapper dynamic-method) object:lambda_method (System.Runtime.CompilerServices.Closure) Noesis.Extend:CreateInstance (intptr,intptr) (at Noesis 3.2.0/Runtime/API/Core/Extend.cs:5723) Noesis.GUI:LoadXaml (System.IO.Stream,string) (at Noesis 3.2.0/Runtime/API/Core/NoesisGUI.cs:292) NoesisXaml:Load () (at Noesis 3.2.0/Runtime/NoesisXaml.cs:17) NoesisPostprocessor/<>c__DisplayClass1_1:<OnPostprocessAllAssets>b__0 () (at Noesis 3.2.0/Editor/NoesisPostprocessor.cs:41) UnityEditor.EditorApplication:Internal_CallUpdateFunctions () |
||||
Tags: | |||||
Steps To Reproduce: | No idea if this is user error on my part. I'm just getting started w/ 3.2. I copied the samples folder into .\assets. | ||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008347)
jsantos 2023-03-15 01:04 |
Unity version? |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2534 | [NoesisGUI] C++ SDK | major | always | 2023-03-11 19:16 | 2023-03-13 12:36 |
Reporter: | Ringo | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.0 | ||
Target Version: | 3.2.0 | ||||
Platform: | Any | ||||
Summary: | ToolBar overflow is empty | ||||
Description: |
Was quickly checking the beta, looks good. But there is a serious regression for ToolBar. When it is overflown, the overflow popup is always empty. Works as expected in stable 3.1.6 version. |
||||
Tags: | |||||
Steps To Reproduce: |
1. Create ToolBar 2. Fill with some items for toolbar to overflow 3. Open overflow 4. Observe empty popup |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2532 | [NoesisGUI] Unity3D | minor | always | 2023-03-09 23:33 | 2023-03-09 23:33 |
Reporter: | maherne | Platform: | |||
Assigned To: | maherne | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.0 | ||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Previews fail on MacOS after changing scene | ||||
Description: |
As reported on the forums: https://www.noesisengine.com/forums/viewtopic.php?t=2879&sid=bc74bfb80390f609ee15378366eb324c When using MacOS, the first time I select a XAML file from an example in 3.2.0b6 I can see a rendered preview. When I open another scene from another example and select a XAML file, no preview is rendered and I get a null texture passed to GUI.DrawTexture, ArgumentNullException: Value cannot be null. Parameter name: mesh error. I don’t see this error under Windows. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2315 | [NoesisGUI] C# SDK | major | always | 2022-03-25 09:38 | 2023-03-09 19:46 |
Reporter: | anton.sodergren_pdx | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.0.11 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1.7 | ||||
Platform: | Any | ||||
Summary: | CollectionSortBehavior outputs empty collection in Blend | ||||
Description: |
When using CollectionSortBehavior to display collections as sorted, the displayed collection is completely empty when showing it in Blend. Even if the source collection of the behavior is populated with data, when an ItemsControl has its ItemsSource bound to the CollectionSortBehavior, the displayed list will be completely empty. This works fine when displaying the GUI in the real application (in C++), but not in Blend. See this forum post: https://www.noesisengine.com/forums/viewtopic.php?f=3&t=2574&p=14055#p14051 |
||||
Tags: | Noesis.GUI.Extensions | ||||
Steps To Reproduce: |
1. Add a CollectionSortBehavior to a window XAML file, like this: <b:Interaction.Behaviors> <noesis:CollectionSortBehavior x:Name="SortBehavior" ItemsSource="{Binding MyCollection}" Comparer="{Binding MyComparer}" /> </b:Interaction.Behaviors> 2. Make sure that MyCollection is a collection populated with data and that MyComparer is a valid comparer object. 3. Bind the source collection to a list view, like this: <ListView x:Name="MyListView" ItemsSource="{Binding MyCollection}" /> 4. View the list view in the designer window, or start the application within Blend to preview how it looks. 5. Notice that the data of the collection is properly displayed in the list view. 6. Change the list view so that it is instead bound to the output of the CollectionSortBehavior, like this: <ListView x:Name="MyListView" ItemsSource="{Binding SortedItems, ElementName=SortBehavior}" /> 7. View how the list view looks and notice that the list view is now instead displayed as empty. 8. Start the real Noesis application. 9. Notice that the list view is now properly displayed, with sorting applied. |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007882)
jsantos 2022-03-28 20:16 |
Sorry for the delay on this. Team is still traveling back from GDC. By the way @sfernandez, I don't know if apart from fixing this we should also implement CollectionView at some point. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2531 | [NoesisGUI] Unity3D | major | always | 2023-03-08 17:11 | 2023-03-08 22:30 |
Reporter: | stonstad | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.7 | ||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Noesis Post Processor Missing | ||||
Description: | Please see enclosed screenshot. The Noesis post processor tag is missing. | ||||
Tags: | |||||
Steps To Reproduce: | Upgraded to Noesis 3.1.7. | ||||
Additional Information: | |||||
Attached Files: |
image.png (165,680 bytes) 2023-03-08 17:11 https://www.noesisengine.com/bugs/file_download.php?file_id=1779&type=bug |
||||
Notes | |
(0008333)
stonstad 2023-03-08 17:12 |
Nevermind, found by searching. I guess this is a Unity thing. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2528 | [NoesisGUI] C++ SDK | minor | have not tried | 2023-03-06 18:59 | 2023-03-07 00:09 |
Reporter: | steveh | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.2.0 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Suggestion: Storyboard::IsPlayingOrQueued | ||||
Description: |
Hi guys, We have several situations where we want to check if the Storyboard is playing or is due to play during the next update. I think the following would work: bool Storyboard::InternalIsPlayingOrQueued(FrameworkElement* target) const { Controllables::ConstIterator it = mControllables.Find(target); if (it != mControllables.End()) { Clock* clock = it->value; NS_ASSERT(clock != 0); return clock->GetCurrentState() == ClockState_Active || clock->GetCurrentState() == ClockState_Stopped; } return false; } I think checking for stopped clocks is enough since that's what they default to, and they will be set to activate during the next tick. This is pretty useful when we want to kick off animations then later on run some conditional logic depending on whether the animations are currently playing or not. Cheers -Steven |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008326)
jsantos 2023-03-06 23:37 |
Hi Steve, is there any plan to update to the stable 3.2 (out of beta planned for next week) ? |
(0008327)
steveh 2023-03-06 23:47 |
Hey Jesús, I doubt it, we're at the stage in the project now where all third party libraries are pretty locked in stone. We'd have to have a good reason to upgrade at this point, e.g. critical bug fixes which can't be individually pulled from SVN. |
(0008328)
jsantos 2023-03-07 00:09 |
Yes, that makes sense. Thanks for the information. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2418 | [NoesisGUI] Inspector | feature | N/A | 2022-09-13 11:42 | 2023-03-03 21:12 |
Reporter: | satorp | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.3 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.6 | ||
Target Version: | 3.1.6 | ||||
Platform: | Any | ||||
Summary: | Add an option to limit Inspector target to local applications only | ||||
Description: |
Currently Inspector "Connect to..." dialog will list all applications on the same network (subnet), which is useful for scenarios where remote inspection is necessary. But in a team environment where - Several developers on the same network may use Inspector simultaneously - Developers mostly use Inspector to debug local applications the list will show too many similar targets, and it's unclear which application should be chosen as a target. It will be nice if there's an option to limit the list to local applications only. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
InspectorConnectToDialog.png (101,940 bytes) 2022-09-14 11:11 https://www.noesisengine.com/bugs/file_download.php?file_id=1681&type=bug |
||||
Notes | |
(0008066)
jsantos 2022-09-13 13:11 |
Thanks for this report! Could you please attach a screenshot with what you see in the "Connect to..." dialog? Just to think possible solutions and also to improve UX. |
(0008070)
satorp 2022-09-14 11:11 |
Here is a screenshot of the dialog depicting 3 different applications (different colors) being run on several machines. One possible solution is to add a checkbox to enable IP address filtering (only show address of local machine). It will be also helpful if we can sort the list (e.g. by clicking on the list headers). |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2484 | [NoesisGUI] C# SDK | minor | always | 2023-01-04 14:22 | 2023-03-03 19:18 |
Reporter: | sumel007 | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1.6 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1.7 | ||||
Platform: | Any | ||||
Summary: | TextBlock.BaseLineOffset is not available | ||||
Description: | TextBlock.BaselineOffset is not implemented and using it in xaml prints an error. | ||||
Tags: | |||||
Steps To Reproduce: | Create a textblock and set BaselineOffset to any value. | ||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2524 | [NoesisGUI] C++ SDK | minor | always | 2023-03-01 10:52 | 2023-03-01 11:08 |
Reporter: | maherne | Platform: | |||
Assigned To: | maherne | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.0 | ||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Add support for Visual Studio 2022 in Blend projects | ||||
Description: |
Currently none of the Blend projects, in our SDK and samples, support Visual Studio 2022, due to targeting .net framework 4.5 - which is out of support. Fix this by selecting the .net framework version based on the Visual Studio version. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2521 | [NoesisGUI] C# SDK | major | always | 2023-02-23 17:06 | 2023-03-01 10:38 |
Reporter: | voula_d | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.7 | ||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Adding controls to canvas dynamically not working | ||||
Description: |
I'm trying to add controls to a canvas by dynamically loading xaml. But no controls are added to the canvas, or rather I can see that they are added as Children but never get rendered. I get the following error in the output: Null item added to UIElementCollection. The following link contains code that reproduces the issue. https://drive.google.com/file/d/1XU4QjiElK47VUMmFRtn2_j2yXBDbcFxS/view?usp=sharing |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008303)
sfernandez 2023-02-23 19:40 |
The error message indicates that you are trying to add a null object to the UIElement collection. Debugging a bit your application I realized that you are redefining the UserControl type to point to NoesisUserControl: using UserControl = Noesis.Portability.NoesisUserControl; And the xaml you are dynamically loading is a plain UserControl, but when adding it to the Canvas you are casting to NoesisUserControl (because of the type redefinition), so the cast returns null. Changing the cast to UIElement for example will fix it: theCanvas.Children.Add(child as UIElement); |
(0008305)
voula_d 2023-02-24 09:37 |
You are absolutely right and I am sorry for the silly mistake. The sample now works but our production scenario is a lot more complex and it still does not work as expected, i.e. controls are not added to the canvas dynamically. I will try to reproduce our problem again and will get back to you. Thank you. |
(0008317)
jsantos 2023-03-01 10:38 |
Marking this as solved. If necessary, please, open a new ticket with a more specific problem. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2334 | [NoesisGUI] Unity3D | minor | always | 2022-04-14 20:35 | 2023-02-28 12:31 |
Reporter: | Oxlamon | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.4 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.0 | ||
Target Version: | 3.2.0 | ||||
Platform: | Windows | ||||
Summary: | Bug in inventory system | ||||
Description: |
1. Noesis GUI 3.1.4 installed. 2. Fresh github tutorials downloaded. 3. Two exceptions while run inventory sample. [code] [NOESIS/E] Binding failed: Path=IsDragOver, Source=InventoryViewModel(''), Target=Inventory.DropItemBehavior(''), TargetProperty=Inventory.DropItemBehavior.IsDragOver UnityEngine.Debug:LogError (object,UnityEngine.Object) NoesisUnity:UnityLog (int,string) (at D:/Downloads/NoesisGUI-Unity-3.1.4-Indie/Runtime/NoesisUnity.cs:357) Noesis.FrameworkElement:set_DataContext (object) (at D:/Downloads/NoesisGUI-Unity-3.1.4-Indie/Runtime/API/Proxies/FrameworkElement.cs:534) InventoryViewModel:Start () (at Assets/NoesisGUI/Samples/Inventory/InventoryViewModel.cs:312) [NOESIS/E] Binding failed: Path=MoveFocus, Source=InventoryViewModel(''), Target=NoesisApp.PropertyChangedTrigger(''), TargetProperty=NoesisApp.PropertyChangedTrigger.Binding UnityEngine.Debug:LogError (object,UnityEngine.Object) NoesisUnity:UnityLog (int,string) (at D:/Downloads/NoesisGUI-Unity-3.1.4-Indie/Runtime/NoesisUnity.cs:357) Noesis.FrameworkElement:set_DataContext (object) (at D:/Downloads/NoesisGUI-Unity-3.1.4-Indie/Runtime/API/Proxies/FrameworkElement.cs:534) InventoryViewModel:Start () (at Assets/NoesisGUI/Samples/Inventory/InventoryViewModel.cs:312) [/code] Minimum xaml example: [code]<UserControl x:Class="Inventory.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="clr-namespace:Inventory" xmlns:noesis="clr-namespace:NoesisGUIExtensions;assembly=Noesis.GUI.Extensions" x:Name="Root"> <UserControl.Resources> <Style x:Key="Style.EquipSlot" TargetType="{x:Type ContentControl}"> <Setter Property="noesis:StyleInteraction.Behaviors"> <Setter.Value> <noesis:StyleBehaviorCollection> <local:DropItemBehavior IsDragOver="{Binding IsDragOver, Mode=OneWayToSource}" DropCommand="{Binding DataContext.DropItem, ElementName=Root}"/> </noesis:StyleBehaviorCollection> </Setter.Value> </Setter> </Style> </UserControl.Resources> </UserControl> [/code] give error: [code] [NOESIS/E] Binding failed: Path=IsDragOver, Source=InventoryViewModel(''), Target=Inventory.DropItemBehavior(''), TargetProperty=Inventory.DropItemBehavior.IsDragOver UnityEngine.Debug:LogError (object,UnityEngine.Object) NoesisUnity:UnityLog (int,string) (at D:/Downloads/NoesisGUI-Unity-3.1.4-Indie/Runtime/NoesisUnity.cs:357) Noesis.FrameworkElement:set_DataContext (object) (at D:/Downloads/NoesisGUI-Unity-3.1.4-Indie/Runtime/API/Proxies/FrameworkElement.cs:534) InventoryViewModel:Start () (at Assets/NoesisGUI/Samples/Inventory/InventoryViewModel.cs:312) [/code] |
||||
Tags: | |||||
Steps To Reproduce: |
Minimum xaml example (for inventory project): [code]<UserControl x:Class="Inventory.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="clr-namespace:Inventory" xmlns:noesis="clr-namespace:NoesisGUIExtensions;assembly=Noesis.GUI.Extensions" x:Name="Root"> <UserControl.Resources> <Style x:Key="Style.EquipSlot" TargetType="{x:Type ContentControl}"> <Setter Property="noesis:StyleInteraction.Behaviors"> <Setter.Value> <noesis:StyleBehaviorCollection> <local:DropItemBehavior IsDragOver="{Binding IsDragOver, Mode=OneWayToSource}" DropCommand="{Binding DataContext.DropItem, ElementName=Root}"/> </noesis:StyleBehaviorCollection> </Setter.Value> </Setter> </Style> </UserControl.Resources> </UserControl> [/code] give error: [code] [NOESIS/E] Binding failed: Path=IsDragOver, Source=InventoryViewModel(''), Target=Inventory.DropItemBehavior(''), TargetProperty=Inventory.DropItemBehavior.IsDragOver UnityEngine.Debug:LogError (object,UnityEngine.Object) NoesisUnity:UnityLog (int,string) (at D:/Downloads/NoesisGUI-Unity-3.1.4-Indie/Runtime/NoesisUnity.cs:357) Noesis.FrameworkElement:set_DataContext (object) (at D:/Downloads/NoesisGUI-Unity-3.1.4-Indie/Runtime/API/Proxies/FrameworkElement.cs:534) InventoryViewModel:Start () (at Assets/NoesisGUI/Samples/Inventory/InventoryViewModel.cs:312) [/code] |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008275)
sfernandez 2023-02-13 12:05 |
Those are binding error logs (there is a bug related to those errors we have to fix), but they shouldn't affect the execution of the sample. Is there anything else in the sample that is not working for you? |
(0008276)
sfernandez 2023-02-13 12:07 |
Hi @miZyind, you also mentioned having trouble with this sample, anything else apart from the binding error logs? |
(0008278)
miZyind 2023-02-14 05:32 |
Hello @sfernandez, I used to get the runtime error on v3.1.6. When running the sample, only the background image appears on the screen without interactive objects. However, I didn't record the error in detail at that time. After I downloaded the latest v3.1.7, the sample worked properly with only the ignorable binding error left. In short, this sample is working fine for me now, thanks for your help! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1613 | [NoesisGUI] Unity3D | feature | N/A | 2020-01-03 11:44 | 2023-02-27 17:59 |
Reporter: | Gwynneth | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.5 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.0 | ||
Target Version: | 3.1 | ||||
Platform: | Any | ||||
Summary: | Expose OnRender | ||||
Description: |
To create Decorators without the OnRender method I devised a setup as explained here: [url]https://www.noesisengine.com/forums/viewtopic.php?f=3&t=1420&p=8316&hilit=Decorator+OnRender#p8316[/url] Unfortunately, this method only works partially, i.e. with static content there is no problem at all, but with dynamic content the control cannot be made to shrink to fit the content. I've tried numerous things to get it to work properly but I think I need to conclude that without the OnRender method custom Decorators will simply not work properly. |
||||
Tags: | Decorator | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007212)
KeldorKatarn 2021-05-03 14:36 |
OnRender is also pretty important to create some custom panels and other controls in my experience. I've used it in several projects to create some additional containers that draw separators and other stuff. This is definitely something I might eventually need as well. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2523 | [NoesisGUI] Unity3D | feature | N/A | 2023-02-24 21:49 | 2023-02-27 11:50 |
Reporter: | Aliakbar | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Implementing RichTextBox | ||||
Description: | I want to implement a Text editor (something like Microsoft word) and I need RichTextBox | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2435 | [NoesisGUI] C++ SDK | feature | N/A | 2022-09-29 16:29 | 2023-02-26 17:28 |
Reporter: | jsantos | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.5 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.6 | ||
Target Version: | 3.1.6 | ||||
Platform: | Any | ||||
Summary: | Add support for a second texture in custom Shader Brushes | ||||
Description: |
Right now only the texture corresponding to the Image associated to the brush can be samples in a custom shader. We should extend this to, at least, support a secondary texture. Note that this texture will use the same UV coordinates than the first one. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008164)
jsantos 2022-11-17 20:57 |
Added a SetTexture method to BrushShader, this way, new texture dependency properties can be created in new brushes.public static readonly DependencyProperty TextureProperty = DependencyProperty.Register( "Texture", typeof(ImageSource), typeof(NoiseBrush), new PropertyMetadata(null, OnTextureChanged)); private static void OnTextureChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { if (d is NoiseBrush brush) { brush.SetTexture((ImageSource)e.NewValue, 0); } } The extra texture is passed in the t4 register: Texture2D input: register(t4); SamplerState inputSampler: register(s4); half4 GetCustomPattern(in In i) { return input.Sample(inputSampler, i.uv0); } |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1848 | [NoesisGUI] C++ SDK | minor | always | 2020-11-26 17:47 | 2023-02-26 17:28 |
Reporter: | jsantos | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | suspended | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1 | ||||
Platform: | Any | ||||
Summary: | Implement support for Google Stadia | ||||
Description: | Implement support for Google Stadia | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2389 | [NoesisGUI] C++ SDK | feature | N/A | 2022-08-01 12:27 | 2023-02-23 18:44 |
Reporter: | jsantos | Platform: | |||
Assigned To: | OS: | ||||
Priority: | normal | OS Version: | |||
Status: | new | Product Version: | 3.1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Implement Accessibility and AutomationProperties | ||||
Description: |
As a long time, .NET developer one of the things, I have loved about XAML is its under-the-covers support for UI Automation through the AutomationProperties https://docs.microsoft.com/en-us/uwp/api/windows.ui.xaml.automation.automationproperties?view=winrt-22000 which in turn provides a ton of basic Accessibility support. https://docs.microsoft.com/en-us/dotnet/framework/ui-automation/ https://docs.microsoft.com/en-us/windows/win32/winauto/entry-uiauto-win32 Complying with Accessibility requirements like screen reader support and others is quite easy to achieve on many XAML platforms because of these AutomationProperties. Another beneficial side effect of those properties is the ability to run a variety of off-the-shelf automation test tools against the applications. Automated testing, and being able to use existing tools that are based on the UI Automation standards would be a very nice to have Here are just a couple of examples of common tools that are commonly used on many projects that leverage the UI Automation standards and the AutomationProperties: https://docs.microsoft.com/en-us/windows/win32/winauto/inspect-objects https://docs.microsoft.com/en-us/windows/win32/winauto/ui-automation-verify There are other standards that are also potentially relevant like this one for example: https://docs.microsoft.com/en-us/compliance/regulatory/offering-wcag-2-1 Appium is an open source test automation framework for use with native, hybrid and mobile web apps. https://appium.io/ |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2494 | [NoesisGUI] Unity3D | minor | always | 2023-01-17 05:07 | 2023-02-20 19:30 |
Reporter: | ckfinite | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.12 | ||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.0 | ||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Changing content from a DataTrigger causes a crash to desktop on destruction | ||||
Description: |
Taken from a larger example, [code] <Menu IsMainMenu="False"> <MenuItem ItemsSource="{Binding Items}"> <MenuItem.ItemContainerStyle> <Style TargetType="{x:Type MenuItem}" BasedOn="{StaticResource MenuItem}"> <Style.Triggers> <DataTrigger Binding="{Binding Property}" Value="False"> <Setter Property="Header" Value="{Binding Header}"/> </DataTrigger> <DataTrigger Binding="{Binding Property}" Value="True"> <Setter Property="Header"> <Setter.Value> <TextBlock/> </Setter.Value> </Setter> </DataTrigger> </Style.Triggers> </Style> </MenuItem.ItemContainerStyle> </MenuItem> </Menu> [/code] crashes Unity to desktop when it is destroyed (such as when the underlying viewmodel is changed). I suspect that the control created by the inactive setter is retained therein even after it is destroyed creating an invalid but retained reference that crashes the system upon its reuse. Refactoring this to use a datatemplate avoids the crash. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008283)
sfernandez 2023-02-14 14:36 |
I was unable to make Unity crash with latest version (3.1.7) of NoesisGUI. Anyway, setting the Header this way won't work because the <TextBlock> element can only be the child of a single MenuItem. If I create a test using that Style then I get an error message indicating that: "Child already has a logical parent". So the solution, as you already mentioned, is to use DataTemplates, that way a different visual tree for the header is generated from the template for each MenuItem. Would it be ok to close this ticket? |
(0008289)
ckfinite 2023-02-15 15:06 |
Yes, it's fine to close the ticket; I suspect that what was causing the crash was precisely they "has a logical parent" issue which wasn't correctly checked for in 3.0.12> Thank you for looking into it! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2282 | [NoesisGUI] Unreal | minor | always | 2022-02-14 19:08 | 2023-02-17 16:41 |
Reporter: | lowprofile | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1.7 | ||||
Platform: | Any | ||||
Summary: | [Unreal Editor] NoesisObjectWrapper cleanup interfering with view models data context cleanup | ||||
Description: |
We developed a way to create blueprint view models from XAML via custom "data context properties" elements. When we do so, we pass to the property the path to the blueprint class and the property instantiates an instance of that class dynamically : <UserControl x:Class="view.start_screen" common:DataContextProperty.DataContextBP="/Game/UI/Noesis/viewmodels/StartScreen/StartScreenViewModel.StartScreenViewModel_C"> </UserControl> void FDataContextProperty::OnLoadedBP(Noesis::BaseComponent* const InObj, Noesis::RoutedEventArgs const& /*InArgs*/) { Noesis::FrameworkElement* const Element = Noesis::DynamicCast<Noesis::FrameworkElement*>(InObj); checkf(Element != nullptr, TEXT("DataContextBP property can only be attached to only FrameworkElement")); Element->Loaded() -= OnLoadedBP; utils::FViewModelUtils::SetDataContext(Element, GetDataContextBP(Element).Str()); } void FDataContextProperty::OnDataContextBPChanged(Noesis::DependencyObject* const InObj, Noesis::DependencyPropertyChangedEventArgs const& /*InArgs*/) { Noesis::FrameworkElement* const Element = Noesis::DynamicCast<Noesis::FrameworkElement*>(InObj); checkf(Element != nullptr, TEXT("DataContextBP property can only be attached to only FrameworkElement")); if (Element->GetView()) { utils::FViewModelUtils::SetDataContext(Element, GetDataContextBP(InObj).Str()); } else { Element->Loaded() += OnLoadedBP; } Element->Initialized() += OnInitializedBP; } Now for those dynamically created blueprint view models to stay loaded, we have to keep a reference to them somewhere. To achieve that, we added a map in our parent NoesisInstance view that keeps references to all currently active blueprint view model instance. Each time we create a VM that way, we register it to that map so that it doesn't get garbage collected while that VM is in use : Noesis::Ptr<Noesis::BaseComponent> FUIViewModelLocator::CreateViewModel(FString const& InBlueprintPath) { checkf(!InBlueprintPath.IsEmpty(), TEXT("All BP view models should have a path")); UClass* BlueprintClass = LoadClass<UViewModelBase>(nullptr, *InBlueprintPath); if (BlueprintClass != nullptr) { UViewModelBase* BlueprintObj = NewObject<UViewModelBase>(GetTransientPackage(), BlueprintClass); Noesis::Ptr<Noesis::BaseComponent> DataContext = Noesis::Ptr<Noesis::BaseComponent>(NoesisCreateComponentForUObject(BlueprintObj)); H13NoesisInstance->AddViewModelInstance(BlueprintObj); return DataContext; } UE_LOG(LogSysNoesis, Error, TEXT("Failed to load blueprint view model class at %s"), *InBlueprintPath); return nullptr; } But obviously we then have to clean this up. ie. if we assign a different BP data context to something, or if we just remove elements that have those BP data context assigned, we have to remove their respective entries from the map (and allow garbage collection to now operate on those objects that are now no longer in use). To achieve this, we listen to the OnDestroy and OnPropertyChanged event on the element that the data context property is attached to. When those are called, we grab the element data context object as it was, remove it from the map, and reinstantiate a new one, in the case of the OnPropertychanged, for the new data context to assign. void FDataContextProperty::OnDestroyBP(Noesis::DependencyObject* const InDependencyObject) { Noesis::FrameworkElement* const Element = Noesis::DynamicCast<Noesis::FrameworkElement*>(InDependencyObject); checkf(Element != nullptr, TEXT("DataContextBP or DataContextBPShared property can only be attached to only FrameworkElement")); utils::FViewModelUtils::ClearDataContext(Element); Element->Destroyed() -= OnDestroyBP; } void FViewModelUtils::ClearDataContext(Noesis::FrameworkElement* const InFrameworkElement) { checkf(InFrameworkElement != nullptr, TEXT("We need a valid Framework element to clear the context from")); Noesis::BaseComponent* const DataContext = InFrameworkElement->GetDataContext(); // We might not have set any context on an element voluntarily if that element was for example created just for the UE editor (see other comments above) if (DataContext != nullptr) { UViewModelBase* const BlueprintObj = Cast<UViewModelBase>(NoesisCreateUObjectForComponent(DataContext)); // the Noesis instance is itself a view model that doesn't derive from UViewModelBase and can still call this method if (BlueprintObj != nullptr) { BlueprintObj->GetH13NoesisInstance()->GetViewModelLocator()->DestroyViewModel(BlueprintObj); } InFrameworkElement->SetDataContext(nullptr); } } void FUIViewModelLocator::DestroyViewModel(UViewModelBase* const BlueprintObj) { checkf(IsValid(BlueprintObj) && !BlueprintObj->IsUnreachable(), TEXT("Trying to destroy a null view model object")); BlueprintObj->OnDestruction(); H13NoesisInstance->RemoveViewModelInstance(BlueprintObj); } Now the problem comes when we shutdown the game (ie. press stop in the editor or just close down the editor while the game is being played). At that moment, we unload all our elements and all our UObjects at the same time. And when OnDestroy gets called on elements that are attached to a BP data context, that data context UObject has already been unloaded or is on the verge of being unloaded (ie. IsUnreachable returns true on it). So the FViewModelUtils::ClearDataContext method above, that would normally call NoesisCreateUObjectForComponent to convert from the BaseComponent attached to our custom property to the actual UObject it contains, fails, because NoesisCreateUObjectForComponent actually returns null at that point. Even worse, it can sometimes fail to DynamicCast the component into a NoesisObjectWrapper, since the NoesisObjectWrapper::GetClassType() method only returns a valid type if its wrapped UObject is actually still valid. This leads to NoesisCreateUObjectForComponent actually trying to reconstruct a new NoesisObjectWrapper causing an exception. To fix this, I added a new method to the NoesisTypeClass.h/cpp named NoesisHasUObjectForComponent. This method essentially does what NoesisCreateUObjectForComponent checks at the beginning but leaves out the rest like this : NOESISRUNTIME_API bool NoesisHasUObjectForComponent(Noesis::BaseComponent* Component) { if (Component == nullptr) return false; NoesisObjectWrapper* Wrapper = Noesis::DynamicCast<NoesisObjectWrapper*>(Component); if (Wrapper != nullptr) { return (ObjectMap.FindKey(Wrapper) != nullptr); } return false; } So if the wrapped object is already unloaded and the ObjectMap was already cleaned up, or if the DynamicCast fails and the returned wrapper variable is null, we return false. That way, I was able to change my initial FViewModelUtils::ClearDataContext method this way : void FViewModelUtils::ClearDataContext(Noesis::FrameworkElement* const InFrameworkElement) { checkf(InFrameworkElement != nullptr, TEXT("We need a valid Framework element to clear the context from")); Noesis::BaseComponent* const DataContext = InFrameworkElement->GetDataContext(); // We might not have set any context on an element voluntarily if that element was for example created just for the UE editor (see other comments above) if (DataContext != nullptr) { // we can be clearing data context as the UObject is also being destroyed, in which case Noesis might have already cleared its NoesisObjectWrapper part // in that case, NoesisHasUObjectForComponent should return false if (NoesisHasUObjectForComponent(DataContext)) { UViewModelBase* const BlueprintObj = Cast<UViewModelBase>(NoesisCreateUObjectForComponent(DataContext)); // the Noesis instance is itself a view model that doesn't derive from UViewModelBase and can still call this method if (BlueprintObj != nullptr) { BlueprintObj->GetH13NoesisInstance()->GetViewModelLocator()->DestroyViewModel(BlueprintObj); } } InFrameworkElement->SetDataContext(nullptr); } } This made it now work safely on shutdown. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008294)
hcpizzi 2023-02-17 16:41 |
I've added a function NoesisFindUObjectForComponent that you could use similarly to your proposed NoesisHasUObjectForComponent. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2496 | [NoesisGUI] Unity3D | minor | always | 2023-01-27 20:54 | 2023-02-14 12:08 |
Reporter: | stonstad | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.5 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.0 | ||
Target Version: | 3.2.0 | ||||
Platform: | Any | ||||
Summary: | NoesisViewEditor.OnPreviewGUI Crash | ||||
Description: |
On app domain reload I am getting the following exception: NullReferenceException: Object reference not set to an instance of an object at NoesisViewEditor.OnPreviewGUI (UnityEngine.Rect rect_, UnityEngine.GUIStyle background) [0x00076] in C:\Source\StellarConquest\StellarConquest.Utilities\Noesis\3.1.5\Editor\NoesisViewEditor.cs:215 at UnityEditor.Editor.OnInteractivePreviewGUI (UnityEngine.Rect r, UnityEngine.GUIStyle background) [0x00001] in <f7044ab663d344a2badf1160e57d1c1d>:0 at UnityEditor.ObjectPreview.DrawPreview (UnityEditor.IPreviewable defaultPreview, UnityEngine.Rect previewArea, UnityEngine.Object[] targets) [0x00363] in <f7044ab663d344a2badf1160e57d1c1d>:0 at UnityEditor.Editor.DrawPreview (UnityEngine.Rect previewArea) [0x00009] in <f7044ab663d344a2badf1160e57d1c1d>:0 at UnityEditor.PropertyEditor.DrawPreviewAndLabels () [0x0050f] in <f7044ab663d344a2badf1160e57d1c1d>:0 at UnityEngine.UIElements.IMGUIContainer.DoOnGUI (UnityEngine.Event evt, UnityEngine.Matrix4x4 parentTransform, UnityEngine.Rect clip GUILayout: Mismatched LayoutGroup.repaint Crash!!! SymInit: Symbol-SearchPath: 'C:/Program Files/Unity/Hub/Editor/2022.2.1f1/Editor/Data/Mono;.;C:\Source\StellarConquest\StellarConquest.Presentation.Unity;C:\Source\StellarConquest\StellarConquest.Presentation.Unity\Library\BurstCache\JIT;C:\Program Files\Unity\Hub\Editor\2022.2.1f1\Editor;C:\Windows;C:\Windows\system32;', symOptions: 534, UserName: 'Shaun Tonstad' |
||||
Tags: | |||||
Steps To Reproduce: | Encl. dump and error logs. | ||||
Additional Information: | |||||
Attached Files: |
Crash_2023-01-27_195208836.zip (904,513 bytes) 2023-01-27 20:54 https://www.noesisengine.com/bugs/file_download.php?file_id=1739&type=bug |
||||
Notes | |
(0008282)
sfernandez 2023-02-14 12:07 |
The native crash was related to the texture corruption bug we fixed for 3.1.7 (issue 0002495). The null reference exception in NoesisViewEditor can be fixed with the following patch: - GUI.Label(new Rect(rect_.x + 5, rect_.y + 5, rect_.width, rect_.height), view.Xaml.uri, _previewHeaderStyle); + string uri = view.Xaml != null ? view.Xaml.uri : "No XAML selected"; + GUI.Label(new Rect(rect_.x + 5, rect_.y + 5, rect_.width, rect_.height), uri, _previewHeaderStyle); |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2495 | [NoesisGUI] Unity3D | crash | always | 2023-01-19 20:35 | 2023-02-14 12:05 |
Reporter: | stonstad | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.5 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.7 | ||
Target Version: | 3.1.7 | ||||
Platform: | Any | ||||
Summary: | Texture Corruption Built Assembly | ||||
Description: |
This is a revival of the prior bug concerning runtime corruption of textures imported and used in Noesis due to an issue with texture pointers. This time, the bug manifests in built Unity players. I tried reimporting all UI textures and assets. While that previously fixed the issue in the editor, the issue manifests in all builds. It's an instant crash for the game's player. Encl. crash.dmp Encl. player.log Encl. screenshot of texture corruption. |
||||
Tags: | |||||
Steps To Reproduce: |
Encl. crash.dmp Encl. player.log Encl. screenshot of texture corruption. |
||||
Additional Information: | |||||
Attached Files: |
Stellar Conquest.zip (87,027 bytes) 2023-01-19 20:35 https://www.noesisengine.com/bugs/file_download.php?file_id=1737&type=bug Textures Corruption.jpg (1,235,147 bytes) 2023-01-19 20:35 https://www.noesisengine.com/bugs/file_download.php?file_id=1738&type=bug Editor Test Image.png (1,603,616 bytes) 2023-01-27 23:50 https://www.noesisengine.com/bugs/file_download.php?file_id=1740&type=bug |
||||
Notes | |
(0008232)
stonstad 2023-01-19 22:50 |
Just adding a note here that with this particular bug, it isn't possible to create a working Unity player. I'm available to perform any/all troubleshooting necessary to resolve this issue, as it is a release blocker. Thanks. |
(0008233)
stonstad 2023-01-19 22:53 |
The original issue w/ detail is here: https://www.noesisengine.com/bugs/view.php?id=2453 I tried a fresh Unity build but that did not work. This is happening in Unity 2022.2.1f1. |
(0008235)
jsantos 2023-01-20 11:48 |
Is this using D3D12? |
(0008238)
stonstad 2023-01-20 14:45 |
Initialize engine version: 2022.2.1f1 (4fead5835099) Direct3D: Version: Direct3D 11.0 [level 11.1] Renderer: NVIDIA GeForce RTX 4080 (ID=0x2704) Vendor: NVIDIA VRAM: 16064 MB Driver: 31.0.15.2802 |
(0008239)
stonstad 2023-01-21 22:17 |
I think this raises an important question -- what is it that I am doing that is different, even potentially incorrect compared to other Noesis users? 1. Is it specific to Unity version, meaning that other Noesis users have not released a build using Unity 2022.2.x or later? 2. Is it due to the quantity and type of images I am referencing in my image resource dictionaries? 3. Is it a Unity bug that manifests rarely? Jesus, should I run the scirpt the looks for texture pointer changes again, and have it dump to the log file within a build executable? |
(0008240)
jsantos 2023-01-24 18:31 |
So far, I don't know why this is happening on your project and not in others projects. I have been testing different scenarios today, I am unable to break anything (even using hundreds of textures). So, first thing we need to do is making sure we are in the same scenario as 0002453, so yes, please, run the script to search for pointer changes and let's focus in one texture only for now. |
(0008241)
jsantos 2023-01-24 18:31 |
Are you using more plugins that could interfering with us? |
(0008242)
stonstad 2023-01-25 00:00 |
I'm not aware of any plugins that might affect texture handles. I'll run the previous script and report back here. |
(0008243)
stonstad 2023-01-27 16:19 |
I'm working on this right now and I have some questions that might help me better identify a cause. - When is the texture memory address assigned? i.e. is this a real memory address that is assigned upon load to GPU memory, or is this a Unity handle assigned on import? - If the address is loaded incorrectly from the start, would I be able to detect a change? - These textures currently exist in a folder within assets. They are not in \Resources, and they are not part of an asset bundle. Is this OK? - Is there a way to get the texture handle from a Noesis ImageSource? This would let me cycle through all textures used in the UI and scan for handle changes. |
(0008244)
stonstad 2023-01-27 16:54 |
The texture pointer does not appear to be changed -- but incorrect textures are shown. i.e. instead of a weapon I see a player's hat as a rectangle's image source. Is there a way to reliably iterate through the resources in a resource dictionary? |
(0008245)
stonstad 2023-01-27 17:07 |
Your answers to these questions will definitely help me out. In the interim, I am going to send over a stripped down project. |
(0008246)
stonstad 2023-01-27 20:21 |
OK, the problem only manifests when images are created within a visual tree containing a top-level ViewBox which is programmatically sized. Still researching. |
(0008247)
stonstad 2023-01-27 20:25 (Last edited: 2023-01-27 20:47) |
This is likely not a Unity pointer issue. I think it is related to Noesis pointer arithmetic and how images (and underlying textures) are displayed in a visual tree with a transformation matrix. My reproduction workflow is to have a visual tree with the following: NoesisView -> UserControl -> ViewBox -> CustomUserControl -> WrapPanel -> { 100 Rectangles } - CustomUserControl sets its width/height based on a desired size and scaling ratio. I don't use Noesis scaling because it wasn't available when I built my UI. - If the rectangles have no brush set the compiled binary does NOT crash - If the rectangles are assigned textures the compiled binary DOES crash. This occurs in the editor, sometimes. However, it is consistent in binaries. - It appears that if the wrap panel does not exceed a certain dimension a crash does not occur. ** edit. This is not it. I have no idea why it selectively fails. |
(0008249)
jsantos 2023-01-28 02:01 |
Thanks for the time creating this repro! |
(0008252)
stonstad 2023-01-30 22:56 |
Were you able to reproduce the behavior with the test project? |
(0008253)
stonstad 2023-01-31 13:54 |
It appears that disabling mipmap generation stops texture commingling and crashes. |
(0008256)
jsantos 2023-02-02 17:59 |
We have been extremely busy with 3.2 Beta2 (planned for releasing today). After that, we will start testing your project. Thanks for your patience |
(0008258)
sfernandez 2023-02-03 21:09 |
I'm working on your repro project, building the player with our library in debug. Let's see if this provides some useful info. I'll keep you informed. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2501 | [NoesisGUI] C# SDK | minor | have not tried | 2023-02-03 16:32 | 2023-02-09 18:11 |
Reporter: | staublicht | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | feedback | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Data Tab for Sample Data does not show up in Blend for Visual Studio 2022 | ||||
Description: | Data Tab for Sample Data does not show up in Blend for Visual Studio 2022 | ||||
Tags: | |||||
Steps To Reproduce: | Open a project that has sample design data in VS 2022 Blend, like the Scoreboard demo | ||||
Additional Information: | |||||
Attached Files: |
vs2019.jpg (81,287 bytes) 2023-02-03 16:32 https://www.noesisengine.com/bugs/file_download.php?file_id=1744&type=bug |
||||
Notes | |
(0008271)
sfernandez 2023-02-09 18:11 |
The Data panel was something that was initially available in VS 2022 only for .NET Framework projects (not in .NET projects). But it seems Microsoft broke it in recent versions of VS 2022: https://developercommunity.visualstudio.com/t/triggers-and-data-window-not-available-in-blend-fo/1616950 And doesn't look as a priority for them to fix it. Right now the solution is to stick to VS 2019. We are also working on a long term solution, our own tool Noesis Studio, multiplatform, with better integration for Unreal/Unity and custom engines, and more Designer friendly. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2506 | [NoesisGUI] Unity3D | crash | random | 2023-02-08 18:34 | 2023-02-09 16:42 |
Reporter: | stonstad | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1.5 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Noesis.XamlProvider:Noesis_RaiseXamlChanged Crashes | ||||
Description: |
I keep getting crashes from Noesis when I edit XAML and then alt-tab back to the Unity editor. It happens about 40% of the time that I edit XAML. It has happened before, but never this bad. I am working in XAML today and I am on my fifth crash in an hour. ================================================================= Managed Stacktrace: ================================================================= at <unknown> <0xffffffff> at Noesis.XamlProvider:Noesis_RaiseXamlChanged <0x0011b> at Noesis.XamlProvider:RaiseXamlChanged <0x0016a> at NoesisXamlProvider:ReloadXaml <0x00182> at NoesisPostprocessor:ReloadXaml <0x00132> at <>c__DisplayClass1_1:<OnPostprocessAllAssets>b__0 <0x0038a> at UnityEditor.EditorApplication:Internal_CallUpdateFunctions <0x00327> at System.Object:runtime_invoke_void <0x00184> ================================================================= Received signal SIGSEGV Obtained 28 stack frames 0x00007ffecf79b53e (Noesis) MultiBindingExpression_UpdateSource 0x00007ffecf83c327 (Noesis) VirtualizationCacheLength_GetStaticType 0x00007ffecf84e9fc (Noesis) KeyboardFocusChangedEventArgs_OldFocus_get 0x00007ffecf84e95f (Noesis) KeyboardFocusChangedEventArgs_OldFocus_get 0x00007ffecf8110b7 (Noesis) Noesis_RenderDevice_SetRenderTarget 0x00007ffecf811e27 (Noesis) Noesis_RenderDevice_SetRenderTarget 0x00007ffecf8ad0e4 (Noesis) Noesis_RaiseTextureChanged |
||||
Tags: | |||||
Steps To Reproduce: | Encl. Crash Dump and Editor Logs | ||||
Additional Information: | |||||
Attached Files: |
Crash_2023-02-08_173044850.zip (796,286 bytes) 2023-02-09 00:35 https://www.noesisengine.com/bugs/file_download.php?file_id=1751&type=bug Crash_2023-02-08_224856654.zip (1,104,261 bytes) 2023-02-09 00:36 https://www.noesisengine.com/bugs/file_download.php?file_id=1752&type=bug Crash_2023-02-08_170327742.zip (714,752 bytes) 2023-02-09 00:37 https://www.noesisengine.com/bugs/file_download.php?file_id=1753&type=bug |
||||
Notes | |
(0008263)
sfernandez 2023-02-08 18:47 |
Could you please attach the crash dumps? |
(0008264)
stonstad 2023-02-09 00:35 |
|
(0008265)
stonstad 2023-02-09 00:36 |
|
(0008266)
stonstad 2023-02-09 00:37 |
|
(0008268)
stonstad 2023-02-09 16:42 |
I'm on 3.1.7. I'll report back if this behavior continues. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2473 | [NoesisGUI] C# SDK | major | always | 2022-11-30 13:31 | 2023-02-08 13:04 |
Reporter: | sumel007 | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.5 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.7 | ||
Target Version: | 3.1.7 | ||||
Platform: | Any | ||||
Summary: | OpenGLRenderDevice doesn't have sRGB parameter in C# constructor | ||||
Description: |
RenderDeviceGL constructor in C# is parameterless, even though in native SDK constructor we can determine if we want to use sRGB or not. Would it be possible to add this parameter to the C# constructor? We need this feature for our game. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2504 | [NoesisGUI] C++ SDK | feature | always | 2023-02-07 18:46 | 2023-02-07 20:06 |
Reporter: | Logris | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.0 | ||
Target Version: | 3.2.0 | ||||
Platform: | Windows | ||||
Summary: | RiveControl (Mouse Events) | ||||
Description: |
Add mouse message processing to RiveControl https://www.noesisengine.com/forums/viewtopic.php?t=2858 p.s. found a typo in RiveControl |
||||
Tags: | C++ | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
download.png (2,834 bytes) 2023-02-07 18:46 https://www.noesisengine.com/bugs/file_download.php?file_id=1745&type=bug Typo.png (13,822 bytes) 2023-02-07 18:50 https://www.noesisengine.com/bugs/file_download.php?file_id=1746&type=bug |
||||
Notes | |
(0008260)
Logris 2023-02-07 18:50 |
|
(0008262)
sfernandez 2023-02-07 20:06 |
Thanks for pointing out the bug in GetState(), I've fixed it too. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2366 | [NoesisGUI] C++ SDK | feature | always | 2022-06-27 21:09 | 2023-02-07 20:05 |
Reporter: | ext.smichalak | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.7 | ||
Target Version: | 3.1.7 | ||||
Platform: | Any | ||||
Summary: | Display::Close() for PlayStation and Xbox | ||||
Description: | Regarding this forum post: https://www.noesisengine.com/forums/viewtopic.php?t=2639 we would like to kindly ask you to implement `Display::Close()` for PlayStation and Xbox. We don't use this in production, it's needed for our test apps only. Thank you! | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1704 | [NoesisGUI] C# SDK | minor | sometimes | 2020-05-27 14:08 | 2023-02-02 17:31 |
Reporter: | ai_enabled | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | feedback | Product Version: | 3.0.0 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.0 | ||||
Platform: | Any | ||||
Summary: | Errors spam on NoesisGUI Shutdown | ||||
Description: |
Hi guys, we're still using the 3.0.0 RC6 build and why investigating some logs with the game stuck on exit I've noticed that sometimes there is a massive dump of entries like: The calling thread (18460) cannot access this object (TextBlock) because a different thread owns it (12484) The calling thread (18460) cannot access this object (ContentPresenter) because a different thread owns it (12484) The calling thread (7052) cannot access this object (View) because a different thread owns it (12484) I guess it's related to the .NET finalizer thread. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0006409)
jsantos 2020-05-28 11:12 (Last edited: 2020-05-28 11:12) |
And I assume you don't have a thread (12484) that is accessing a view created in a different thread , do you? |
(0006411)
ai_enabled 2020-05-28 16:03 |
@jsantos, I'm certain this cannot be the case. Our game engine is mostly single-threaded. Multiple threads are used only to load assets and perform similar loading tasks that don't affect UI or logic. The rest are kept in the main thread to keep me sane :-) Alas, I cannot reproduce this issue. I've searched my own logs folder (with two dozens of log files for the past two weeks) and found only a single log file where this issue appeared. And it never appeared in the debug version of the game (there is a hundred of log files for the past month)...so it's very random. I will update the task when I gather more info. |
(0006429)
jsantos 2020-06-08 14:08 |
12484, 18460 are numbers we get from the current thread ID. So I am 99% confident Noesis objects were accessed from those threads. I am not sure if we could have a bug here @sfernandez It would be really helpful if you could dump all your thread ids to the log. |
(0006430)
ai_enabled 2020-06-08 14:23 |
Could it be that the .NET finalizer thread is accessing these objects during the finalization stage? It's happening during the application shutdown only (and it's a very rare/random issue). I will add the logging of all the thread IDs on shutdown if I notice that this issue continues. |
(0006431)
jsantos 2020-06-08 14:26 |
Yes, that could be the reason and I would say it is a bug @sfernandez |
(0006432)
sfernandez 2020-06-08 14:34 (Last edited: 2020-06-08 14:39) |
Unless we have a bug, all objects are released in the main frame. When a C# proxy is destroyed in the finalizer thread we enqueue the release of its reference to occur always in the main thread. Perhaps these errors are unveiling another kind of bug. If you can provide a game build that generates those random errors I can take a look. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2499 | [NoesisGUI] C++ SDK | minor | always | 2023-02-02 11:59 | 2023-02-02 17:22 |
Reporter: | sckriel | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1.7 | ||||
Platform: | Any | ||||
Summary: | Read-only TextBox accepts whitespace | ||||
Description: | If a TextBox's "IsReadOnly" property is set to True, you can still enter whitespace to change the string. | ||||
Tags: | |||||
Steps To Reproduce: |
Load the following XAML snippet: <Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <StackPanel> <TextBox x:Name="__text__" Text="This is a test" IsReadOnly="True" Height="30" Width="150" AcceptsReturn="True" AcceptsTab="True"/> <TextBlock Text="{Binding Path=Text, ElementName=__text__}"/> </StackPanel> </Grid> You will be able to add spaces, line breaks and tab spaces to the textbox. |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2497 | [NoesisGUI] C++ SDK | minor | always | 2023-01-30 08:56 | 2023-02-02 17:17 |
Reporter: | sckriel | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | feedback | Product Version: | 3.1.5 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Windows | ||||
Summary: | Flow Direction layout incorrect | ||||
Description: |
We’ve noticed something strange about how Noesis implements the Flow Direction property. This occurs if you are setting flow direction on a panel and on its children. If the Flow Direction properties are set during initialization, the behaviour is correct. However, if the Flow Direction is changed afterwards, the result is not correct. Instead of repeating the layout algorithm, the content of the panel is simply flipped horizontally. A XAML file illustrating the problem is attached. The combo box changes the flow direction of the third line. When this is changed to RightToLeft, I expect the third line to match the second line. Instead, it is simply flipped horizontally. |
||||
Tags: | |||||
Steps To Reproduce: |
1. Load the attached XAML file. 2. Change the combo box to "RightToLeft" |
||||
Additional Information: | |||||
Attached Files: |
FlowDirectionBug.xaml (1,638 bytes) 2023-01-30 08:56 https://www.noesisengine.com/bugs/file_download.php?file_id=1741&type=bug after.png (9,953 bytes) 2023-01-30 08:56 https://www.noesisengine.com/bugs/file_download.php?file_id=1742&type=bug before.png (9,940 bytes) 2023-01-30 08:56 https://www.noesisengine.com/bugs/file_download.php?file_id=1743&type=bug |
||||
Notes | |
(0008250)
sfernandez 2023-01-30 10:48 |
Hi Steven, FlowDirection is not supported in 3.1. We implemented full support for FlowDirection and RTL languages (like arabic) in 3.2 version. Can I ask what are you trying to accomplish by using the FlowDirection property? maybe if it is something simple it can be achieved in a different way without upgrading to 3.2 version yet. |
(0008255)
sfernandez 2023-02-02 17:17 |
Ok, thanks for the explanation, should we close this issue then? |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2427 | [NoesisGUI] C++ SDK | feature | N/A | 2022-09-21 13:40 | 2023-02-01 17:45 |
Reporter: | jsantos | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Improvement to memory callbacks | ||||
Description: |
Right now there are a few annoyances in our memory callbacks that must be fixed: - allocSize() callback is not easy to implement by many clients. We should remove this and keep the size internally when memory tracking is active. We should also offer a method to disable memory tracking at runtime (for clients without source code). - realloc() should provide the oldsize too to help customers with advanced allocators We should also expose a category enum for each allocator to classify memory usage stats. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1894 | [NoesisGUI] C# SDK | feature | N/A | 2021-01-20 15:48 | 2023-02-01 16:33 |
Reporter: | peter_e-h_easylaser | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.0 | ||
Target Version: | 3.2.0 | ||||
Platform: | Any | ||||
Summary: | Inspector support for macOS | ||||
Description: | Being able to run Inspector in macOS would be great. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2486 | [NoesisGUI] C++ SDK | minor | always | 2023-01-05 14:56 | 2023-01-26 14:35 |
Reporter: | adriano | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.6 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.0 | ||
Target Version: | 3.2.0 | ||||
Platform: | Windows | ||||
Summary: | Bezier and arc strokes do not emit Mouse Events | ||||
Description: |
Hi, Bezier Paths that only contain Stroke (not Filled) do not emit Mouse Events. Probably related to this issue: https://www.noesisengine.com/bugs/view.php?id=2060 |
||||
Tags: | C++, Hittest | ||||
Steps To Reproduce: |
- Create a Bezier Path that only contains Stroke - Add a MouseDown event to it - Run the application and try to click it - The event will not be fired |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2060 | [NoesisGUI] C# SDK | minor | always | 2021-07-14 21:21 | 2023-01-26 14:33 |
Reporter: | darthmaule2 | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.12 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.0 | ||
Target Version: | 3.2.0 | ||||
Platform: | Any | ||||
Summary: | TouchDown not fired for a touch in the Arc part of a Path | ||||
Description: |
We noticed that touch down is not triggered in arcs, like the arc part of this path: m 75,75 l 52.5,52.5 a 70,75 45 0 1 -105,0 z Seen here: SVG Path Visualizer (svg-path-visualizer.netlify.app) |
||||
Tags: | C# | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2453 | [NoesisGUI] Unity3D | crash | random | 2022-11-05 20:25 | 2023-01-20 11:45 |
Reporter: | stonstad | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.5 | ||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1.7 | ||||
Platform: | Any | ||||
Summary: | DragEventArgs_GetAllowedEffectsHelper Crash | ||||
Description: | Crash occurs randomly without user input. Encl. crash.dmp. | ||||
Tags: | |||||
Steps To Reproduce: |
========== OUTPUTTING STACK TRACE ================== 0x00007FF875AD2DC8 (Noesis) DragEventArgs_GetAllowedEffectsHelper 0x00007FF875AD307B (Noesis) DragEventArgs_GetAllowedEffectsHelper 0x00007FF875A53C44 (Noesis) Noesis_RenderDeviceD3D12_WrapTexture 0x00007FF875A52B45 (Noesis) Noesis_RegisterLogCallback 0x00007FF8758B289C (Noesis) NullableSize_GetStaticType 0x00007FF875ABA053 (Noesis) Noesis_RenderDeviceGL_WrapTexture 0x00007FF875ABA1DE (Noesis) Noesis_RenderDeviceGL_WrapTexture 0x00007FF87581EF68 (Noesis) Uri_GetStaticType 0x00007FF87590E394 (Noesis) MultiBindingExpression_UpdateSource 0x00007FF87590CAA8 (Noesis) MultiBindingExpression_UpdateSource 0x00007FF875A5148F (Noesis) Noesis_RegisterLogCallback 0x00007FF7575FA72A (Unity) GfxDeviceWorker::RunCommand 0x00007FF75760183D (Unity) GfxDeviceWorker::RunExt 0x00007FF757601958 (Unity) GfxDeviceWorker::RunGfxDeviceWorker 0x00007FF755C92FC7 (Unity) Thread::RunThreadWrapper 0x00007FF9A997244D (KERNEL32) BaseThreadInitThunk 0x00007FF9AABCDFB8 (ntdll) RtlUserThreadStart ========== END OF STACKTRACE =========== |
||||
Additional Information: | |||||
Attached Files: |
crash.dmp (3,568,185 bytes) 2022-11-05 20:25 https://www.noesisengine.com/bugs/file_download.php?file_id=1702&type=bug Editor.log (1,817,298 bytes) 2022-11-05 20:25 https://www.noesisengine.com/bugs/file_download.php?file_id=1703&type=bug 029a3290-d41d-415b-859c-9335aaaaf4ba.png (152,480 bytes) 2022-11-07 15:35 https://www.noesisengine.com/bugs/file_download.php?file_id=1706&type=bug image.png (87,334 bytes) 2022-11-07 16:05 https://www.noesisengine.com/bugs/file_download.php?file_id=1708&type=bug TexturePointerCheck.cs (634 bytes) 2022-11-07 20:01 https://www.noesisengine.com/bugs/file_download.php?file_id=1709&type=bug Editor-2.log (59,638 bytes) 2022-11-07 20:01 https://www.noesisengine.com/bugs/file_download.php?file_id=1710&type=bug image-2.png (1,895,870 bytes) 2022-11-07 20:33 https://www.noesisengine.com/bugs/file_download.php?file_id=1712&type=bug |
||||
Notes | |
(0008115)
sfernandez 2022-11-07 11:14 (Last edited: 2022-11-07 11:17) |
Hi, this crash and the one in issue 0002454 both happen when loading the following texture asset: Assets/User Interface/Images/engineering/029a3290-d41d-415b-859c-9335aaaaf4ba.png Do you know if there is anything in particular with that texture? Were you updating the texture when those crashes occur? Is this crash happening also with 3.1.4 version? |
(0008116)
stonstad 2022-11-07 15:35 (Last edited: 2022-11-07 15:36) |
I can confirm the asset exists. It is not corrupt because I can open it in third-party image editors, and it has historically worked for a year+. However, this UI element normally appears in a screen that is affected by the shared bug referenced above. The graphics corruption is somehow related. |
(0008117)
stonstad 2022-11-07 15:37 |
It may be related to Unity version. I downgraded to 3.1.3 and the corruption persists. The crashes stopped (coincidence) but I ran into a separate scrolling bug, and I upgraded back to 3.1.5. |
(0008119)
jsantos 2022-11-07 15:39 |
I assume this is not going to be possible, but... are you able to reproduce this in a smaller scenario? |
(0008120)
stonstad 2022-11-07 15:51 |
Hard to say. I'm working to isolate it right now, in context of the game. Here's the XAML for the image: <ImageBrush x:Key="029a3290-d41d-415b-859c-9335aaaaf4ba" ImageSource="Images/engineering/029a3290-d41d-415b-859c-9335aaaaf4ba.png" /> |
(0008121)
stonstad 2022-11-07 16:05 |
Strangely, I am seeing incorrect images/textures shown. That image of a station blueprint cannot possibly appear on this screen. It is highly likely that incorrect texture memory addresses are being referenced within Noesis. |
(0008122)
stonstad 2022-11-07 16:06 |
Hopefully I am not sending too many messages. Maybe you have a discord channel? Anyway, these images are presented via an ImageBrush pointing to a resource. object resource = root.TryFindResource(resourceKey); ImageBrush imageBrush = resource as ImageBrush; |
(0008123)
stonstad 2022-11-07 16:07 |
Also worth nothing -- every time I load the screen the image shown above i.e. shields switches to a random image. |
(0008124)
stonstad 2022-11-07 16:10 |
These images (which are loaded into image brushes via merged resource dictionaries. I am thinking this is where the texture addresses are getting messed up. <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"> <ResourceDictionary.MergedDictionaries> <ResourceDictionary Source="/Packages/com.noesis.noesisgui/Theme/NoesisTheme.DarkBlue.xaml"/> <ResourceDictionary Source="/Packages/com.noesis.noesisgui/Theme/NoesisTheme.Styles.xaml"/> <ResourceDictionary Source="ResourcesImages.xaml"/> ********** HERE <ResourceDictionary Source="ResourcesCommon.xaml"/> <ResourceDictionary Source="ResourcesTheme.xaml"/> </ResourceDictionary.MergedDictionaries> </ResourceDictionary> Do you have any insight into how to validate if Unity is doing what your texture loading logic expects? |
(0008126)
stonstad 2022-11-07 16:28 |
OK, this is the end of the line. If I disable the following code the crashes stop. These image brushes are no longer populated, which is where the behavior manifests. object resource = root.TryFindResource(resourceKey); if (resource == null) return null; ImageBrush imageBrush = resource as ImageBrush; // subsequent access to imageBrush causes crash when texture memory/address is incorrect! |
(0008127)
stonstad 2022-11-07 17:21 |
Confirmed it is not caused by a Unity upgrade. Behavior occurs in 2022.1.20f1 and 2021.3.13f1. Issue is manifest in UserControl.TryFindResource(resourceKey) Please let me know if you have a debug build you would like me to try, as I am actively developing today. Thanks. |
(0008128)
jsantos 2022-11-07 18:08 |
Thanks for the details! I think I have an idea of what's going on here. Probably, Unity is changing the internal low-level native pointer of textures, whenever all the memory is consumed. By the documentation this shouldn't happen (or at least there is no way to know when it happens, except for when the pixel data of a Texture object is modified, and I think this not your case). To verify this, could you please log the output of Texture.GetNativeTexturePtr for the problematic texture, every frame and see if it changes whenever we crash? |
(0008129)
stonstad 2022-11-07 19:28 |
Is there a particular approach you would like me to use to obtain a handle to the texture from the image source? I have: object resource = root.TryFindResource(resourceKey); ImageBrush imageBrush = resource as ImageBrush; I'm google searching to see how to obtain the underlying texture pointer. |
(0008130)
stonstad 2022-11-07 19:35 |
To clarify the above, I am not directly creating a texture. I am loading an image source from a XAML dictionary. I'll try to see if I can find the associated Unity texture. |
(0008132)
jsantos 2022-11-07 19:50 |
Yeah, that was my suggestion. Just create a monobehaviour with a Texture property, set the value to the problematic texture and dump the GetNativeTexturePtr per frame till you crash your game. |
(0008133)
stonstad 2022-11-07 20:01 (Last edited: 2022-11-07 20:01) |
The pointer address changes after Unity's start method is invoked. See sample script and output. Texture bbcadff4-ef43-4152-9626-bac7a57d2967 has pointer 2084922559920 UnityEngine.Debug:Log (object) TexturePointerCheck:Start () (at Assets/TexturePointerCheck.cs:14) (Filename: Assets/TexturePointerCheck.cs Line: 14) 2084922559920 != 2087889289776 UnityEngine.Debug:LogError (object) TexturePointerCheck:Update () (at Assets/TexturePointerCheck.cs:22) (Filename: Assets/TexturePointerCheck.cs Line: 22) *edited to include missing log text. OK, what's next? |
(0008135)
stonstad 2022-11-07 20:04 |
Unity Docs. "Note: When you use the Unity APIs to modify the pixel data of a Texture object, it changes the underlying graphics API native pointer. Call GetNativeTexturePtr to get the new native pointer." OK, I am looking to see if I modify it anywhere. I don't believe I am. |
(0008136)
stonstad 2022-11-07 20:08 (Last edited: 2022-11-07 20:09) |
I am not finding any code which indicates this texture or any of the ones affected are modified. What can I do next? |
(0008137)
jsantos 2022-11-07 20:17 |
Could you check if the pointer is changing only for textures that crash? |
(0008138)
stonstad 2022-11-07 20:26 |
It is easy to see which ones have modified pointers because they visually glitch or show the wrong texture data. Textures that are assigned in XAML work OK: <Rectangle Fill="{StaticResource Starpedia_Down}" Width="150" Height="133"> Textures that are loaded dynamically based on player inventory, using UserControl.TryFindResource(resourceKey) appear to all fail. |
(0008139)
stonstad 2022-11-07 20:33 (Last edited: 2022-11-07 20:34) |
Please ignore this graphic. It does not show any errors. I did not mean to attach it. |
(0008140)
stonstad 2022-11-07 20:35 |
Please also disregard: "Textures that are loaded dynamically based on player inventory, using UserControl.TryFindResource(resourceKey) appear to all fail. I'm not sure this is the case. |
(0008141)
jsantos 2022-11-07 20:35 |
So, only the images located at "ResourcesImages.xaml" have problems? Could you check if "ResourcesImages.xaml" has all images as dependencies? (in the Unity Inspector of the XAML) |
(0008142)
stonstad 2022-11-07 20:41 |
I reimported all images and the error is not occurring. Still checking/confirming. |
(0008143)
stonstad 2022-11-07 20:43 |
Yes, ResourcesImages.xaml does appear to have all images loaded. I do not know what it looked like when the error was manifesting. I am no longer getting any errors. Everything is working as intended. The fix appears to be reimporting all images. I should have tried this sooner. |
(0008144)
stonstad 2022-11-07 20:47 |
I'm good to close this issue. Source control is not showing any changed files other than my unity scene after reimporting all images. Is it correct to say that the texture pointer is stored in the v2 asset database? |
(0008145)
jsantos 2022-11-07 20:47 |
So, your TexturePointerCheck is no longer detecting changes in the pointers? |
(0008146)
stonstad 2022-11-07 20:58 |
Yes, that is correct. The same script referencing the same texture no longer shows a change during runtime. |
(0008149)
jsantos 2022-11-09 16:25 |
Probably, the texture was imported in an old format, and Unity was upgrading it, loading it again in another pointer. This could explain why rebuilding the texture fixed the issue. Anyway, I am contacting Unity to get more information about this. Closing for now. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2475 | [NoesisGUI] C++ SDK | crash | have not tried | 2022-12-12 14:40 | 2023-01-19 19:33 |
Reporter: | LarianStudios | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.5 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.7 | ||
Target Version: | 3.1.7 | ||||
Platform: | Any | ||||
Summary: | Crash destroying template with IsMouseOver triggers | ||||
Description: |
crash of freeze on destroy of template with mouseenter triggers we currently have an itemscontrol that crashes on removal of an element, when we spam the button inside that element the child element has a grid with a rectangle and an ellipse inside , but grid and rectangle can be set to collapsed with triggers |
||||
Tags: | |||||
Steps To Reproduce: |
<Trigger Property="IsMouseOver" Value="True"> <Setter Property="Visibility" Value="Visible" TargetName="hover"/> </Trigger> |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2492 | [NoesisGUI] C++ SDK | crash | always | 2023-01-13 19:38 | 2023-01-19 10:10 |
Reporter: | jack.barkov | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.6 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.7 | ||
Target Version: | 3.1.7 | ||||
Platform: | Windows | ||||
Summary: | Noesis::TextBox::GetRangeBounds() - Crash | ||||
Description: |
I have a hard to reproduce problem happening in my application. My test app is a chat, where you press enter, a TextBox is displayed, the user types a text and presses enter to send. Sometimes when the user does this, the crash happens on: Noesis.dll!Noesis::TextBox::GetRangeBounds() Then I tried to reproduce in the noesis examples until I managed to reproduce in the c++ sample.login example. To reproduce basically apply the patch below and run the program that you will simulate what happens in my program. Here the crash happens in a few seconds after opening. Stacktrace: Noesis.dll!Noesis::TextBox::GetRangeBounds() + 6 bytes Unknown [Frames below may be incorrect and/or missing, no symbols loaded for Noesis.dll] > NoesisApp.dll!TsfTextStore::GetTextExt(unsigned long vcView=0, long acpStart=0, long acpEnd=0, tagRECT * prc=0x012fee14, int * pfClipped=0x012fedcc) Line 654 C++ TextInputFramework.dll!CACPWrap::GetTextExt(unsigned long,struct IAnchor *,struct IAnchor *,struct tagRECT *,int *) Unknown TextInputFramework.dll!CContextView::GetTextExt(unsigned long,struct ITfRange *,struct tagRECT *,int *) Unknown TextInputFramework.dll!CInputContextAdapter::GetLayoutBounds(unsigned int,struct EditControlRange const &,struct TextRect *,struct TextRect *) Unknown TextInputFramework.dll!CTSF3LayoutQuery::Execute(struct IInputContextAdapter *) Unknown TextInputFramework.dll!CInputContextAdapter::_ExecuteOperation(class CTSF3Operation *,bool) Unknown TextInputFramework.dll!CInputContextAdapter::GetLayoutBounds(struct EditControlRange,struct TextRect *,struct TextRect *) Unknown TextInputFramework.dll!CTextInputClientOwnerAsync::GetLayoutBoundsAsync(struct EditControlRange) Unknown TextInputFramework.dll!TextInputClient::UpdateLayoutInfo(unsigned int,bool) Unknown TextInputFramework.dll!TextInputClient::EditControlLayoutChanged(unsigned int) Unknown TextInputFramework.dll!<lambda>(void)() Unknown TextInputFramework.dll!CTextInputClientFreeThread::RunOrDispatch(unsigned int,class std::function<long >,bool) Unknown TextInputFramework.dll!CTextInputClientFreeThread::EditControlLayoutChanged(unsigned int) Unknown TextInputFramework.dll!CInputContextAdapter::OnEditSessionEnded(unsigned long,struct ITfEditRecord *,bool) Unknown TextInputFramework.dll!CInputContext::_NotifyEndEdit(void) Unknown TextInputFramework.dll!CInputContext::_SynchAppChanges(unsigned long) Unknown TextInputFramework.dll!CInputContext::OnLockGranted(unsigned long) Unknown TextInputFramework.dll!CACPWrap::OnLockGranted(unsigned long) Unknown NoesisApp.dll!TsfTextStore::RequestLock(unsigned long dwLockFlags=2, HRESULT * phrSession=0x012ff1a4) Line 318 C++ TextInputFramework.dll!CACPWrap::RequestLock(unsigned long,long *) Unknown TextInputFramework.dll!SafeRequestLock(struct ITextStoreAnchor *,unsigned long,long *) Unknown TextInputFramework.dll!CInputContext::OnLayoutChange(enum __MIDL___MIDL_itf_textstor_0000_0000_0002,unsigned long) Unknown TextInputFramework.dll!CACPWrap::OnLayoutChange(enum __MIDL___MIDL_itf_textstor_0000_0000_0002,unsigned long) Unknown NoesisApp.dll!TsfTextStore::OnLayoutChanged() Line 198 C++ NoesisApp.dll!TsfTextStore::OnScrollChanged(Noesis::BaseComponent * __formal=0x1a77ab28, const Noesis::RoutedEventArgs & __formal={...}) Line 1035 C++ NoesisApp.dll!Noesis::Delegate<void __cdecl(Noesis::BaseComponent *,Noesis::RoutedEventArgs const &)>::MemberFuncStub<TsfTextStore,void (__thiscall TsfTextStore::*)(Noesis::BaseComponent *,Noesis::RoutedEventArgs const &)>::Invoke(Noesis::BaseComponent * <args_0>=0x1a77ab28, const Noesis::RoutedEventArgs & <args_1>={...}, const void * __formal=0x012ff458, bool(*)(const void *) __formal=0x79599b20) Line 473 C++ Noesis.dll!Noesis::UIElement::NotifyHandlers() + 140 bytes Unknown Noesis.dll!Noesis::UIElement::BubblingEvent() + 90 bytes Unknown Noesis.dll!Noesis::ScrollViewer::OnLayoutUpdated() + 956 bytes Unknown Noesis.dll!Noesis::UIElement::RaiseEvent() + 100 bytes Unknown Noesis.dll!Noesis::Viewbox::StaticGetClassType() + 1867 bytes Unknown Noesis.dll!Noesis::Viewbox::StaticGetClassType() + 3086 bytes Unknown Noesis.dll!Noesis::Viewbox::StaticGetClassType() + 2669 bytes Unknown Noesis.dll!Noesis::Visual::GetContentBoundsCore() + 5163 bytes Unknown NoesisApp.dll!NoesisApp::Window::Render(double time=0.94558699999999996) Line 213 C++ NoesisApp.dll!NoesisApp::Application::Tick(double time=0.94558699999999996) Line 217 C++ NoesisApp.dll!NoesisApp::ApplicationLauncher::OnTick(double time=0.94558699999999996) Line 116 C++ NoesisApp.dll!NoesisApp::DisplayLauncher::Run::__l2::<lambda_1>::operator()(NoesisApp::Display * __formal=0x015d6c00) Line 42 C++ NoesisApp.dll!Noesis::Delegate<void __cdecl(NoesisApp::Display *)>::FunctorStub<`NoesisApp::DisplayLauncher::Run'::`2'::<lambda_1>>::Invoke(NoesisApp::Display * <args_0>=0x015d6c00) Line 432 C++ Samples.Login.exe!Noesis::Delegate<void __cdecl(NoesisApp::Display *)>::operator()(NoesisApp::Display * <args_0>=0x015d6c00) Line 172 C++ Samples.Login.exe!Noesis::Delegate<void __cdecl(NoesisApp::Display *)>::MultiDelegate::Invoke(NoesisApp::Display * <args_0>=0x015d6c00) Line 576 C++ NoesisApp.dll!Noesis::Delegate<void __cdecl(NoesisApp::Display *)>::operator()(NoesisApp::Display * <args_0>=0x015d6c00) Line 172 C++ NoesisApp.dll!NoesisApp::Win32Display::EnterMessageLoop(bool runInBackground=false) Line 482 C++ NoesisApp.dll!NoesisApp::DisplayLauncher::Run() Line 47 C++ Samples.Login.exe!NsMain(int argc=1, char * * argv=0x015204c8) Line 71 C++ Samples.Login.exe!WinMain(HINSTANCE__ * __formal=0x00ed0000, HINSTANCE__ * __formal=0x00000000, char * __formal=0x0151a01e, int __formal=10) Line 36 C++ Samples.Login.exe!invoke_main() Line 107 C++ Samples.Login.exe!__scrt_common_main_seh() Line 288 C++ Samples.Login.exe!__scrt_common_main() Line 331 C++ Samples.Login.exe!WinMainCRTStartup(void * __formal=0x010a1000) Line 17 C++ kernel32.dll!@BaseThreadInitThunk@12() Unknown ntdll.dll!___RtlUserThreadStart@8() Unknown ntdll.dll!__RtlUserThreadStart@8() Unknown |
||||
Tags: | C++ | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
MainWindow.patch.zip (1,321 bytes) 2023-01-13 19:38 https://www.noesisengine.com/bugs/file_download.php?file_id=1733&type=bug helloworld-1.png (311,737 bytes) 2023-01-16 22:47 https://www.noesisengine.com/bugs/file_download.php?file_id=1734&type=bug glut-1.png (257,064 bytes) 2023-01-17 00:10 https://www.noesisengine.com/bugs/file_download.php?file_id=1735&type=bug Main.cpp (21,572 bytes) 2023-01-17 00:33 https://www.noesisengine.com/bugs/file_download.php?file_id=1736&type=bug |
||||
Notes | |
(0008212)
sfernandez 2023-01-16 19:11 (Last edited: 2023-01-16 19:12) |
Could you try the following patch in TSF.cpp located in Src/Packages/App/Win32Display:Index: TSF.cpp =================================================================== --- TSF.cpp (revision 11921) +++ TSF.cpp (working copy) @@ -650,6 +650,12 @@ NS_ASSERT(mTextBox != 0); mTextBox->UpdateLayout(); + // UpdateLayout can release the focus from the TextBox, in that case we just return + if (mTextBox == 0) + { + return E_INVALIDARG; + } + // Get bounding box of the selected text Rect bounds = mTextBox->GetRangeBounds(acpStart, acpEnd); |
(0008214)
jack.barkov 2023-01-16 22:31 (Last edited: 2023-01-16 22:38) |
I can't explain exactly what happened, however, in Sample.Login.exe the error stopped happening. But in my application even with the patch you sent me, the crash continues. My application uses several views, and this view that the crash happens is precisely the view that has the TextBox. Sometimes the crash doesn't happen, but the process goes into an infinite loop inside noesis when pause is always in the same stacktrace. Noesis.dll!Noesis::GUI::SetSoftwareKeyboardCallback() + 1883 bytes Unknown [Frames below may be incorrect and/or missing, no symbols loaded for Noesis.dll] Noesis.dll!Noesis::UIElement::RaiseEvent() + 30 bytes Unknown Noesis.dll!Noesis::Viewbox::StaticGetClassType() + 1867 bytes Unknown Noesis.dll!Noesis::Viewbox::StaticGetClassType() + 3086 bytes Unknown Noesis.dll!Noesis::Viewbox::StaticGetClassType() + 2669 bytes Unknown Noesis.dll!Noesis::Visual::GetContentBoundsCore() + 5163 bytes Unknown I couldn't quite understand how this patch you sent me would work. How could `mTextBox->UpdateLayout();` invalidate the `mTextBox` pointer by setting nullptr right after it was called? Doesn't seem to make much sense... I'm trying to figure out how to best reproduce the problem, but I'm having trouble. Would it be possible to make available a Noesis.dll in debug or the pdb of Noesis.dll release build 3.1.6.11756 x86 as jsantos sent me once so we can see the stacktrace in more detail? Thanks |
(0008215)
jack.barkov 2023-01-16 22:47 |
Trying to reproduce the problem, a situation happened that the crash happens again on the same line. I know this crash is due to the TextBox being without any style, however, the crash happens again on the same line. This is not the case with my application, as I am using the default Noesis theme. To reproduce, in the examples use Sample.HelloWorld.exe, replace the MainWindow.xaml content with: <Window x:Class="HelloWorld.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:HelloWorld" mc:Ignorable="d" FontFamily="./#Aero Matics" FontSize="36" Background="#FF124C7A" Title="NoesisGUI - Hello, World!"> <Grid> <Viewbox> <Grid Width="325.8" Margin="24"> <TextBox x:Name="ChatInput" Visibility="Visible" /> </Grid> </Viewbox> </Grid> </Window> When opening the application click on the pink field and the crash will happen exactly on the same line again. Could it be that the fact that the field has Visibility="Collapsed" when I press VK_RETURN in my application could be causing the TSF to have a problem with regard to style? Thanks |
(0008216)
jack.barkov 2023-01-17 00:10 |
I tried to reproduce the problem using a very simple implementation with Sample.IntegrationGLUT.exe. After many attempts, I managed to have the exact same crash that I have in my application. The crash sometimes happens quickly, sometimes it takes time to happen. I really have no idea what's going on... Below is a file on google drive with everything compiled and prepared in debug. I moved the TSF implementation into the integration glut, I made the TSF calls manually with the patch you sent me. Inside the file below, you will find a dump that I took in debug in my VS along with the exe, and pdb of the moment of execution. I hope I can help with something. https://drive.google.com/file/d/1pVraAG-BTwhO6DKPVh5kw9vwDPCxgBhf/view?usp=sharing I also attached a print of the stacktrace at the time of the error (which is the same as the attached dump /bin/Samples.IntegrationGLUT.dmp) Thanks, |
(0008217)
jack.barkov 2023-01-17 00:33 |
From what I could understand, in the example above it happens when you start giving dozens of clicks on the text fields until suddenly the crash happens. I only left a test block in the video as you can see, but anyway I will send here the cpp I used in this video. I made a video showing the crash happening (sorry for the fact that it's on a cell phone, but my resolution is very high, and this was the best way I imagined for the video to be readable) Link: https://youtu.be/hDG296REfV0 Thanks, |
(0008218)
sfernandez 2023-01-17 17:36 |
Thanks a lot for your examples and feedback. I was able to find a bug in the processing of the LayoutUpdated event. Please try the following patched library and let me know if your problems are solved: https://drive.google.com/file/d/1qouAu1fUyqM--el4kdFA6MTHjB0to5S2/view?usp=share_link |
(0008220)
jack.barkov 2023-01-17 21:45 |
I did the test with the example I prepared yesterday and it really seems to have solved it. My application is x86 only, could you provide me with an x86 build to test better? Thanks, |
(0008223)
sfernandez 2023-01-18 19:49 |
Of course, here you are: https://drive.google.com/file/d/1MF5r5eCZfFZ2R6qOX4yt2EMbKtd2SgZq/view?usp=share_link |
(0008224)
jack.barkov 2023-01-18 22:21 |
I did some tests here and it seems to have really solved it! No bugs happened again. Is it safe to use this dll until the next version 3.1.7 comes out? Thanks! |
(0008225)
sfernandez 2023-01-19 10:09 |
Yes, you can use this patched library in the meantime. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2490 | [NoesisGUI] Unity3D | minor | always | 2023-01-13 02:08 | 2023-01-18 19:31 |
Reporter: | samc | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.6 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.7 | ||
Target Version: | 3.1.7 | ||||
Platform: | Windows | ||||
Summary: | [NOESIS/E] 'Converter<Brush>' binding converter failed to convert value '' (type 'String') | ||||
Description: |
We get this error message: [NOESIS/E] 'Converter<Brush>' binding converter failed to convert value '' (type 'String') But no indication of what is causing the issue, so we're not sure how to fix it. Reference thread: https://www.noesisengine.com/forums/viewtopic.php?t=2833 |
||||
Tags: | |||||
Steps To Reproduce: |
1) Open unity editor 2) Play in editor 3) Receive lots of errors about Converter<Brush> - but no errors that point where the problem is. |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008206)
sfernandez 2023-01-13 11:52 |
Hi, I generated a new library that fixes the missing binding messages for converter errors, could you please give it a try: https://drive.google.com/file/d/18stjNrt-4jWg2kTHqdcINI7ia3trdw8S/view?usp=share_link Now when a binding converter fails it should always show a couple of error messages: [NOESIS/E] 'Converter<Brush>' binding converter failed to convert value '' (type 'String') [NOESIS/E] Binding failed: Path=Text, Source=TextBox('txt'), Target=Rectangle(''), TargetProperty=Shape.Fill And if you provide a FallbackValue in the binding then the messages are logged as warnings (as it happens with the rest of binding errors), indicating that the fallback value will be used: [NOESIS/W] 'Converter<Brush>' binding converter failed to convert value '' (type 'String') [NOESIS/W] Binding failed: Path=Text, Source=TextBox('txt'), Target=Rectangle(''), TargetProperty=Shape.Fill. The fallback value will be used |
(0008221)
samc 2023-01-17 22:14 |
This works! Thanks so much! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2489 | [NoesisGUI] Unity3D | major | always | 2023-01-12 20:09 | 2023-01-12 20:14 |
Reporter: | samc | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.6 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.7 | ||
Target Version: | 3.1.7 | ||||
Platform: | Any | ||||
Summary: | Meta file conflicts in 3.1.6 | ||||
Description: |
Meta files for scripts under Runtime/API folder have conflicting GUIDs reporting warnings in Unity when installing the package:GUID [3c88babd0bf855a89a7398a084ec3a25] for asset 'Packages/com.noesis.noesisgui/Runtime/API/Core/BoxedFreezableCollection.cs.meta' conflicts with: |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2479 | [NoesisGUI] Unity3D | minor | random | 2022-12-16 21:49 | 2022-12-19 12:52 |
Reporter: | stonstad | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1.5 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1.7 | ||||
Platform: | Any | ||||
Summary: | Noesis_RenderDeviceD3D12_WrapTexture | ||||
Description: |
Random crash with Noesis in call stack. Not reproducible at this time. ========== OUTPUTTING STACK TRACE ================== 0x00007FFBFC72DE2B (d3d11) EnableFeatureLevelUpgrade 0x00007FFBFC74BF8A (d3d11) D3D11CreateDeviceAndSwapChain 0x00007FFBFC72EB86 (d3d11) EnableFeatureLevelUpgrade 0x00007FFBFC72FBCC (d3d11) EnableFeatureLevelUpgrade 0x00007FFBFC7305FE (d3d11) EnableFeatureLevelUpgrade 0x00007FFBFC730D64 (d3d11) EnableFeatureLevelUpgrade 0x00007FFBFC71E4ED (d3d11) EnableFeatureLevelUpgrade 0x00007FFBFC73C429 (d3d11) EnableFeatureLevelUpgrade 0x00007FFBFC73C3D2 (d3d11) EnableFeatureLevelUpgrade 0x00007FFA50472EA8 (Noesis) DragEventArgs_GetAllowedEffectsHelper 0x00007FFA5047307B (Noesis) DragEventArgs_GetAllowedEffectsHelper 0x00007FFA503F3C44 (Noesis) Noesis_RenderDeviceD3D12_WrapTexture 0x00007FFA503F2B45 (Noesis) Noesis_RegisterLogCallback 0x00007FFA5025289C (Noesis) NullableSize_GetStaticType 0x00007FFA5045A053 (Noesis) Noesis_RenderDeviceGL_WrapTexture 0x00007FFA5045A1DE (Noesis) Noesis_RenderDeviceGL_WrapTexture 0x00007FFA501BEF68 (Noesis) Uri_GetStaticType 0x00007FFA502AE394 (Noesis) MultiBindingExpression_UpdateSource 0x00007FFA502ACAA8 (Noesis) MultiBindingExpression_UpdateSource 0x00007FFA503F148F (Noesis) Noesis_RegisterLogCallback 0x00007FF6082E9904 (Unity) GfxDeviceWorker::RunCommand 0x00007FF6082F005D (Unity) GfxDeviceWorker::RunExt 0x00007FF6082F0178 (Unity) GfxDeviceWorker::RunGfxDeviceWorker 0x00007FF6069D78E7 (Unity) Thread::RunThreadWrapper 0x00007FFC0118247D (KERNEL32) BaseThreadInitThunk 0x00007FFC02BEDFB8 (ntdll) RtlUserThreadStart ========== END OF STACKTRACE =========== |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
Editor.log (39,799 bytes) 2022-12-16 21:49 https://www.noesisengine.com/bugs/file_download.php?file_id=1726&type=bug crash.zip (1,230,882 bytes) 2022-12-16 21:49 https://www.noesisengine.com/bugs/file_download.php?file_id=1727&type=bug Editor.zip (955,245 bytes) 2022-12-16 22:04 https://www.noesisengine.com/bugs/file_download.php?file_id=1728&type=bug |
||||
Notes | |
(0008186)
stonstad 2022-12-16 22:04 |
Subsequent crash. Thanks. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2267 | [NoesisGUI] C++ SDK | minor | always | 2022-02-10 07:10 | 2022-12-15 12:20 |
Reporter: | spadapet | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.0 | ||
Target Version: | 3.2.0 | ||||
Platform: | Any | ||||
Summary: | Centered Popup shows in the corner until the view is resized | ||||
Description: | I want to show a Popup in the center of its parent. Setting <Popup Placement="Center"> is supposed to do the trick, but the layout is incorrect until the view is resized. I'd rather not use a workaround like write code to manually place the Popup in the center. | ||||
Tags: | |||||
Steps To Reproduce: |
STEPS: 1. Paste the following XAML in XamlToy (https://www.noesisengine.com/xamltoy) <Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"> <Popup Placement="Center" IsOpen="True"> <Border BorderBrush="Black" BorderThickness="2" Padding="50"> <Button Content="Button in popup" /> </Border> </Popup> </Grid> RESULT: The popup shows in the upper left corner. If you resize the browser, then the popup shows in the center like it should. EXPECT: Start off in the center |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007796)
spadapet 2022-02-10 15:10 |
I realized this only happens when Popup.IsOpen has an initial value of True. That's rare for a Popup so this bug is really trivial, I can easily work around it. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2027 | [NoesisGUI] Unity3D | minor | always | 2021-05-23 07:17 | 2022-12-15 12:10 |
Reporter: | jamieh | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.12 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.5 | ||
Target Version: | |||||
Platform: | Any | ||||
Summary: | ToolTips that contain content with a LayoutTransform/ScaleTransform on them are not properly sized | ||||
Description: |
If you put a Layout/Scale Transform on the content contained within a ToolTip and give it a ScaleX/Y of 2 or greater, the tooltip is not properly sizing to contain the content. The bigger the scale value, the worse the problem gets. The content is cut off and not displayed properly. I duplicated this in WPF and it displays properly. Note, I marked this "minor" just because it is a display error. It is somewhat major to us as we will not be able to upgrade our product to Noesis 3.0.12 or greater until this problem is resolved. |
||||
Tags: | C#, Unity | ||||
Steps To Reproduce: |
I have uploaded sample projects to OneDrive: Unity Project: https://1drv.ms/u/s!AjEAlWO9Yl9unM8Hk7VX5Z8piOy1pw?e=wqRfcO WPF Project: https://1drv.ms/u/s!AjEAlWO9Yl9unM8Gk3rM93Eu1K6PQw?e=rCkosl |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007328)
jamieh 2021-07-16 20:39 |
Just checking back--is this going to be in the 3.1 update? Thanks. |
(0007336)
sfernandez 2021-07-21 13:10 |
It is fixed for 3.1 version, but I'm seeing that our popup logic is limiting tooltip size to an 85% of the available target surface. I don't see WPF doing anything like that so I think we should change it. I'm keeping this ticket open for that purpose. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2091 | [NoesisGUI] C++ SDK | feature | N/A | 2021-08-24 18:05 | 2022-12-13 11:48 |
Reporter: | satorp | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.0 | ||
Target Version: | 3.2.0 | ||||
Platform: | Any | ||||
Summary: | i18n for text wrapping and trimming | ||||
Description: |
Current text wrapping and trimming algorithm does not work well with Japanese or other East Asian languages. - Line breaks currently occur only on spaces/hypens (word boundaries in English). In Japanese for example, there's no concept of word boundary (basically break can occur anywhere), but there are special rules to prohibit break before or after some punctuation/special characters - Line trimming with word ellipsis does not work with Japanese text (all text will be removed) - WPF does not seem to have these issues Our current priority is to support Japanese language. We have a working patch but it involves modifying VGLTextLayout implementation, which is not very pretty. Let me know if you want to have it for reference. If out-of-the-box support is hard to achieve, another workable option might be to have the line break rule isolated possibly as a callback so it can be implemented by application. For Japanese, it will be possible to determine a break condition by examining the current and previous characters on a line if provided as context to the callback. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007384)
jsantos 2021-08-25 20:33 |
We started the implementation of supporting RTL languages, as part of these changes we are also going to have a new shaping algorithm that should fix all issues we have right now. I will also revisit the current line breaking algorithm. Yes, please, having your modifications will help and also if possible a XAML showcasing the issue. |
(0007419)
satorp 2021-09-08 06:37 |
I've added a private note, but maybe you can't see it? I'm not sure how this bug tracker system works. How should I provide the patch to you? I see that I could upload files here, but I'm not sure if it's ok to post the codes publicly. The private mode does not seem to support uploading files as well. |
(0007420)
jsantos 2021-09-08 13:43 |
Hi Sator, yes of course I remember about you. :) Sorry for the delay, please, send the patch to support@noesisengine.com Thank you very much! |
(0008041)
jsantos 2022-08-12 18:00 (Last edited: 2022-08-12 18:00) |
We have implemented the Unicode Line Breaking Algorithm (http://www.unicode.org/reports/tr14/) in the Arabic Branch (NoesisSDK/branches/Arabic/). This branch is going to be the official 3.2, planned to be released next month. When building this branch, make sure to enable shaping in BuildSettings.h because it is disabled for now by default (official release will have it enabled) #define NS_TEXT_SHAPING 1 I am going to close this ticket, if you find specific problems, please create new tickets with corresponding scenarios and Xamls. Thank you! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1948 | [NoesisGUI] Unreal | minor | always | 2021-03-24 08:42 | 2022-12-05 22:51 |
Reporter: | jakub.hubacek | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.0.9 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.0 | ||||
Platform: | Any | ||||
Summary: | CombinedGeometry and GeometryGroup missing implementation | ||||
Description: |
Combined Geometry is not fully implemented. XAML snippet bellow results in different outcome in MS Blend and in XAML Toy ( or in ue4) <Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" d:DesignWidth="1280" d:DesignHeight="720"> <Grid x:Name="LayoutRoot"> <Border Background="#00D1C1"> <Border.Clip> <CombinedGeometry GeometryCombineMode="Exclude"> <CombinedGeometry.Geometry1> <RectangleGeometry RadiusX="6" RadiusY="6" Rect="0,0,350,83"/> </CombinedGeometry.Geometry1> <CombinedGeometry.Geometry2> <EllipseGeometry RadiusX="10" RadiusY="10" Center="3,3"/> </CombinedGeometry.Geometry2> </CombinedGeometry> </Border.Clip> </Border> </Grid> </Grid> |
||||
Tags: | combinedgeometry | ||||
Steps To Reproduce: |
1. Take example for combined geometry from Microsoft documentation. 2. Verify behaviour in MS Blend 3. Import blend into UE4 / or put the code inside XAML Toy 4. Observe it does not look same as in the MS Blend |
||||
Additional Information: | |||||
Attached Files: |
unnamed.png (7,013 bytes) 2021-03-24 08:42 https://www.noesisengine.com/bugs/file_download.php?file_id=1395&type=bug unnamed (1).png (1,548 bytes) 2021-03-24 08:42 https://www.noesisengine.com/bugs/file_download.php?file_id=1396&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2442 | [NoesisGUI] C# SDK | crash | always | 2022-10-14 20:10 | 2022-12-01 20:44 |
Reporter: | ladwhn3 | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1.5 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1.7 | ||||
Platform: | Any | ||||
Summary: | Access violation in Noesis_RenderDeviceD3D12_Create | ||||
Description: |
When trying to use RenderContextD3D12 in HelloWorld C# sample, an Access violation exception is thrown in Noesis_RenderDeviceD3D12_Create. Exception is not thrown and RenderContextD3D12 works fine when app's target framework is .NET 6.0 or 7.0. HelloWorld sample targets .NET Framework. Exception is thrown when compiling with Native AOT in .NET 7.0. Stack trace in Noesis module looks exactly the same. # Child-SP RetAddr Call Site 00 00000032`90df5ee0 00007ff9`5efbb1f9 Noesis!MouseWheelEventArgs_Delta_get+0x84c 01 00000032`90df60b0 00007ff9`5efbd3fc Noesis!MouseEventArgs_RightButton_get+0x2529 02 00000032`90dfe370 00007ff9`5efb92b3 Noesis!MouseEventArgs_RightButton_get+0x472c 03 00000032`90dfe7a0 00007ff9`5efbf172 Noesis!MouseEventArgs_RightButton_get+0x5e3 04 00000032`90dfe800 00007ff9`5ef43a05 Noesis!MouseWheelEventArgs_Delta_get+0x1072 05 00000032`90dfe850 00007ff9`f9385c96 Noesis!Noesis_RenderDeviceD3D12_Create+0x65 06 00000032`90dfe8a0 00007ff9`f937f97c 0x00007ff9`f9385c96 07 00000032`90dfe960 00007ff9`f936523e Noesis_App_RenderContexts_D3D12_1606ca80000!NoesisApp.RenderContextD3D12.Init+0xec 08 00000032`90dfe9c0 00007ff9`f93644a3 Noesis_App_1606c900000!NoesisApp.Application.Start+0x5ce 09 00000032`90dfeb40 00007ff9`f9190b4f Noesis_App_1606c900000!NoesisApp.Application.Run+0x13 0a 00000032`90dfeb90 00007ffa`58696893 HelloWorld!HelloWorld.App.Main+0x6f [...\HelloWorld\C#\Projects\windows\App.cs @ 23] 0b 00000032`90dfebe0 00007ffa`586967b0 clr!CallDescrWorkerInternal+0x83 0c 00000032`90dfec20 00007ffa`58697050 clr!CallDescrWorkerWithHandler+0x4e 0d 00000032`90dfec60 00007ffa`588218c4 clr!MethodDescCallSite::CallTargetWorker+0xfa 0e 00000032`90dfed60 00007ffa`5882216f clr!RunMain+0x25f 0f 00000032`90dfef40 00007ffa`58822022 clr!Assembly::ExecuteMainMethod+0xb7 10 00000032`90dff230 00007ffa`58821968 clr!SystemDomain::ExecuteMainMethod+0x643 11 00000032`90dff830 00007ffa`588216c1 clr!ExecuteEXE+0x3f 12 00000032`90dff8a0 00007ffa`588222d4 clr!_CorExeMainInternal+0xb2 13 00000032`90dff930 00007ffa`59f38c01 clr!CorExeMain+0x14 14 00000032`90dff970 00007ffa`5b1eac42 mscoreei!CorExeMain+0x112 15 00000032`90dff9d0 00007ffa`75277034 MSCOREE!CorExeMain_Exported+0x72 16 00000032`90dffa00 00007ffa`75da26a1 KERNEL32!BaseThreadInitThunk+0x14 17 00000032`90dffa30 00000000`00000000 ntdll!RtlUserThreadStart+0x21 |
||||
Tags: | D3D12 | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008102)
jsantos 2022-10-17 12:17 |
Thanks for reporting this. We haven't tried Native AOT Deployment yet. Is this also happening with D3D11 ? |
(0008103)
ladwhn3 2022-10-17 13:47 |
Exception is thrown for Native AOT but also for .NET Framework (which HelloWorld sample targets, so the issue can be easily reproduced). Excuse my confusing syntax. D3D11 does not have this issue. |
(0008182)
sfernandez 2022-12-01 20:40 (Last edited: 2022-12-01 20:44) |
The callstack for the error is:> Noesis.dll!NoesisApp::D3D12RenderDevice::CreatePipelines(NoesisApp::D3D12RenderDevice::Program * program, unsigned char shader_, const char * label_, D3D12_GRAPHICS_PIPELINE_STATE_DESC & desc) Line 2036 C++ Noesis.dll!NoesisApp::D3D12RenderDevice::CreateShaders() Line 2200 C++ Noesis.dll!NoesisApp::D3D12RenderDevice::D3D12RenderDevice(ID3D12Device * device, ID3D12Fence * frameFence, DXGI_FORMAT colorFormat, DXGI_FORMAT stencilFormat, DXGI_SAMPLE_DESC sampleDesc, bool sRGB) Line 362 C++ Noesis.dll!NoesisApp::D3D12Factory::CreateDevice(ID3D12Device * device, ID3D12Fence * frameFence, DXGI_FORMAT colorFormat, DXGI_FORMAT stencilFormat, DXGI_SAMPLE_DESC sampleDesc, bool sRGB) Line 22 C++ Noesis.dll!Noesis_RenderDeviceD3D12_Create(void * device, void * frameFence, int colorFormat, int stencilFormat, int samples, bool sRGB) Line 175 C++ D3D12: Removing Device. DXGI_ERROR_DEVICE_REMOVED (0x887a0005): The GPU instance has been suspended. DXGI_ERROR_DRIVER_INTERNAL_ERROR (0x887A0020): The driver encountered a problem and was put into the device removed state. The error occur when calling: mDevice->CreateGraphicsPipelineState(&desc, DX_ARGS(&program->pso[i])); |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2469 | [NoesisGUI] XamlToy | minor | always | 2022-11-27 03:32 | 2022-11-28 17:43 |
Reporter: | stonstad | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.5 | ||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Slider.IsMoveToPointEnabled Not Implemented? | ||||
Description: |
IsMoveToPointEnabled Gets or sets a value that indicates whether the Thumb of a Slider moves immediately to the location of the mouse click that occurs while the mouse pointer pauses on the Slider track I don't believe this is implemented. If I click on the slider track it moves the thumb even when I have this value set to false; |
||||
Tags: | |||||
Steps To Reproduce: |
<Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:noesis="clr-namespace:NoesisGUIExtensions;assembly=Noesis.GUI.Extensions"> <Grid Background="{StaticResource Brush.Window.Background}"> <StackPanel Margin="10,10,-10,0" HorizontalAlignment="Center" VerticalAlignment="Center"> <StackPanel Orientation="Horizontal"> <StackPanel> <TextBlock Text="Default Button" FontSize="18" TextAlignment="Center" Margin="0,0,0,10"/> <Button Content="Enabled"/> <Button Content="Disabled" IsEnabled="False" Margin="0,5,0,0"/> </StackPanel> <StackPanel Margin="20,0"> <TextBlock Text="Toggle Button" FontSize="18" TextAlignment="Center" Margin="0,0,0,10"/> <ToggleButton Content="Enabled"/> <ToggleButton Content="Checked" IsChecked="True" Margin="0,5,0,0"/> <ToggleButton Content="Disabled" IsEnabled="False" Margin="0,5,0,0"/> <ToggleButton Content="Checked" IsChecked="True" IsEnabled="False" Margin="0,5,0,0"/> </StackPanel> <StackPanel> <TextBlock Text="Toggle Switch" FontSize="18" TextAlignment="Center" Margin="0,0,0,10"/> <ToggleButton Style="{StaticResource Style.ToggleSwitch}" Content="Enabled"/> <ToggleButton Style="{StaticResource Style.ToggleSwitch}" Content="Checked" IsChecked="True" Margin="0,5,0,0"/> <ToggleButton Style="{StaticResource Style.ToggleSwitch}" Content="Disabled" IsEnabled="False" Margin="0,5,0,0"/> <ToggleButton Style="{StaticResource Style.ToggleSwitch}" Content="Checked" IsChecked="True" IsEnabled="False" Margin="0,5,0,0"/> </StackPanel> <StackPanel Margin="20,0"> <TextBlock Text="CheckBox" FontSize="18" TextAlignment="Center" Margin="0,0,0,10"/> <CheckBox Content="Enabled"/> <CheckBox Content="Checked" IsChecked="True" Margin="0,5,0,0"/> <CheckBox Content="3-State" IsChecked="{x:Null}" IsThreeState="True" Margin="0,5,0,0"/> <CheckBox Content="Disabled" IsEnabled="False" Margin="0,5,0,0"/> <CheckBox Content="Checked" IsChecked="True" IsEnabled="False" Margin="0,5,0,0"/> <CheckBox Content="3-State" IsChecked="{x:Null}" IsThreeState="True" IsEnabled="False" Margin="0,5,0,0"/> </StackPanel> <StackPanel Margin="20,0"> <TextBlock Text="RadioButton" FontSize="18" TextAlignment="Center" Margin="0,0,0,10"/> <StackPanel> <RadioButton Content="Enabled"/> <RadioButton Content="Checked" IsChecked="True" Margin="0,5,0,0"/> </StackPanel> <StackPanel> <RadioButton Content="Disabled" IsEnabled="False" Margin="0,5,0,0"/> <RadioButton Content="Checked" IsChecked="True" IsEnabled="False" Margin="0,5,0,0"/> </StackPanel> </StackPanel> </StackPanel> <StackPanel Orientation="Horizontal" Margin="0,20,0,0"> <StackPanel> <TextBlock Text="TextBox" FontSize="18" TextAlignment="Center" Margin="0,0,0,10"/> <TextBox Text="Enabled"/> <TextBox noesis:Text.Placeholder="Placeholder" Margin="0,5,0,0"/> <TextBox Text="Disabled" IsEnabled="False" Margin="0,5,0,0"/> </StackPanel> <StackPanel Margin="20,0"> <TextBlock Text="PasswordBox" FontSize="18" TextAlignment="Center" Margin="0,0,0,10"/> <PasswordBox Password="Enabled"/> <PasswordBox noesis:Text.Placeholder="Placeholder" Margin="0,5,0,0"/> <PasswordBox Password="Disabled" IsEnabled="False" Margin="0,5,0,0"/> </StackPanel> <StackPanel> <TextBlock Text="Slider" FontSize="18" TextAlignment="Center" Margin="0,0,0,10"/> <Slider Value="0" MinWidth="120" IsMoveToPointEnabled="False"/> <Slider Value="1" TickPlacement="Both" Margin="0,5,0,0" IsMoveToPointEnabled="False"/> <Slider Value="2" IsDirectionReversed="True" TickPlacement="BottomRight" Margin="0,5,0,0" IsMoveToPointEnabled="False"/> <Slider Value="5" IsEnabled="False" Margin="0,5,0,0"/> </StackPanel> <StackPanel Margin="20,0"> <TextBlock Text="ListBox" FontSize="18" TextAlignment="Center" Margin="0,0,0,10"/> <ListBox BorderBrush="{StaticResource Brush.Border.Normal}" BorderThickness="1"> <ListBoxItem Content="Unselected"/> <ListBoxItem Content="Selected" IsSelected="True"/> <ListBoxItem Content="Disabled" IsEnabled="False"/> </ListBox> </StackPanel> <StackPanel> <TextBlock Text="TreeView" FontSize="18" TextAlignment="Center" Margin="0,0,0,10"/> <TreeView BorderBrush="{StaticResource Brush.Border.Normal}" BorderThickness="1"> <TreeViewItem Header="Expanded" IsExpanded="True"> <TreeViewItem Header="Child"/> </TreeViewItem> <TreeViewItem Header="Collapsed"> <TreeViewItem Header="Child"/> </TreeViewItem> <TreeViewItem Header="Disabled" IsEnabled="False"> <TreeViewItem Header="Child"/> </TreeViewItem> </TreeView> </StackPanel> </StackPanel> </StackPanel> </Grid> </Grid> |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008176)
sfernandez 2022-11-28 10:36 |
This property doesn't mean that, when set to false, clicking the track bar won't do anything, it advances the slider by its LargeChange property value. When this property is set to true what happens is that the thumb is moved directly to the position you clicked in the track bar. If you want to disable the track bar clicks you can modify the Slider template and remove the RepeatButtons placed in the Track that are in charge of moving the thumb by LargeChange increments. |
(0008180)
stonstad 2022-11-28 16:23 |
Understood. Thank you! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2468 | [NoesisGUI] Unity3D | major | always | 2022-11-21 14:59 | 2022-11-23 11:02 |
Reporter: | Rafael Munoz | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.0 | ||
Target Version: | 3.2.0 | ||||
Platform: | Any | ||||
Summary: | Named element with Interaction triggers declared are not executed when we have hot-reloaded | ||||
Description: |
After a hot-reload interaction triggers are not triggering ( for a named element ) We can workaround this but it would be interesting to be able to use hot-reload without this issue. |
||||
Tags: | HotReload, Unity | ||||
Steps To Reproduce: |
Download the following build https://drive.google.com/file/d/11nuDYhb39AVcdRwHvV_wGMmRm1uV0aPj/view The instructions are included in the build |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008174)
jsantos 2022-11-23 11:02 |
In Noesis 3.2 we have implemented a new Hot-Reload algorithm that is much better and similarly to WPF it tries to preserve as much state as possible. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2465 | [NoesisGUI] XamlToy | minor | always | 2022-11-18 19:19 | 2022-11-23 10:46 |
Reporter: | stonstad | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1.5 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Error Loading TextureName, using fallback texture (XamlToy) | ||||
Description: |
This gist fails to load an image into an image source. https://www.noesisengine.com/xamltoy/d1e8b77f970d1896ceee6cd7dd6cb1f6 |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008169)
stonstad 2022-11-18 19:19 |
Reported error is all-57b5c051be.js:1 [NOESIS/E] Error loading 'cosmos.png', using fallback texture |
(0008173)
jsantos 2022-11-23 10:45 |
I need to verify but we have memory limits in the XamlToy runtime and I am pretty sure these images can't be allocated. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2466 | [NoesisGUI] Unity3D | crash | always | 2022-11-21 12:00 | 2022-11-21 12:18 |
Reporter: | quanchao | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | suspended | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Android | ||||
Summary: | Got a UNKNOWN while executing native code. | ||||
Description: |
================================================================= ================================================================= Managed Stacktrace: ================================================================= at <unknown> <0xffffffff> at UnityEngine.GameObject:SetActive <0x0009b> at XLua.CSObjectWrap.UnityEngineGameObjectWrap:_m_SetActive <0x000d2> at XLua.CSObjectWrap.UnityEngineGameObjectWrap:_m_SetActive <0x0006a> at <unknown> <0xffffffff> at XLua.LuaDLL.Lua:lua_pcall <0x000a2> at XLua.DelegateBridge:PCall <0x00042> at XLua.DelegateBridge:__Gen_Delegate_Imp4 <0x0011a> at UnityEngine.UI.FreeTypeScrollView:SetDataForItemAtIndex <0x0005e> at UnityEngine.UI.FreeTypeScrollView:OnGetItemForDataIndex <0x0002a> at UnityEngine.UI.FreeTypeScrollView:ResetCriticalItems <0x001d2> at UnityEngine.UI.FreeTypeScrollView:InternalUpdateData <0x003ca> at UnityEngine.UI.FreeTypeScrollView:UpdateData <0x0004a> at XLua.CSObjectWrap.UnityEngineUIFreeTypeScrollViewWrap:_m_UpdateData <0x000c2> at XLua.CSObjectWrap.UnityEngineUIFreeTypeScrollViewWrap:_m_UpdateData <0x0006a> at <unknown> <0xffffffff> at ACE.TJFramework:NativePerformFunctionInMainThread <0x00086> at ACE.TJFramework:Update <0x00022> at ACE.Launch:Update <0x00062> at System.Object:runtime_invoke_void__this__ <0x00087> ================================================================= Received signal SIGSEGV Obtained 54 stack frames 0x00007ff7e39eb564 (Unity) UI::CanvasManager::AddCanvas 0x00007ff7e39ff8c3 (Unity) UI::Canvas::AddToManager 0x00007ff7e39ffef5 (Unity) UI::Canvas::AwakeFromLoad 0x00007ff7e348ad47 (Unity) AwakeFromLoadQueue::InvokeAwakeFromLoad 0x00007ff7e3485ac3 (Unity) AwakeFromLoadQueue::AwakeFromLoadAllQueues 0x00007ff7e2d60cca (Unity) GameObject::ActivateAwakeRecursively 0x00007ff7e2d68489 (Unity) GameObject::SetSelfActive 0x00007ff7e268d73b (Unity) GameObject_CUSTOM_SetActive 0x0000020a6e088d5c (Mono JIT Code) (wrapper managed-to-native) UnityEngine.GameObject:SetActive (UnityEngine.GameObject,bool) 0x0000020a6f72dbd3 (Mono JIT Code) [UnityEngineGameObjectWrap.cs:739] XLua.CSObjectWrap.UnityEngineGameObjectWrap:_m_SetActive (intptr) 0x0000020a6ee3c26b (Mono JIT Code) (wrapper native-to-managed) XLua.CSObjectWrap.UnityEngineGameObjectWrap:_m_SetActive (intptr) 0x00007ffdd21debdc (xlua) cls_newindexer 0x00007ffdd21d2cb0 (xlua) 0x00007ffdd22d687b (xlua) lua_pcall 0x00000206b7593443 (Mono JIT Code) (wrapper managed-to-native) XLua.LuaDLL.Lua:lua_pcall (intptr,int,int,int) 0x0000020a6f41c843 (Mono JIT Code) [DelegateBridge.cs:138] XLua.DelegateBridge:PCall (intptr,int,int,int) 0x0000020a990b011b (Mono JIT Code) [DelegatesGensBridge.cs:123] XLua.DelegateBridge:__Gen_Delegate_Imp4 (int,UnityEngine.GameObject) 0x0000020a6f5bffbf (Mono JIT Code) [FreeTypeScrollView.cs:503] UnityEngine.UI.FreeTypeScrollView:SetDataForItemAtIndex (UnityEngine.RectTransform,int) 0x0000020a6f72ff7b (Mono JIT Code) [FreeTypeScrollView.cs:496] UnityEngine.UI.FreeTypeScrollView:OnGetItemForDataIndex (UnityEngine.RectTransform,int) 0x0000020aa1e8e5a3 (Mono JIT Code) [FreeTypeScrollView.cs:285] UnityEngine.UI.FreeTypeScrollView:ResetCriticalItems () 0x0000020aa1e8e28b (Mono JIT Code) [FreeTypeScrollView.cs:275] UnityEngine.UI.FreeTypeScrollView:InternalUpdateData () 0x0000020aa1e8dceb (Mono JIT Code) [FreeTypeScrollView.cs:140] UnityEngine.UI.FreeTypeScrollView:UpdateData () 0x0000020aa1e8db33 (Mono JIT Code) [UnityEngineUIFreeTypeScrollViewWrap.cs:327] XLua.CSObjectWrap.UnityEngineUIFreeTypeScrollViewWrap:_m_UpdateData (intptr) 0x0000020aa1e887eb (Mono JIT Code) (wrapper native-to-managed) XLua.CSObjectWrap.UnityEngineUIFreeTypeScrollViewWrap:_m_UpdateData (intptr) 0x00007ffdd21debdc (xlua) cls_newindexer 0x00007ffdd21d2cb0 (xlua) 0x00007ffdd22d687b (xlua) lua_pcall 0x00007ffdd22059ad (xlua) vfprintf 0x00007ffdd22052b5 (xlua) vfprintf 0x00007ffdd21e1745 (xlua) xlua_upvalueindex 0x0000020a6f5f3d27 (Mono JIT Code) (wrapper managed-to-native) ACE.TJFramework:NativePerformFunctionInMainThread () 0x0000020a6f5f3b13 (Mono JIT Code) [TJFramework.cs:181] ACE.TJFramework:Update () 0x0000020a6e1b6b63 (Mono JIT Code) [Launch.cs:135] ACE.Launch:Update () 0x0000020ab998d438 (Mono JIT Code) (wrapper runtime-invoke) object:runtime_invoke_void__this__ (object,intptr,intptr,intptr) 0x00007ffdbbd0fe24 (mono-2.0-bdwgc) [mini-runtime.c:3445] mono_jit_runtime_invoke 0x00007ffdbbc4e764 (mono-2.0-bdwgc) [object.c:3066] do_runtime_invoke 0x00007ffdbbc4e8fc (mono-2.0-bdwgc) [object.c:3113] mono_runtime_invoke 0x00007ff7e33d5994 (Unity) scripting_method_invoke 0x00007ff7e33b5214 (Unity) ScriptingInvocation::Invoke 0x00007ff7e339e4f4 (Unity) MonoBehaviour::CallMethodIfAvailable 0x00007ff7e339e5e2 (Unity) MonoBehaviour::CallUpdateMethod 0x00007ff7e2e8b138 (Unity) BaseBehaviourManager::CommonUpdate<BehaviourManager> 0x00007ff7e2e9278a (Unity) BehaviourManager::Update 0x00007ff7e30a6edd (Unity) `InitPlayerLoopCallbacks'::`2'::UpdateScriptRunBehaviourUpdateRegistrator::Forward 0x00007ff7e308cb4a (Unity) ExecutePlayerLoop 0x00007ff7e308ccd6 (Unity) ExecutePlayerLoop 0x00007ff7e3092de9 (Unity) PlayerLoop 0x00007ff7e3ff35ff (Unity) PlayerLoopController::UpdateScene 0x00007ff7e3ff189f (Unity) Application::TickTimer 0x00007ff7e444200a (Unity) MainMessageLoop 0x00007ff7e44468bb (Unity) WinMain 0x00007ff7e580477e (Unity) __scrt_common_main_seh 0x00007ffe79135550 (KERNEL32) BaseThreadInitThunk 0x00007ffe79fe485b (ntdll) RtlUserThreadStart |
||||
Tags: | Unity | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008172)
jsantos 2022-11-21 12:18 |
This is not related to NoesisGUI |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2467 | [NoesisGUI] Unity3D | crash | always | 2022-11-21 12:02 | 2022-11-21 12:17 |
Reporter: | quanchao | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0 | ||
Product Build: | Resolution: | suspended | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Got a UNKNOWN while executing native code. | ||||
Description: |
================================================================= ================================================================= Managed Stacktrace: ================================================================= at <unknown> <0xffffffff> at UnityEngine.GameObject:SetActive <0x0009b> at XLua.CSObjectWrap.UnityEngineGameObjectWrap:_m_SetActive <0x000d2> at XLua.CSObjectWrap.UnityEngineGameObjectWrap:_m_SetActive <0x0006a> at <unknown> <0xffffffff> at XLua.LuaDLL.Lua:lua_pcall <0x000a2> at XLua.DelegateBridge:PCall <0x00042> at XLua.DelegateBridge:__Gen_Delegate_Imp4 <0x0011a> at UnityEngine.UI.FreeTypeScrollView:SetDataForItemAtIndex <0x0005e> at UnityEngine.UI.FreeTypeScrollView:OnGetItemForDataIndex <0x0002a> at UnityEngine.UI.FreeTypeScrollView:ResetCriticalItems <0x001d2> at UnityEngine.UI.FreeTypeScrollView:InternalUpdateData <0x003ca> at UnityEngine.UI.FreeTypeScrollView:UpdateData <0x0004a> at XLua.CSObjectWrap.UnityEngineUIFreeTypeScrollViewWrap:_m_UpdateData <0x000c2> at XLua.CSObjectWrap.UnityEngineUIFreeTypeScrollViewWrap:_m_UpdateData <0x0006a> at <unknown> <0xffffffff> at ACE.TJFramework:NativePerformFunctionInMainThread <0x00086> at ACE.TJFramework:Update <0x00022> at ACE.Launch:Update <0x00062> at System.Object:runtime_invoke_void__this__ <0x00087> ================================================================= Received signal SIGSEGV Obtained 54 stack frames 0x00007ff7e39eb564 (Unity) UI::CanvasManager::AddCanvas 0x00007ff7e39ff8c3 (Unity) UI::Canvas::AddToManager 0x00007ff7e39ffef5 (Unity) UI::Canvas::AwakeFromLoad 0x00007ff7e348ad47 (Unity) AwakeFromLoadQueue::InvokeAwakeFromLoad 0x00007ff7e3485ac3 (Unity) AwakeFromLoadQueue::AwakeFromLoadAllQueues 0x00007ff7e2d60cca (Unity) GameObject::ActivateAwakeRecursively 0x00007ff7e2d68489 (Unity) GameObject::SetSelfActive 0x00007ff7e268d73b (Unity) GameObject_CUSTOM_SetActive 0x0000020a6e088d5c (Mono JIT Code) (wrapper managed-to-native) UnityEngine.GameObject:SetActive (UnityEngine.GameObject,bool) 0x0000020a6f72dbd3 (Mono JIT Code) [UnityEngineGameObjectWrap.cs:739] XLua.CSObjectWrap.UnityEngineGameObjectWrap:_m_SetActive (intptr) 0x0000020a6ee3c26b (Mono JIT Code) (wrapper native-to-managed) XLua.CSObjectWrap.UnityEngineGameObjectWrap:_m_SetActive (intptr) 0x00007ffdd21debdc (xlua) cls_newindexer 0x00007ffdd21d2cb0 (xlua) 0x00007ffdd22d687b (xlua) lua_pcall 0x00000206b7593443 (Mono JIT Code) (wrapper managed-to-native) XLua.LuaDLL.Lua:lua_pcall (intptr,int,int,int) 0x0000020a6f41c843 (Mono JIT Code) [DelegateBridge.cs:138] XLua.DelegateBridge:PCall (intptr,int,int,int) 0x0000020a990b011b (Mono JIT Code) [DelegatesGensBridge.cs:123] XLua.DelegateBridge:__Gen_Delegate_Imp4 (int,UnityEngine.GameObject) 0x0000020a6f5bffbf (Mono JIT Code) [FreeTypeScrollView.cs:503] UnityEngine.UI.FreeTypeScrollView:SetDataForItemAtIndex (UnityEngine.RectTransform,int) 0x0000020a6f72ff7b (Mono JIT Code) [FreeTypeScrollView.cs:496] UnityEngine.UI.FreeTypeScrollView:OnGetItemForDataIndex (UnityEngine.RectTransform,int) 0x0000020aa1e8e5a3 (Mono JIT Code) [FreeTypeScrollView.cs:285] UnityEngine.UI.FreeTypeScrollView:ResetCriticalItems () 0x0000020aa1e8e28b (Mono JIT Code) [FreeTypeScrollView.cs:275] UnityEngine.UI.FreeTypeScrollView:InternalUpdateData () 0x0000020aa1e8dceb (Mono JIT Code) [FreeTypeScrollView.cs:140] UnityEngine.UI.FreeTypeScrollView:UpdateData () 0x0000020aa1e8db33 (Mono JIT Code) [UnityEngineUIFreeTypeScrollViewWrap.cs:327] XLua.CSObjectWrap.UnityEngineUIFreeTypeScrollViewWrap:_m_UpdateData (intptr) 0x0000020aa1e887eb (Mono JIT Code) (wrapper native-to-managed) XLua.CSObjectWrap.UnityEngineUIFreeTypeScrollViewWrap:_m_UpdateData (intptr) 0x00007ffdd21debdc (xlua) cls_newindexer 0x00007ffdd21d2cb0 (xlua) 0x00007ffdd22d687b (xlua) lua_pcall 0x00007ffdd22059ad (xlua) vfprintf 0x00007ffdd22052b5 (xlua) vfprintf 0x00007ffdd21e1745 (xlua) xlua_upvalueindex 0x0000020a6f5f3d27 (Mono JIT Code) (wrapper managed-to-native) ACE.TJFramework:NativePerformFunctionInMainThread () 0x0000020a6f5f3b13 (Mono JIT Code) [TJFramework.cs:181] ACE.TJFramework:Update () 0x0000020a6e1b6b63 (Mono JIT Code) [Launch.cs:135] ACE.Launch:Update () 0x0000020ab998d438 (Mono JIT Code) (wrapper runtime-invoke) object:runtime_invoke_void__this__ (object,intptr,intptr,intptr) 0x00007ffdbbd0fe24 (mono-2.0-bdwgc) [mini-runtime.c:3445] mono_jit_runtime_invoke 0x00007ffdbbc4e764 (mono-2.0-bdwgc) [object.c:3066] do_runtime_invoke 0x00007ffdbbc4e8fc (mono-2.0-bdwgc) [object.c:3113] mono_runtime_invoke 0x00007ff7e33d5994 (Unity) scripting_method_invoke 0x00007ff7e33b5214 (Unity) ScriptingInvocation::Invoke 0x00007ff7e339e4f4 (Unity) MonoBehaviour::CallMethodIfAvailable 0x00007ff7e339e5e2 (Unity) MonoBehaviour::CallUpdateMethod 0x00007ff7e2e8b138 (Unity) BaseBehaviourManager::CommonUpdate<BehaviourManager> 0x00007ff7e2e9278a (Unity) BehaviourManager::Update 0x00007ff7e30a6edd (Unity) `InitPlayerLoopCallbacks'::`2'::UpdateScriptRunBehaviourUpdateRegistrator::Forward 0x00007ff7e308cb4a (Unity) ExecutePlayerLoop 0x00007ff7e308ccd6 (Unity) ExecutePlayerLoop 0x00007ff7e3092de9 (Unity) PlayerLoop 0x00007ff7e3ff35ff (Unity) PlayerLoopController::UpdateScene 0x00007ff7e3ff189f (Unity) Application::TickTimer 0x00007ff7e444200a (Unity) MainMessageLoop 0x00007ff7e44468bb (Unity) WinMain 0x00007ff7e580477e (Unity) __scrt_common_main_seh 0x00007ffe79135550 (KERNEL32) BaseThreadInitThunk 0x00007ffe79fe485b (ntdll) RtlUserThreadStart |
||||
Tags: | Unity | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008171)
jsantos 2022-11-21 12:17 |
This is not related to NoesisGUI |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2463 | [NoesisGUI] C# SDK | minor | always | 2022-11-18 17:45 | 2022-11-18 18:13 |
Reporter: | jsantos | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.5 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.6 | ||
Target Version: | 3.1.6 | ||||
Platform: | Any | ||||
Summary: | Error Can't register embedded resources in C# SDK | ||||
Description: |
I have a project that builds and runs fine on 3.1.2. However, after updating the NuGet packages to 3.1.5, I am given this error: [NOESIS/W] Can't register embedded resources for 'NoesisDotNetFrameworkTest', no common namespace in types and resources found [NOESIS/E] Xaml not found 'App.xaml' Exception thrown: 'System.InvalidOperationException' in Noesis.App.dll An unhandled exception of type 'System.InvalidOperationException' occurred in Noesis.App.dll Startup window not defined |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008168)
jsantos 2022-11-18 17:51 (Last edited: 2022-11-18 18:13) |
In 3.1.6 we have changed a bit the way Embedded resources are loaded. Note that this is our implementation in the App Framework and it can be changed to a different one by client code. 1. Assembly is now always mandatory (as in WPF) Noesis.GUI.LoadComponent(this, "/Localization;component/MainWindow.xaml"); 2. The URIs must be prepended with the RootNamespace. We recommend setting it to empty in your csproj <RootNamespace></RootNamespace> https://learn.microsoft.com/en-us/dotnet/api/microsoft.visualstudio.vcprojectengine.vcproject.rootnamespace?view=visualstudiosdk-2019 We have added better error messages to help with the migration. All our examples have been updated. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2464 | [NoesisGUI] Unreal | minor | always | 2022-11-18 17:55 | 2022-11-18 17:56 |
Reporter: | jsantos | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.5 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.6 | ||
Target Version: | 3.1.6 | ||||
Platform: | Any | ||||
Summary: | Unreal Blueprint - Set W/Notify Regression | ||||
Description: |
It appears that if I reference Noesis views within game project settings (custom developer settings) then if I add any Noesis Set W/Notify nodes within the referenced views they regress after engine restart (the set nodes delete themselves) The settings are then loaded into a component attached to the player controller. The UI component is simple and essentially just stores the classes from the game settings on construct and then add them to viewport via some functions. Am I doing something wrong here, is it intended and possibly just how unreal and plugins work? I was incredibly confused as to why they were just getting deleted. I thought it might have been an issue with asset monitoring but no. It appears if I reboot the engine without the game settings referencing any views then the nodes stay. The nodes delete only on engine start. |
||||
Tags: | |||||
Steps To Reproduce: | https://www.noesisengine.com/forums/viewtopic.php?t=2648 | ||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2441 | [NoesisGUI] Unreal | minor | always | 2022-10-14 16:35 | 2022-11-18 11:06 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.5 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.6 | ||
Target Version: | 3.1.6 | ||||
Platform: | Any | ||||
Summary: | Changes to Application Resources xaml not setting the new dictionary | ||||
Description: |
The issue is that if I make a change to any of the merged resource dictionaries included in the application resource dictionary, then reimport them in Unreal, I do not see the changes. To see the changes, I have to re-select the app level resource dictionary in the settings panel, then shutdown Unreal Editor. Upon restarting the editor, I will see the changes Upon reimport of the resource dictionary it should set the Application Resources in the Noesis plugin, to reload this without switching to another dictionary or restarting the editor. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008167)
hcpizzi 2022-11-18 11:06 |
If the reimported XAML is the ApplicationResources XAML, SetApplicationResources is called. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2436 | [NoesisGUI] C++ SDK | major | always | 2022-10-04 01:21 | 2022-11-18 10:09 |
Reporter: | tsilmer | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.5 | ||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.6 | ||
Target Version: | 3.1.6 | ||||
Platform: | Any | ||||
Summary: | GamepadTrigger does not work inside ContextMenu | ||||
Description: | Any kind of Interaction.Triggers such as KeyTrigger, EventTrigger, etc work as expected when used inside a ContextMenu. But when a GamepadTrigger is used it does not trigger the actions. | ||||
Tags: | |||||
Steps To Reproduce: |
In the following example, the action under KeyTrigger works as expected, while the GamepadTrigger is never executed (the same GamepadTrigger outside of the ContextMenu also works just fine): <DataTemplate x:Key="TreeViewComponentStyle"> <Border x:Name="OuterBorder"> <Border.ContextMenu> <ContextMenu Name="MyContextMenu"> <MenuItem Header="Test" /> <b:Interaction.Triggers> <noesis:GamepadTrigger Button="Cancel" FiredOn="ButtonDown"> <b:InvokeCommandAction Command="{Binding Path=DataContext.DebugPrint, ElementName=MainWindow}" CommandParameter="GAMEPAD_TRIGGER"/> </noesis:GamepadTrigger> <b:KeyTrigger Key="a"> <b:InvokeCommandAction Command="{Binding Path=DataContext.DebugPrint, ElementName=MainWindow}" CommandParameter="KEY_TRIGGER"/> </b:KeyTrigger> </b:Interaction.Triggers> </ContextMenu> </Border.ContextMenu> </Border> </DataTemplate> |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008089)
sfernandez 2022-10-06 19:35 |
By default (ActiveOnFocus="False") KeyTrigger and GamepadTrigger hook to the XAML root to listen for the KeyDown/Up event. In this case what is happening with the KeyTrigger Key="A" is that no element in the event route is handling that key, so it reaches the root, and then the KeyTrigger can process the event and execute the actions. But for GamepadTrigger Button="Cancel" the MenuItem that has the submenu opened, as it is part of the event route, it handles the key (Cancel == Escape) and closes the submenu, so when the event reaches the root it is already handled and the GamepadTrigger is not processed. If you use another gamepad button (for example the "Menu" button) that is not handled by elements in the tree, then the GamepadTrigger works as expected. But what you should do is to set ActiveOnFocus="True" so the GamepadTrigger is processed on the ContextMenu where you are defining it. That way the trigger can be processed and execute its actions before other elements in the tree. <ContextMenu Name="MyContextMenu"> <b:Interaction.Triggers> <noesis:GamepadTrigger Button="Cancel" FiredOn="ButtonDown" ActiveOnFocus="True"> <b:InvokeCommandAction Command="{Binding Path=DataContext.DebugPrint, ElementName=MainWindow}" CommandParameter="GAMEPAD_TRIGGER"/> </noesis:GamepadTrigger> <b:Interaction.Triggers> ... </ContextMenu> |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2437 | [NoesisGUI] C++ SDK | major | sometimes | 2022-10-04 01:23 | 2022-11-18 10:08 |
Reporter: | tsilmer | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.5 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.6 | ||
Target Version: | 3.1.6 | ||||
Platform: | Any | ||||
Summary: | ContextMenu Placement intermittently not being respected | ||||
Description: |
We are running into a weird intermittent issue with the placement of ContextMenus. Sometimes when we open our app, the ContextMenuService.PlacementTarget and ContextMenuService.Placement properties that we set in a element is not respected and the ContextMenu is instead always placed at the mouse cursor position. The issue is intermittent though, so sometimes it works as expected and sometimes it does not, it only happens when we open the app, if we open the app and it works once then it always works and vice versa. More details on this forum thread: https://www.noesisengine.com/forums/viewtopic.php?t=2734 |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008104)
sfernandez 2022-10-18 10:11 |
Could you please try with the following patch:Index: ContextMenu.cpp =================================================================== --- ContextMenu.cpp (revision 11643) +++ ContextMenu.cpp (working copy) @@ -159,14 +159,6 @@ // Set node parent ParentClass::SetNodeParent(parent); - // Update context menu placement - CoerceValue<bool>(HasDropShadowProperty); - CoerceValue<float>(HorizontalOffsetProperty); - CoerceValue<PlacementMode>(PlacementProperty); - CoerceValue<Rect>(PlacementRectangleProperty); - CoerceValue<Ptr<UIElement>>(PlacementTargetProperty); - CoerceValue<float>(VerticalOffsetProperty); - // Notify menu items MenuItem::SetIsInsideContextMenu(this, parent != 0); } @@ -418,7 +410,13 @@ mPopupInternal->SetChild(this); mPopupInternal->Bind(this); + // Update context menu placement + CoerceValue<bool>(HasDropShadowProperty); + CoerceValue<float>(HorizontalOffsetProperty); + CoerceValue<PlacementMode>(PlacementProperty); + CoerceValue<Rect>(PlacementRectangleProperty); CoerceValue<Ptr<UIElement>>(PlacementTargetProperty); + CoerceValue<float>(VerticalOffsetProperty); Mouse* mouse = GetMouse(); mMenuCapture = DynamicCast<Menu*>(mouse->GetCaptured()); |
(0008147)
sfernandez 2022-11-08 11:22 |
Hello, did you find time to try the mentioned patch? We want to include this in the following 3.1.6 release that is coming by the end of this week. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2462 | [NoesisGUI] C++ SDK | crash | always | 2022-11-17 18:57 | 2022-11-18 01:13 |
Reporter: | AnKor | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.5 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.6 | ||
Target Version: | 3.1.6 | ||||
Platform: | Any | ||||
Summary: | Memory corruption in Noesis::String::Replace | ||||
Description: |
String::Replace does not increase capacity when replacement string is larger than the number of replaced characters (e.g. when "inserts > removes"). This causes memmove to write outside of allocated memory and corrupts the stack for small strings (or heap for large strings). There's a simple workaround (either call Reserve before Replace or use Erase + Insert combo), but the bug seems pretty major and non-obvious. |
||||
Tags: | |||||
Steps To Reproduce: |
A simple code snippet: Noesis::String x = "12345-67890"; x.Replace(5, 1, "ABCDEFGHIJKLMNOPQRSTUVWXYZ"); Results in the following state: mSize=36 mCapacity=23 mIsSmall=1 and potentially corrupts adjacent data on the stack. |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008165)
jsantos 2022-11-18 01:13 |
Thanks for catching this! Patch fixing the issue:Index: String.inl =================================================================== --- String.inl (revision 11729) +++ String.inl (working copy) @@ -430,10 +430,17 @@ NS_ASSERT(pos <= mSize); NS_ASSERT(str != nullptr); - char* dest = Begin() + pos; uint32_t removes = Min(n, mSize - pos); uint32_t inserts = (uint32_t)strlen(str); + uint32_t newSize = mSize + inserts - removes; + if (NS_UNLIKELY(newSize > Capacity())) + { + Grow(newSize); + } + + char* dest = Begin() + pos; + if (removes != inserts) { memmove(dest + inserts, dest + removes, mSize - pos - removes + 1); @@ -440,7 +447,7 @@ } memcpy(dest, str, inserts); - ForceSize(mSize + inserts - removes); + ForceSize(newSize); } //////////////////////////////////////////////////////////////////////////////////////////////////// |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2461 | [NoesisGUI] C++ SDK | feature | have not tried | 2022-11-17 07:49 | 2022-11-17 09:33 |
Reporter: | peerlessDJ | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Load image(other resource) from network | ||||
Description: | provide an implementation for this in our App Framework. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1153 | [NoesisGUI] C++ SDK | major | always | 2017-09-20 03:31 | 2022-11-16 16:39 |
Reporter: | nikobarli | Platform: | Windows | ||
Assigned To: | sfernandez | OS: | Windows 10 | ||
Priority: | normal | OS Version: | Creators Update | ||
Status: | resolved | Product Version: | 2.0.2f2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.6 | ||
Target Version: | 3.1.6 | ||||
Platform: | Any | ||||
Summary: | Memory leak when using ContextMenuService.PlacementTarget | ||||
Description: |
From http://www.noesisengine.com/forums/viewtopic.php?f=3&t=1178 The following XAML causes memory leak. The datacontext object (i.e. the object that provide SomeProperty property) is not released even after UI element is destroyed. <Grid x:Name="MyGrid" Grid.Row="0" Background="WhiteSmoke" ContextMenuService.PlacementTarget="{Binding ElementName=MyGrid}"> <Grid.ContextMenu> <ContextMenu> <MenuItem Header="{Binding SomeProperty}"></MenuItem> </ContextMenu> </Grid.ContextMenu> </Grid> Need to activate the context menu at least once (i.e right-click on the grid) to reproduce the leak. Memory doesn't leak if I either remove the ContextMenuService.PlacementTarget or the Header="{Binding SomeProperty}". |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008161)
sfernandez 2022-11-16 16:39 |
Solved in changeset r11723 |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1338 | [NoesisGUI] C++ SDK | major | always | 2018-10-30 13:22 | 2022-11-16 16:38 |
Reporter: | realesmedia | Platform: | |||
Assigned To: | sfernandez | OS: | Windows | ||
Priority: | normal | OS Version: | 10 | ||
Status: | resolved | Product Version: | 2.1.0f1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.6 | ||
Target Version: | 3.1.6 | ||||
Platform: | Any | ||||
Summary: | cyclic reference when using child user control with DataContext binding on the Parent Control | ||||
Description: |
simplified XAML for Window: <Window x:Class="TrackEditor" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" Background="#303033" Height="300" Width="900" Title="Track editor" x:Name="window" IsEnableWindowButtons="True"> <Grid> <!--UserControl.--> <WindowCaption Height="30" VerticalAlignment="Top" Background="#01000000" Margin="1,1,30,1" DataContext="{Binding ElementName=window}"> </WindowCaption> </Grid> </Window> if you use DataContext = "{Binding ElementName = window}"> then when you destroy a window, mView.Reset () does not call WindowCaption () destructor and you cannot destroy Window () because of NumRefCounts > 1 Window is holding a WindowCaption, WindowCaption holds a window |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008160)
sfernandez 2022-11-16 16:38 |
Solved in changeset r11723 |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1287 | [NoesisGUI] C++ SDK | minor | always | 2018-04-10 11:02 | 2022-11-16 16:37 |
Reporter: | hcpizzi | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.1.0f1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.6 | ||
Target Version: | 3.1.6 | ||||
Platform: | Any | ||||
Summary: | Circular dependency produces memory leaks | ||||
Description: | Attached xaml demonstrates the problem. The ToolTip binding to an ancestor is the source of the problem, without that binding there is no memory leak. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
CircularDependency.xaml (325 bytes) 2018-04-10 11:02 https://www.noesisengine.com/bugs/file_download.php?file_id=931&type=bug |
||||
Notes | |
(0005343)
sfernandez 2018-11-23 19:31 (Last edited: 2022-06-27 14:01) |
The solution is: - When an element gets Unloaded from the UI tree, detect properties with a binding expression and reset all the values stored in the DP. - Once element is added to the UI tree again (Loaded), then evaluate those expressions again to restore the effective value. When property is not using bindings, at least we should show a warning indicating the possible memory leaks and what property is causing it. |
(0008159)
sfernandez 2022-11-16 16:37 |
Solved in changeset r11723 |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2430 | [NoesisGUI] Unreal | major | always | 2022-09-23 13:07 | 2022-11-15 16:55 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.5 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.6 | ||
Target Version: | 3.1.6 | ||||
Platform: | Any | ||||
Summary: | Noesis widget blocks input for other UMG widgets or actor mouse over events | ||||
Description: |
Related to forum posts: https://www.noesisengine.com/forums/viewtopic.php?t=2718 https://www.noesisengine.com/forums/viewtopic.php?t=1273 The current implementation blocks input because Noesis widget is changing default Visibility to Visible and the widget geometry covers the entire screen. We have to leave the default Visibility set to SelfHitTestInvisible, so we can perform a HitTest with the actual UI elements of the Noesis View to determine if Noesis widget should block the input. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
HittestFix.patch (4,229 bytes) 2022-09-23 14:57 https://www.noesisengine.com/bugs/file_download.php?file_id=1689&type=bug |
||||
Notes | |
(0008083)
hcpizzi 2022-09-23 14:57 |
Hi, We've found a way to overcome this issue. I've attached a patch with our solution. It requires setting the Visibility in the NoesisView to SelfHitTestInvisible or "Not Hit-Testable (Self Only)" as is displayed in the editor. With these changes NoesisViews should behave like UMG Widgets with respect to the Visibility property: Visible means inputs are blocked, even in areas with no background. SelfHitTestInvisible means inputs are only blocked if you are hitting an active part of the UI. HitTestInvisible means every input is ignored. We've also made the change to make SelfHitTestInvisible the default Visibility value for NoesisViews. This is what UMG does, and the only reason we defaulted fo Visible was because otherwise we wouldn't get any input events. Please, try this patch and let us know if this fixes the issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2413 | [NoesisGUI] Unity3D | major | always | 2022-09-07 15:09 | 2022-11-15 14:07 |
Reporter: | t-ifs | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.5 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.6 | ||
Target Version: | 3.1.6 | ||||
Platform: | Any | ||||
Summary: | NoesisPostprocess in Unity causes the editor to get stuck | ||||
Description: | There seems to be a wide ranging issue with Unity 2021 where after using the play mode, many different types of errors created in the asset XAML files will cause the Unity Editor to freeze waiting for the assets to be processed and Unity editor has to be forcefully terminated to proceed from this. The error seems to reproduce most commonly when having two controls with the same name present in the xaml file, but only after play mode has been entered at least once. | ||||
Tags: | |||||
Steps To Reproduce: |
Create an empty Unity project with 2021.3.9f1 Import Noesis package into the project Import Buttons sample from the package Open Buttons sample Scene Enter Play Mode Exit Play Mode Open MainWindow.xaml in text editor Duplicate the whole <Button x:Name="StartButton" /> in the Xaml file (do not rename the duplicated control) and save Refocus Unity and see how the Editor gets stuck processing the asset |
||||
Additional Information: | |||||
Attached Files: |
image.png (34,234 bytes) 2022-09-07 15:09 https://www.noesisengine.com/bugs/file_download.php?file_id=1676&type=bug |
||||
Notes | |
(0008058)
jsantos 2022-09-08 10:41 |
Thank you for the time to report this. We were in conversations with Unity, time ago, with a problem in our importers, but we were unable to give them a deterministic way to reproduce. We will investigate this issue soon. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2260 | [NoesisGUI] C# SDK | minor | always | 2022-02-07 20:47 | 2022-11-15 13:02 |
Reporter: | sumel007 | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.6 | ||
Target Version: | 3.1.6 | ||||
Platform: | Any | ||||
Summary: | Inheriting from AnimationTimeline is not supported yet in C# | ||||
Description: |
As described in this thread, it's not possible to inherit from AnimationTimeLine to animate types that do not have their own animation classes out of the box. https://www.noesisengine.com/forums/viewtopic.php?f=3&p=13926#p13926 |
||||
Tags: | C# | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2372 | [NoesisGUI] Unity3D | feature | N/A | 2022-07-05 12:38 | 2022-11-15 13:01 |
Reporter: | ismael_aheartful | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.4 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.6 | ||
Target Version: | 3.1.6 | ||||
Platform: | Any | ||||
Summary: | Custom Animations Unsupported on Unity / C# | ||||
Description: |
I ran into an issue in our project with animations. I was trying to create a panel that can fade In/Out in the middle of the other animation, interrupting the Fade In for the Fade Out, or the other way around, starting the animation with the current opacity value (only using "To", not "From"). I created a custom animation extending from DoubleAnimation in our Blend project, to solve the issue with the duration of those animations having always the same duration with less value difference, and changed it to have constant speed or delta, so the animation feels the same with any starting opacity value. The problem is that it is not supported on C#/Unity, as I was being told in the forums by jsantos, after I tried the code and Found that there's no way to extend any base or defined animation class in the Noesis package. So for the moment I have to approach the issue adjusting the design a bit. Here's a simple snippet of the class that works as intented on Blend. using System; using System.Windows; using System.Windows.Media.Animation; public class DoubleFixedSpeedAnimation : DoubleAnimation { public static readonly DependencyProperty ValuePerSecondProperty = DependencyProperty.Register("ValuePerSecond", typeof(double), typeof(DoubleFixedSpeedAnimation)); public double ValuePerSecond { get { return (double)GetValue(ValuePerSecondProperty); } set { SetValue(ValuePerSecondProperty, value); } } protected override Freezable CreateInstanceCore() { return new DoubleFixedSpeedAnimation(); } protected override double GetCurrentValueCore(double defaultOriginValue, double defaultDestinationValue, AnimationClock animationClock) { double destinationValue = To ?? defaultDestinationValue; double originValue = From ?? defaultOriginValue; double value = originValue + ValuePerSecond * animationClock.CurrentTime.Value.TotalSeconds; return ValuePerSecond > 0 ? Math.Min(destinationValue, value) : Math.Max(destinationValue, value); } } |
||||
Tags: | Animations, C#, Unity | ||||
Steps To Reproduce: |
- Implement a class extending from AnimationBase or any implemented animation like DoubleAnimation. - Works on Blend project. - Unsupported on Unity. |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008155)
sfernandez 2022-11-15 13:01 |
Added new sample to GitHub: https://github.com/Noesis/Tutorials/tree/master/Samples/CustomAnimation |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2452 | [NoesisGUI] C++ SDK | minor | always | 2022-11-04 16:26 | 2022-11-14 16:31 |
Reporter: | LarianStudios | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1.5 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1.7 | ||||
Platform: | Any | ||||
Summary: | can't make a resource from an enum value | ||||
Description: |
<PlacementMode x:Key="IconPlacement">Top</PlacementMode> when I tried making this resource , noesis threw an error, it seems to be fine in wpf though assert: Enum node can't have attributes. |
||||
Tags: | |||||
Steps To Reproduce: |
place <PlacementMode x:Key="IconPlacement">Top</PlacementMode> in a ResourceDictionary and and use it some where |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2459 | [NoesisGUI] C# SDK | minor | always | 2022-11-14 07:35 | 2022-11-14 15:56 |
Reporter: | jphyzic | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1.4 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1.7 | ||||
Platform: | Any | ||||
Summary: | PolyLineSegment constructor has invalid signature | ||||
Description: |
PolyLineSegment class has a constructor with the following signature: public PolyLineSegment(ref Point points, uint numPoints, bool isStroked) which should be: public PolyLineSegment(IEnumerable<Point> points, bool isStroked) |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2377 | [NoesisGUI] Unity3D | minor | always | 2022-07-12 23:47 | 2022-11-14 14:19 |
Reporter: | Feldruebe | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.5 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.6 | ||
Target Version: | 3.1.6 | ||||
Platform: | Any | ||||
Summary: | Font Importer cannot be changed | ||||
Description: |
Same Behaviour as in 0002262. Noesis: 3.1.5 Unity Version: Unity 20221.1.3f1 |
||||
Tags: | |||||
Steps To Reproduce: |
See: 0002262 https://www.noesisengine.com/forums/viewtopic.php?t=2634 |
||||
Additional Information: | |||||
Attached Files: |
Unity_Ofcs7iDH3C.png (91,599 bytes) 2022-07-12 23:47 https://www.noesisengine.com/bugs/file_download.php?file_id=1663&type=bug |
||||
Notes | |
(0008152)
jsantos 2022-11-14 14:19 (Last edited: 2022-11-14 14:19) |
Fixed with the following patchIndex: NoesisPostprocessor.cs =================================================================== --- NoesisPostprocessor.cs (revision 11702) +++ NoesisPostprocessor.cs (working copy) @@ -101,8 +101,8 @@ else if (IsFont(assetPath)) { // Noesis uses a custom font importer that replaces Unity's default one - if (AssetDatabase.GetImporterOverride(assetPath) == null) + if (assetImporter.importSettingsMissing) { AssetDatabase.SetImporterOverride<NoesisFontImporter>(assetPath); } |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2438 | [NoesisGUI] Unity3D | major | always | 2022-10-06 23:03 | 2022-11-12 02:54 |
Reporter: | CaptainCatSparrow | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.5 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.6 | ||
Target Version: | 3.1.6 | ||||
Platform: | Android | ||||
Summary: | Unity URP camera stacking not working properly with Noesis GUI (GUI is invisible) on Android device | ||||
Description: |
NoesisGUI version 3.1.5 Unity version 2021.2.16f1 URP version 12.1.6 |
||||
Tags: | Android, Unity, Unity URP | ||||
Steps To Reproduce: |
A simple project to reproduce an issue is attached. Camera stacking example with 2 camera: 1st is for 3d world, 2nd is for NoesisGUI. Everything works fine in Editor (Game/Simulator view) on Play. On Android device NoesisGui is not visible, but button clicks/taps are working (in the attached example the text "Controls Gallery" in the center of the screen is tapable and changes non-noesis camera background color on tap). |
||||
Additional Information: | |||||
Attached Files: |
Gallery.zip (4,621,516 bytes) 2022-10-06 23:03 https://www.noesisengine.com/bugs/file_download.php?file_id=1692&type=bug Capture.rdc (1,549,154 bytes) 2022-10-09 23:47 https://www.noesisengine.com/bugs/file_download.php?file_id=1693&type=bug |
||||
Notes | |
(0008092)
jsantos 2022-10-07 12:46 |
Thanks for the report. One question, to see if this is Noesis or Unity related. If in the UI camera (2nd one), you render geometry instead of UI, does the geometry disappear too? |
(0008093)
CaptainCatSparrow 2022-10-07 14:01 |
Just tested it: a 3D cube added to scene (in a view of UI camera) is visible both in editor and device. |
(0008094)
CaptainCatSparrow 2022-10-07 14:11 |
Initially tested on Huawei Honor 9. Just tested on another device (Xiaomi Redmi Note 7), the issue is still reproducible |
(0008095)
jsantos 2022-10-07 18:04 |
I will investigate this as soon as possible. If you could send a renderdoc capture (from android) before that, I can start figuring out things. Thanks! |
(0008096)
CaptainCatSparrow 2022-10-09 23:47 |
Never actually worked with renderdoc, so if anything is wrong let me know |
(0008097)
jsantos 2022-10-10 11:04 |
Thank you! |
(0008151)
jsantos 2022-11-12 02:54 |
We have been testing different versions of URP recently and based on our measurements, we strongly encourage to avoid camera stacking on Android. There is a lot of overhead loading and storing intermediate render targets. It gives me the impression Camera Stacking is not well tested on Android (I would even say, URP in general). As you discovered is also buggy in comparison with how Desktop is implemented. Latest versions we tested (2022.1) are a bit better but still quite inefficient and buggy. In NoesisGUI 3.1.6 we have exposed a new property in the View to control when the UI renderpass executes ("Injection Point"). This way, camera stacking can be avoided. Please, feel free to reopen to comment. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2385 | [NoesisGUI] Unity3D | minor | have not tried | 2022-07-20 17:57 | 2022-11-12 02:47 |
Reporter: | jsantos | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.5 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.6 | ||
Target Version: | 3.1.6 | ||||
Platform: | Any | ||||
Summary: | UI not rendering when camera clearing set to SkyBox | ||||
Description: | https://www.noesisengine.com/forums/viewtopic.php?t=2654 | ||||
Tags: | |||||
Steps To Reproduce: |
1) Make new project using "3D Core URP" template (Unity 2021.3.6f1) 2) Setup NoesisGUI package and add "Hello World Sample" 3) Open "Hello World Sample" 4) Run --> Works ok 5) Change Camera Background to Sky-Box 6) Run --> Only Skybox is shown |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2355 | [NoesisGUI] C++ SDK | feature | have not tried | 2022-05-26 13:08 | 2022-11-11 17:49 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | maherne | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.4 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.6 | ||
Target Version: | 3.1.6 | ||||
Platform: | Any | ||||
Summary: | Implement an official localization solution | ||||
Description: |
The approach could be to use a MarkupExtension that would be able to get localized strings from resource dictionaries. It will allow you to specify the source dictionary globally for a whole view, or locally for part of the UI using an inheritable attached property (and more things like fallback texts for design time), something like this:<Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:l="clr-namespace:Localization" l:Loc.Source="Languages/lang-en.xaml"> <TextBlock Text="{l:Loc PageTitle, Id=Title}"/> ... <StackPanel l:Loc.Source="Languages/lang-fr.xaml"> <TextBlock Text="{l:Loc Id=Name}"/>... <TextBlock Text="{l:Loc Id=Address}"/>... </StackPanel> </Grid> |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1963 | [NoesisGUI] C++ SDK | feature | have not tried | 2021-04-09 18:20 | 2022-11-11 17:48 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | maherne | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.11 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.6 | ||
Target Version: | 3.1.6 | ||||
Platform: | Any | ||||
Summary: | Create a RichTextFormatterBehavior or attached property | ||||
Description: |
Create a behavior or attached property that automatically parses an "html" formatted string "< b >Lorem ipsum dolor sit amet, </ b > consectetur < i >adipiscing</ i > elit." and generates the corresponding inlines for a TextBlock. <TextBlock> <Bold>Lorem ipsum dolor sit amet, </Bold> consectetur <Italic>adipiscing</Italic> elit. </TextBlock> |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
RichTextAttachedPropertyExample.zip (3,580 bytes) 2022-07-12 12:20 https://www.noesisengine.com/bugs/file_download.php?file_id=1662&type=bug |
||||
Notes | |
(0007301)
sfernandez 2021-06-17 11:24 (Last edited: 2021-06-17 11:33) |
The easiest and simplest way to expose this is through an attached property. We already provide some extensions in the Text class like noesis:Text.Placeholder, so we can add a new one for this:<TextBlock noesis:Text.RichText="This is an [b]example[/b] of rich text"/> |
(0007482)
sgonchar 2021-09-27 19:24 (Last edited: 2021-09-27 19:25) |
Hello, wondering if we can get an ETA on this? |
(0007488)
jsantos 2021-09-28 16:51 |
We had to remove this from 3.0.X because stabilizing 3.1.X has become the top priority. Also, this feature is going to be an example in the Application framework, I am not even sure if the syntax we are going to use will be what you need (we are considering using something like markdown) or even if it will have all the features you need. So probably we could have a call about this, we can provide a minimal template that you can improve. Or wait for our example, but I am pretty sure you will add modifications. |
(0007553)
sfernandez 2021-11-02 11:44 (Last edited: 2021-11-02 11:45) |
The idea is having an attached property:<TextBlock local:TextHelpers.FormattedText="To [B]shoot[/B] something, hold [INPUT:AIM_WEAPON] and then press [INPUT:FIRE_GUN]."/> With a property changed callback that processes the original string and generates the corresponding inlines, something like this: static void OnFormattedTextChanged(DependencyObject* d, const DependencyPropertyChangedEventArgs& e) { TextBlock* textBlock = DynamicCast<TextBlock*>(d); if (textBlock != nullptr) { InlineCollection* inlines = textBlock->GetInlines(); inlines->Clear(); const String& str = e.NewValue<String>(); Vector<Token> tokens = ParseFormattedText(str.Str()); for (Token token: tokens) { switch (token.type) { case TokenType_Run: inlines->Add(MakePtr<Run>(token.text.Str())); break; case TokenType_Bold: inlines->Add(MakePtr<Bold>(MakeRun<Run>(token.text.Str()))); break; case TokenType_Image: Ptr<Image> image = MakePtr<Image>(); image->SetSource(token.imageSource); inlines->Add(MakePtr<InlineUIContainer>(image)); break; ... } } } } |
(0007942)
sfernandez 2022-05-26 13:20 |
We can extend this even with support for generating bindings automatically, for example, given the following formatted string:The cost of fuel is: [b]{Fuel.Cost}[/b] We can generate something like this: <TextBlock> <Run Text="The cost of fuel is:"/> <Bold><Run Text="{Binding Fuel.Cost}"/></Bold> </TextBlock> That will automatically bind to the TextBlock data context. |
(0008007)
sfernandez 2022-07-01 11:31 |
Related to this forum post: https://www.noesisengine.com/forums/viewtopic.php?p=14304&hilit=1963#p14253 |
(0008016)
maherne 2022-07-11 16:51 |
We have created an example RichText attached property, which will be included in an upcoming release. I've attached the example here in case you wish to start using it. This example is ready for use in production, and can be easily modified to support new BBCode tags. Documentation for use of the attached property, and for extending the BBCode tag support, can be found in comments within the RichText.h and RichText.cpp files. |
(0008017)
maherne 2022-07-12 12:20 |
Updated example, with an XML namespace correction. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2454 | [NoesisGUI] Unity3D | major | always | 2022-11-05 21:35 | 2022-11-09 16:26 |
Reporter: | stonstad | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.5 | ||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | XAML Graphics Corruption | ||||
Description: |
The following XAML icons are replaced with... render target output? See the "Reactor" icon in the top left. The icon is missing and instead it shows a grayscale view of the current render target. The same thing appears under "Device Bays" and it flickers. I am passing a render target texture to a rectangle underneath this XAML layer. It seems like it could be related to sorting, or the use of a render target texture within a XAML control. I believe I picked up this behavior in 3.1.5. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
image.png (1,698,380 bytes) 2022-11-05 21:35 https://www.noesisengine.com/bugs/file_download.php?file_id=1704&type=bug crash.dmp (3,856,521 bytes) 2022-11-06 20:53 https://www.noesisengine.com/bugs/file_download.php?file_id=1705&type=bug ShipScreen.xaml (25,058 bytes) 2022-11-07 15:38 https://www.noesisengine.com/bugs/file_download.php?file_id=1707&type=bug |
||||
Notes | |
(0008114)
stonstad 2022-11-06 20:53 |
Just following up on this behavior. 3.1.5 is essentially unusable for me due to the frequency of crashes. It would seem I can't do much anything UI related without a crash containing DragEventArgs_GetAllowedEffectsHelper in the call stack. 0x00007FF9A419DE2B (d3d11) EnableFeatureLevelUpgrade 0x00007FF9A41BBF8A (d3d11) D3D11CreateDeviceAndSwapChain 0x00007FF9A419EB86 (d3d11) EnableFeatureLevelUpgrade 0x00007FF9A419FBCC (d3d11) EnableFeatureLevelUpgrade 0x00007FF9A41A05FE (d3d11) EnableFeatureLevelUpgrade 0x00007FF9A41A0D64 (d3d11) EnableFeatureLevelUpgrade 0x00007FF9A418E4ED (d3d11) EnableFeatureLevelUpgrade 0x00007FF9A41AC429 (d3d11) EnableFeatureLevelUpgrade 0x00007FF9A41AC3D2 (d3d11) EnableFeatureLevelUpgrade 0x00007FF8923D2EA8 (Noesis) DragEventArgs_GetAllowedEffectsHelper 0x00007FF8923D307B (Noesis) DragEventArgs_GetAllowedEffectsHelper 0x00007FF892353C44 (Noesis) Noesis_RenderDeviceD3D12_WrapTexture 0x00007FF892352B45 (Noesis) Noesis_RegisterLogCallback 0x00007FF8921B289C (Noesis) NullableSize_GetStaticType 0x00007FF8923BA053 (Noesis) Noesis_RenderDeviceGL_WrapTexture 0x00007FF8923BA1DE (Noesis) Noesis_RenderDeviceGL_WrapTexture 0x00007FF89211EF68 (Noesis) Uri_GetStaticType 0x00007FF89220E394 (Noesis) MultiBindingExpression_UpdateSource 0x00007FF89220CAA8 (Noesis) MultiBindingExpression_UpdateSource 0x00007FF89235148F (Noesis) Noesis_RegisterLogCallback 0x00007FF7305EA72A (Unity) GfxDeviceWorker::RunCommand 0x00007FF7305F183D (Unity) GfxDeviceWorker::RunExt 0x00007FF7305F1958 (Unity) GfxDeviceWorker::RunGfxDeviceWorker 0x00007FF72EC82FC7 (Unity) Thread::RunThreadWrapper 0x00007FF9A997244D (KERNEL32) BaseThreadInitThunk 0x00007FF9AABCDFB8 (ntdll) RtlUserThreadStart |
(0008118)
stonstad 2022-11-07 15:38 |
Here is the associated XAML. |
(0008148)
stonstad 2022-11-08 21:10 |
OK to close. Thank you! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2456 | [NoesisGUI] C++ SDK | feature | always | 2022-11-08 05:57 | 2022-11-08 11:35 |
Reporter: | mbailey | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1.5 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1.7 | ||||
Platform: | iOS | ||||
Summary: | Display::Close() for iOS | ||||
Description: |
Continuing on from 0002366, we would like to ask for an implementation for `Display::Close()` for iOS (ie. `UIKitDisplay`) as well. This is only needed for test apps, but currently we do not have a way to exit from `UIKitDisplay::EnterMessageLoop()` during automated testing. Most alternatives to `Display::Close()` led us to crashing the app which triggers Apple's Crash Reporting UI, less than ideal for CI. Apple has provided an example implementation of what changes you should make to the current usage of `[[NSRunLoop currentRunLoop] run]` here that allows exiting: https://developer.apple.com/documentation/foundation/nsrunloop/1412430-run?language=objc Given the above example, a call to `Display::Close()` would then probably set `shouldKeepRunning = NO`, hopefully allowing us to return from `UIKitDisplay::EnterMessageLoop()` to shutdown our testing without needing to crash the app. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2440 | [NoesisGUI] C++ SDK | minor | always | 2022-10-14 10:57 | 2022-11-08 00:30 |
Reporter: | AnKor | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.5 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.6 | ||
Target Version: | 3.1.6 | ||||
Platform: | Any | ||||
Summary: | Inline enum reflection causes duplicate definition linker error | ||||
Description: |
Using NS_IMPLEMENT_INLINE_REFLECTION_ENUM in a header that is included in more than one file causes linker errors: error LNK2005: "public: static void __cdecl Noesis::TypeEnumFiller<enum Test::TestEnum>::Fill(class Noesis::TypeEnumCreator<enum Test::TestEnum> &)" (?Fill@?$TypeEnumFiller@W4TestEnum@Test@@@Noesis@@SAXAEAV?$TypeEnumCreator@W4TestEnum@Test@@@2@@Z) already defined in ***.obj error LNK2005: "public: static class Noesis::TypeEnum const * __cdecl Noesis::TypeEnumFiller<enum Test::TestEnum>::GetType(void)" (?GetType@?$TypeEnumFiller@W4TestEnum@Test@@@Noesis@@SAPEBVTypeEnum@2@XZ) already defined in ***.obj The fix is described here: https://www.noesisengine.com/forums/viewtopic.php?t=2750 |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2195 | [NoesisGUI] Unity3D | feature | always | 2021-11-18 02:46 | 2022-11-07 17:14 |
Reporter: | sericaer | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1.1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1.7 | ||||
Platform: | Any | ||||
Summary: | Support BaseUri which in ParserContext | ||||
Description: |
If the ParserContext is implemented, developer can use it for make a modable game. such as below code: var pc = new ParserContext { BaseUri = new Uri(modPath + mod + "/", UriKind.Absolute) }; var viewComponent = XamlReader.Parse(xaml, pc) as FrameworkElement; return viewComponent; https://www.noesisengine.com/forums/viewtopic.php?f=3&t=2476&sid=1ed60522610630d4abe663d030b50db1 |
||||
Tags: | C# | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2185 | [NoesisGUI] C# SDK | feature | have not tried | 2021-11-11 14:10 | 2022-11-07 17:14 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1.7 | ||||
Platform: | Any | ||||
Summary: | Provide a way to know the latest input device that interacted with the View | ||||
Description: |
In WPF you can ask the InputManager about that:if (InputManager.Current.MostRecentInputDevice is KeyboardDevice) In Noesis that information is not yet available, but it could be provided by the View, maybe something like this: private void OnButtonClicked(object sender, RoutedEventArgs e) { if (View.MostRecentInput == InputType.Mouse) { ... } else if (View.MostRecentInput == InputType.Keyboard) { ... } } |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2113 | [NoesisGUI] C++ SDK | major | always | 2021-09-15 12:02 | 2022-11-07 17:14 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1.0 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1.7 | ||||
Platform: | Any | ||||
Summary: | TwoWay property should not notify of changes if bound property returns the old value | ||||
Description: |
When a TwoWay dependency property is bound to a view model and the property is changed it tries to update the bound value in the viewmodel. If the viewmodel refuses to change and returns the same old value, the dependency property should not notify of any changes as it occurs in WPF. For example: <CheckBox x:Name="check" IsChecked="{Binding Selected}"/> public class ItemData : INotifyPropertyChanged { public ItemData() { selected = true; } private bool selected; public bool Selected { get { return selected; } set { // do nothing } } public event PropertyChangedEventHandler PropertyChanged; } After setting check.IsChecked to False, the CheckBox should NOT raise the Unchecked and Checked events, and it should remain checked. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2080 | [NoesisGUI] Unreal | crash | always | 2021-08-10 11:28 | 2022-11-07 17:14 |
Reporter: | daniel.janak | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1.0 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1.7 | ||||
Platform: | Any | ||||
Summary: | Dynamically created RadioButtons inside a ListBox crashed when using GroupName | ||||
Description: | We were incorporating design where there were radio buttons inside content ListBox to form a sort of a non-standard grid, howere it looks like when they are loaded and unloaded in the same frame possibly due to Virtualization, the game and the thread freezes and never unfreezes. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007392)
sfernandez 2021-08-30 19:58 |
I was unable to reproduce the issue. Could you please attach the Visual Studio debugger and generate a minidump when the game freezes? Are you using NoesisTheme for the ListBox/ListBoxItem styles? |
(0007439)
sfernandez 2021-09-13 13:34 (Last edited: 2021-09-13 13:35) |
Callstack when UI gets frozen:[External Code] > [Inline Frame] UE4Editor-NoesisCore.dll!Noesis::SpinMutex::Acquire() Line 87 C++ [Inline Frame] UE4Editor-NoesisCore.dll!Noesis::SpinMutex::ScopedLock::{ctor}(Noesis::SpinMutex &) Line 129 C++ UE4Editor-NoesisCore.dll!Noesis::RadioButton::OnChecked(const Noesis::RoutedEventArgs & e) Line 94 C++ UE4Editor-NoesisCore.dll!Noesis::ToggleButton::OnPropertyChanged(const Noesis::DependencyPropertyChangedEventArgs & args_) Line 164 C++ UE4Editor-NoesisCore.dll!Noesis::RadioButton::OnPropertyChanged(const Noesis::DependencyPropertyChangedEventArgs & args) Line 118 C++ UE4Editor-NoesisCore.dll!Noesis::DependencyObject::NotifyPropertyChanged(const Noesis::DependencyProperty * dp, Noesis::StoredValue * storedValue, const void * oldValue, const void * newValue, bool valueChanged, bool isBaseComponent, const Noesis::PropertyMetadata * metadata) Line 1260 C++ UE4Editor-NoesisCore.dll!Noesis::DependencyObject::InternalSetValue(const Noesis::DependencyProperty * dp, void * oldValue, const void * newValue, void * coercedValue, unsigned char priority, Noesis::Expression * newExpression, const Noesis::PropertyMetadata * metadata, Noesis::Value::Destination destination, bool isBaseComponent) Line 894 C++ UE4Editor-NoesisCore.dll!Noesis::ValueStorageManagerImpl<Noesis::Nullable<bool>>::SetValue(Noesis::DependencyObject * dob, const Noesis::DependencyProperty * dp, Noesis::BaseComponent * value, unsigned char priority, Noesis::Expression * expression, const Noesis::PropertyMetadata * metadata, Noesis::Value::Destination destination) Line 233 C++ UE4Editor-NoesisCore.dll!Noesis::ValueStorageManager::SetValueObject(Noesis::DependencyObject * dob, const Noesis::DependencyProperty * dp, Noesis::BaseComponent * value, unsigned char priority, Noesis::Expression * expression, const Noesis::PropertyMetadata * metadata, Noesis::Value::Destination destination) Line 39 C++ [Inline Frame] UE4Editor-NoesisCore.dll!Noesis::DependencyProperty::SetValueObject(Noesis::DependencyObject *) Line 208 C++ UE4Editor-NoesisCore.dll!Noesis::DependencyObject::InternalSetExpression(const Noesis::DependencyProperty * dp, Noesis::Expression * newExpression, unsigned char priority) Line 698 C++ UE4Editor-NoesisCore.dll!Noesis::DependencyObject::InternalInvalidateProperty(const Noesis::DependencyProperty * dp, unsigned char priority) Line 1109 C++ UE4Editor-NoesisCore.dll!Noesis::DependencyObject::InvalidateProperty(const Noesis::DependencyProperty * dp, unsigned char priority) Line 291 C++ UE4Editor-NoesisCore.dll!Noesis::BindingExpression::TransferSourceValue(const void * value) Line 1384 C++ UE4Editor-NoesisCore.dll!Noesis::BindingExpression::AfterSet(Noesis::DependencyObject * obj, const Noesis::DependencyProperty * prop, const void * value, bool __formal) Line 334 C++ [Inline Frame] UE4Editor-NoesisCore.dll!Noesis::DependencyObject::NotifyLocalExpression(Noesis::Expression * expression, const Noesis::DependencyProperty *) Line 1394 C++ UE4Editor-NoesisCore.dll!Noesis::DependencyObject::InternalSetValue(const Noesis::DependencyProperty * dp, void * oldValue, const void * newValue, void * coercedValue, unsigned char priority, Noesis::Expression * newExpression, const Noesis::PropertyMetadata * metadata, Noesis::Value::Destination destination, bool isBaseComponent) Line 896 C++ [Inline Frame] UE4Editor-NoesisCore.dll!Noesis::DependencyObject::SetValue_(Noesis::Int2Type<0>) Line 180 C++ [Inline Frame] UE4Editor-NoesisCore.dll!Noesis::DependencyObject::SetCurrentValue(const Noesis::DependencyProperty * dp, const Noesis::Nullable<bool> &) Line 95 C++ UE4Editor-NoesisCore.dll!Noesis::RadioButton::OnChecked(const Noesis::RoutedEventArgs & e) Line 100 C++ UE4Editor-NoesisCore.dll!Noesis::ToggleButton::OnPropertyChanged(const Noesis::DependencyPropertyChangedEventArgs & args_) Line 164 C++ UE4Editor-NoesisCore.dll!Noesis::RadioButton::OnPropertyChanged(const Noesis::DependencyPropertyChangedEventArgs & args) Line 118 C++ UE4Editor-NoesisCore.dll!Noesis::DependencyObject::Init() Line 515 C++ [Inline Frame] UE4Editor-NoesisCore.dll!Noesis::InitComponent(Noesis::IComponentInitializer * component, bool) Line 39 C++ UE4Editor-NoesisCore.dll!Noesis::BaseUICollection::Init() Line 48 C++ UE4Editor-NoesisCore.dll!Noesis::Grid::OnInit() Line 163 C++ UE4Editor-NoesisCore.dll!Noesis::DependencyObject::Init() Line 410 C++ [Inline Frame] UE4Editor-NoesisCore.dll!Noesis::InitComponent(Noesis::IComponentInitializer * doInit, bool) Line 39 C++ UE4Editor-NoesisCore.dll!Noesis::FrameworkElement::SetSingleVisualChild(Noesis::Visual * child) Line 1408 C++ UE4Editor-NoesisCore.dll!Noesis::FrameworkElement::ApplyTemplate() Line 636 C++ UE4Editor-NoesisCore.dll!Noesis::FrameworkElement::MeasureCore(const Noesis::Size & availableSize) Line 2123 C++ UE4Editor-NoesisCore.dll!Noesis::UIElement::Measure(const Noesis::Size & availableSize) Line 623 C++ UE4Editor-NoesisCore.dll!Noesis::Grid::SimpleMeasure(const Noesis::Size & availableSize) Line 308 C++ UE4Editor-NoesisCore.dll!Noesis::Grid::MeasureOverride(const Noesis::Size & availableSize) Line 276 C++ UE4Editor-NoesisCore.dll!Noesis::FrameworkElement::MeasureCore(const Noesis::Size & availableSize) Line 2164 C++ UE4Editor-NoesisCore.dll!Noesis::UIElement::Measure(const Noesis::Size & availableSize) Line 623 C++ UE4Editor-NoesisCore.dll!Noesis::FrameworkElement::MeasureOverride(const Noesis::Size & availableSize) Line 1502 C++ UE4Editor-NoesisCore.dll!Noesis::FrameworkElement::MeasureCore(const Noesis::Size & availableSize) Line 2164 C++ UE4Editor-NoesisCore.dll!Noesis::UIElement::Measure(const Noesis::Size & availableSize) Line 623 C++ UE4Editor-NoesisCore.dll!`anonymous namespace'::MeasureHelper::Measure<`anonymous namespace'::LayoutHelper::Vertical>(const Noesis::Size & availableSize, const Noesis::Size & viewport, Noesis::UIElementCollection * children, bool isScrolling, Noesis::StackPanelScrollData * scrollData) Line 269 C++ UE4Editor-NoesisCore.dll!Noesis::StackPanelHelper::Measure(Noesis::Orientation orientation, const Noesis::Size & availableSize, Noesis::UIElementCollection * children, bool isScrolling, Noesis::StackPanelScrollData * scrollData) Line 491 C++ UE4Editor-NoesisCore.dll!Noesis::VirtualizingStackPanel::MeasureOverride(const Noesis::Size & availableSize) Line 374 C++ UE4Editor-NoesisCore.dll!Noesis::FrameworkElement::MeasureCore(const Noesis::Size & availableSize) Line 2164 C++ UE4Editor-NoesisCore.dll!Noesis::UIElement::Measure(const Noesis::Size & availableSize) Line 623 C++ [Inline Frame] UE4Editor-NoesisCore.dll!Noesis::ViewLayout::ProcessMeasures() Line 586 C++ UE4Editor-NoesisCore.dll!Noesis::ViewLayout::ProcessLayout() Line 437 C++ UE4Editor-NoesisCore.dll!Noesis::ViewLayout::Layout(bool raiseRendering) Line 316 C++ [Inline Frame] UE4Editor-NoesisCore.dll!Noesis::View::UpdateContent() Line 903 C++ [Inline Frame] UE4Editor-NoesisCore.dll!Noesis::View::InternalUpdate(double) Line 887 C++ UE4Editor-NoesisCore.dll!Noesis::View::Update(double timeInSeconds) Line 820 C++ UE4Editor-NoesisRuntime.dll!UNoesisInstance::Update(float InLeft, float InTop, float InWidth, float InHeight) Line 412 C++ UE4Editor-NoesisRuntime.dll!UNoesisInstance::NativeTick(const FGeometry & MyGeometry, float InDeltaTime) Line 644 C++ UE4Editor-UMG.dll!SObjectWidget::Tick(const FGeometry & AllottedGeometry, const double InCurrentTime, const float InDeltaTime) Line 111 C++ UE4Editor-SlateCore.dll!SWidget::Paint(const FPaintArgs & Args, const FGeometry & AllottedGeometry, const FSlateRect & MyCullingRect, FSlateWindowElementList & OutDrawElements, int LayerId, const FWidgetStyle & InWidgetStyle, bool bParentEnabled) Line 1303 C++ UE4Editor-Slate.dll!SConstraintCanvas::OnPaint(const FPaintArgs & Args, const FGeometry & AllottedGeometry, const FSlateRect & MyCullingRect, FSlateWindowElementList & OutDrawElements, int LayerId, const FWidgetStyle & InWidgetStyle, bool bParentEnabled) Line 226 C++ UE4Editor-SlateCore.dll!SWidget::Paint(const FPaintArgs & Args, const FGeometry & AllottedGeometry, const FSlateRect & MyCullingRect, FSlateWindowElementList & OutDrawElements, int LayerId, const FWidgetStyle & InWidgetStyle, bool bParentEnabled) Line 1408 C++ UE4Editor-SlateCore.dll!SOverlay::OnPaint(const FPaintArgs & Args, const FGeometry & AllottedGeometry, const FSlateRect & MyCullingRect, FSlateWindowElementList & OutDrawElements, int LayerId, const FWidgetStyle & InWidgetStyle, bool bParentEnabled) Line 95 C++ UE4Editor-SlateCore.dll!SWidget::Paint(const FPaintArgs & Args, const FGeometry & AllottedGeometry, const FSlateRect & MyCullingRect, FSlateWindowElementList & OutDrawElements, int LayerId, const FWidgetStyle & InWidgetStyle, bool bParentEnabled) Line 1408 C++ UE4Editor-SlateCore.dll!SOverlay::OnPaint(const FPaintArgs & Args, const FGeometry & AllottedGeometry, const FSlateRect & MyCullingRect, FSlateWindowElementList & OutDrawElements, int LayerId, const FWidgetStyle & InWidgetStyle, bool bParentEnabled) Line 95 C++ UE4Editor-SlateCore.dll!SWidget::Paint(const FPaintArgs & Args, const FGeometry & AllottedGeometry, const FSlateRect & MyCullingRect, FSlateWindowElementList & OutDrawElements, int LayerId, const FWidgetStyle & InWidgetStyle, bool bParentEnabled) Line 1408 C++ UE4Editor-SlateCore.dll!SPanel::PaintArrangedChildren(const FPaintArgs & Args, const FArrangedChildren & ArrangedChildren, const FGeometry & AllottedGeometry, const FSlateRect & MyCullingRect, FSlateWindowElementList & OutDrawElements, int LayerId, const FWidgetStyle & InWidgetStyle, bool bParentEnabled) Line 31 C++ UE4Editor-SlateCore.dll!SPanel::OnPaint(const FPaintArgs & Args, const FGeometry & AllottedGeometry, const FSlateRect & MyCullingRect, FSlateWindowElementList & OutDrawElements, int LayerId, const FWidgetStyle & InWidgetStyle, bool bParentEnabled) Line 12 C++ UE4Editor-SlateCore.dll!SWidget::Paint(const FPaintArgs & Args, const FGeometry & AllottedGeometry, const FSlateRect & MyCullingRect, FSlateWindowElementList & OutDrawElements, int LayerId, const FWidgetStyle & InWidgetStyle, bool bParentEnabled) Line 1408 C++ UE4Editor-SlateCore.dll!SPanel::PaintArrangedChildren(const FPaintArgs & Args, const FArrangedChildren & ArrangedChildren, const FGeometry & AllottedGeometry, const FSlateRect & MyCullingRect, FSlateWindowElementList & OutDrawElements, int LayerId, const FWidgetStyle & InWidgetStyle, bool bParentEnabled) Line 31 C++ UE4Editor-SlateCore.dll!SPanel::OnPaint(const FPaintArgs & Args, const FGeometry & AllottedGeometry, const FSlateRect & MyCullingRect, FSlateWindowElementList & OutDrawElements, int LayerId, const FWidgetStyle & InWidgetStyle, bool bParentEnabled) Line 12 C++ UE4Editor-SlateCore.dll!SWidget::Paint(const FPaintArgs & Args, const FGeometry & AllottedGeometry, const FSlateRect & MyCullingRect, FSlateWindowElementList & OutDrawElements, int LayerId, const FWidgetStyle & InWidgetStyle, bool bParentEnabled) Line 1408 C++ UE4Editor-SlateCore.dll!SCompoundWidget::OnPaint(const FPaintArgs & Args, const FGeometry & AllottedGeometry, const FSlateRect & MyCullingRect, FSlateWindowElementList & OutDrawElements, int LayerId, const FWidgetStyle & InWidgetStyle, bool bParentEnabled) Line 35 C++ UE4Editor-Engine.dll!SGameLayerManager::OnPaint(const FPaintArgs & Args, const FGeometry & AllottedGeometry, const FSlateRect & MyCullingRect, FSlateWindowElementList & OutDrawElements, int LayerId, const FWidgetStyle & InWidgetStyle, bool bParentEnabled) Line 292 C++ UE4Editor-SlateCore.dll!SWidget::Paint(const FPaintArgs & Args, const FGeometry & AllottedGeometry, const FSlateRect & MyCullingRect, FSlateWindowElementList & OutDrawElements, int LayerId, const FWidgetStyle & InWidgetStyle, bool bParentEnabled) Line 1408 C++ UE4Editor-SlateCore.dll!SCompoundWidget::OnPaint(const FPaintArgs & Args, const FGeometry & AllottedGeometry, const FSlateRect & MyCullingRect, FSlateWindowElementList & OutDrawElements, int LayerId, const FWidgetStyle & InWidgetStyle, bool bParentEnabled) Line 35 C++ UE4Editor-Slate.dll!SViewport::OnPaint(const FPaintArgs & Args, const FGeometry & AllottedGeometry, const FSlateRect & MyCullingRect, FSlateWindowElementList & OutDrawElements, int LayerId, const FWidgetStyle & InWidgetStyle, bool bParentEnabled) Line 145 C++ UE4Editor-SlateCore.dll!SWidget::Paint(const FPaintArgs & Args, const FGeometry & AllottedGeometry, const FSlateRect & MyCullingRect, FSlateWindowElementList & OutDrawElements, int LayerId, const FWidgetStyle & InWidgetStyle, bool bParentEnabled) Line 1408 C++ UE4Editor-SlateCore.dll!SCompoundWidget::OnPaint(const FPaintArgs & Args, const FGeometry & AllottedGeometry, const FSlateRect & MyCullingRect, FSlateWindowElementList & OutDrawElements, int LayerId, const FWidgetStyle & InWidgetStyle, bool bParentEnabled) Line 35 C++ UE4Editor-SlateCore.dll!SWidget::Paint(const FPaintArgs & Args, const FGeometry & AllottedGeometry, const FSlateRect & MyCullingRect, FSlateWindowElementList & OutDrawElements, int LayerId, const FWidgetStyle & InWidgetStyle, bool bParentEnabled) Line 1408 C++ UE4Editor-SlateCore.dll!SPanel::PaintArrangedChildren(const FPaintArgs & Args, const FArrangedChildren & ArrangedChildren, const FGeometry & AllottedGeometry, const FSlateRect & MyCullingRect, FSlateWindowElementList & OutDrawElements, int LayerId, const FWidgetStyle & InWidgetStyle, bool bParentEnabled) Line 31 C++ UE4Editor-SlateCore.dll!SPanel::OnPaint(const FPaintArgs & Args, const FGeometry & AllottedGeometry, const FSlateRect & MyCullingRect, FSlateWindowElementList & OutDrawElements, int LayerId, const FWidgetStyle & InWidgetStyle, bool bParentEnabled) Line 12 C++ UE4Editor-SlateCore.dll!SWidget::Paint(const FPaintArgs & Args, const FGeometry & AllottedGeometry, const FSlateRect & MyCullingRect, FSlateWindowElementList & OutDrawElements, int LayerId, const FWidgetStyle & InWidgetStyle, bool bParentEnabled) Line 1408 C++ UE4Editor-SlateCore.dll!SPanel::PaintArrangedChildren(const FPaintArgs & Args, const FArrangedChildren & ArrangedChildren, const FGeometry & AllottedGeometry, const FSlateRect & MyCullingRect, FSlateWindowElementList & OutDrawElements, int LayerId, const FWidgetStyle & InWidgetStyle, bool bParentEnabled) Line 31 C++ UE4Editor-SlateCore.dll!SPanel::OnPaint(const FPaintArgs & Args, const FGeometry & AllottedGeometry, const FSlateRect & MyCullingRect, FSlateWindowElementList & OutDrawElements, int LayerId, const FWidgetStyle & InWidgetStyle, bool bParentEnabled) Line 12 C++ UE4Editor-SlateCore.dll!SWidget::Paint(const FPaintArgs & Args, const FGeometry & AllottedGeometry, const FSlateRect & MyCullingRect, FSlateWindowElementList & OutDrawElements, int LayerId, const FWidgetStyle & InWidgetStyle, bool bParentEnabled) Line 1408 C++ UE4Editor-SlateCore.dll!SOverlay::OnPaint(const FPaintArgs & Args, const FGeometry & AllottedGeometry, const FSlateRect & MyCullingRect, FSlateWindowElementList & OutDrawElements, int LayerId, const FWidgetStyle & InWidgetStyle, bool bParentEnabled) Line 95 C++ UE4Editor-SlateCore.dll!SWidget::Paint(const FPaintArgs & Args, const FGeometry & AllottedGeometry, const FSlateRect & MyCullingRect, FSlateWindowElementList & OutDrawElements, int LayerId, const FWidgetStyle & InWidgetStyle, bool bParentEnabled) Line 1408 C++ UE4Editor-SlateCore.dll!SCompoundWidget::OnPaint(const FPaintArgs & Args, const FGeometry & AllottedGeometry, const FSlateRect & MyCullingRect, FSlateWindowElementList & OutDrawElements, int LayerId, const FWidgetStyle & InWidgetStyle, bool bParentEnabled) Line 35 C++ UE4Editor-SlateCore.dll!SWidget::Paint(const FPaintArgs & Args, const FGeometry & AllottedGeometry, const FSlateRect & MyCullingRect, FSlateWindowElementList & OutDrawElements, int LayerId, const FWidgetStyle & InWidgetStyle, bool bParentEnabled) Line 1408 C++ UE4Editor-SlateCore.dll!SWindow::PaintSlowPath(const FSlateInvalidationContext & Context) Line 2058 C++ UE4Editor-SlateCore.dll!FSlateInvalidationRoot::PaintInvalidationRoot(const FSlateInvalidationContext & Context) Line 240 C++ UE4Editor-SlateCore.dll!SWindow::PaintWindow(double CurrentTime, float DeltaTime, FSlateWindowElementList & OutDrawElements, const FWidgetStyle & InWidgetStyle, bool bParentEnabled) Line 2090 C++ UE4Editor-Slate.dll!FSlateApplication::DrawWindowAndChildren(const TSharedRef<SWindow,0> & WindowToDraw, FDrawWindowArgs & DrawWindowArgs) Line 1056 C++ UE4Editor-Slate.dll!FSlateApplication::PrivateDrawWindows(TSharedPtr<SWindow,0> DrawOnlyThisWindow) Line 1279 C++ UE4Editor-Slate.dll!FSlateApplication::DrawWindows() Line 1017 C++ UE4Editor-Slate.dll!FSlateApplication::TickAndDrawWidgets(float DeltaTime) Line 1569 C++ UE4Editor-Slate.dll!FSlateApplication::Tick(ESlateTickType TickType) Line 1423 C++ UE4Editor.exe!FEngineLoop::Tick() Line 4946 C++ [Inline Frame] UE4Editor.exe!EngineTick() Line 62 C++ UE4Editor.exe!GuardedMain(const wchar_t * CmdLine) Line 169 C++ UE4Editor.exe!WinMain(HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, char * __formal, int nCmdShow) Line 293 C++ [External Code] |
(0007443)
sfernandez 2021-09-15 11:06 (Last edited: 2021-09-15 11:08) |
I've been trying to reproduce this issue and the only way to freeze it is if the item viewmodel does not update the value bound to the IsChecked property on its setter. For example:struct ItemData: public BaseComponent, public INotifyPropertyChanged { ItemData(bool s): selected(s) { } bool selected; bool GetSelected() const { return selected; } void SetSelected(bool value) { // do nothing here? } PropertyChangedEventHandler& PropertyChanged() override { return changed; } PropertyChangedEventHandler changed; NS_IMPLEMENT_INTERFACE_FIXUP NS_IMPLEMENT_INLINE_REFLECTION(ItemData, BaseComponent) { NsImpl<INotifyPropertyChanged>(); NsProp("Selected", &ItemData::GetSelected, &ItemData::SetSelected); } }; <DataTemplate x:Key="it"> <RadioButton GroupName="options" Content="Selected?" IsChecked="{Binding Selected}"/> </DataTemplate> What happens with this scenario is that when a RadioButton is Checked it unchecks other buttons in the same group. When the binding updates the source value ("Selected"), as it doesn't really change, the binding tries to restore the property value back to true to sync it with the view model, leading to a new Checked event. We should find a way to avoid freezing in this scenario but it looks that something is not correct in the view model too, could you check that? |
(0007474)
daniel.janak 2021-09-23 09:58 (Last edited: 2021-09-23 10:31) |
Hi, we use FGuid as a check if the button is selected. So the Selected binding is a getter and setter. In setter, it sets a player FGuid assigned in view model to our gameplay system if true, and in getter it checks the system if the FGuid corresponds to the one stored in the view model for the button. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1937 | [NoesisGUI] C# SDK | feature | always | 2021-03-10 16:19 | 2022-11-07 17:14 |
Reporter: | Faerdan | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | feedback | Product Version: | 3.0.10 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1.7 | ||||
Platform: | Any | ||||
Summary: | Expose FrameworkElement AddLogicalChild(object) and RemoveLogicalChild(object) methods | ||||
Description: |
FrameworkElement.AddLogicalChild(object) and FrameworkElement.RemoveLogicalChild(object) allow for management of the logical tree. https://docs.microsoft.com/en-us/dotnet/api/system.windows.frameworkelement.addlogicalchild?view=net-5.0 https://docs.microsoft.com/en-us/dotnet/api/system.windows.frameworkelement.removelogicalchild?view=net-5.0 These methods are required to allow logical tree based binding within dependency property values. Example (works in WPF): <common:TextContentControl Text="((holdingsScreen_txt_title))"> <common:TextContentControl.TextParameters> <common:ParameterViewData Key="key2" Value="{Binding CurrenciesData.Fuel}" /> </common:TextContentControl.TextParameters> </common:TextContentControl> private static void OnTextParametersChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { if (d is TextContentControl textContentControl) { if (e.OldValue != null) { textContentControl.RemoveLogicalChild(e.OldValue); } if (e.NewValue != null) { textContentControl.AddLogicalChild(e.NewValue); } } } |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007717)
Faerdan 2022-01-07 10:56 |
Any update on when this feature will be added? I've tried the recommended workaround, binding to an ElementName, but this doesn't work either. The Value properties below are empty in the code behind. ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- <controls:TextControl x:Name="label_level" Text="((txt.heroUnitsScreen.label_level))" > <controls:TextControl.TextParameters> <common:ParameterViewData Key="currentLevel" Value="{Binding DataContext.HeroUnit.Level, ElementName=label_level}"/> <common:ParameterViewData Key="actualWidth" Value="{Binding ActualWidth, ElementName=label_level}"/> </controls:TextControl.TextParameters> </controls:TextControl> ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- public static readonly DependencyProperty TextParametersProperty = DependencyProperty.Register(nameof(TextParameters), typeof(ParameterCollection), typeof(TextControl), new PropertyMetadata(null, OnTextParametersChanged)); ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- public class ParameterCollection : FreezableCollection<ParameterViewData> { } public class ParameterViewData : Freezable, ITextParameter { public string Key { get { return (string)GetValue(KeyProperty); } set { SetValue(KeyProperty, value); } } public static readonly DependencyProperty KeyProperty = DependencyProperty.Register( nameof(Key), typeof(string), typeof(ParameterViewData), new PropertyMetadata(null)); public object Value { get { return (object)GetValue(ValueProperty); } set { SetValue(ValueProperty, value); } } public static readonly DependencyProperty ValueProperty = DependencyProperty.Register( nameof(Value), typeof(object), typeof(ParameterViewData), new PropertyMetadata(null)); #if !NOESIS protected override Freezable CreateInstanceCore() { return new ParameterViewData(); } #endif ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
(0007720)
sfernandez 2022-01-10 18:18 |
Hi, this issue was not planned for the next version yet, I'll add it to our roadmap. I just verified that the workaround works as expected if you use Animatable as the base class for the params class: public class ParameterViewData : Animatable { public string Key { get { return (string)GetValue(KeyProperty); } set { SetValue(KeyProperty, value); } } public static readonly DependencyProperty KeyProperty = DependencyProperty.Register( nameof(Key), typeof(string), typeof(ParameterViewData), new PropertyMetadata(null)); public object Value { get { return (object)GetValue(ValueProperty); } set { SetValue(ValueProperty, value); } } public static readonly DependencyProperty ValueProperty = DependencyProperty.Register( nameof(Value), typeof(object), typeof(ParameterViewData), new PropertyMetadata(null)); } public class ParameterCollection : FreezableCollection<ParameterViewData> { } public class TextControl : ContentControl { public ParameterCollection TextParameters { get { return (ParameterCollection)GetValue(TextParametersProperty); } set { SetValue(TextParametersProperty, value); } } public static readonly DependencyProperty TextParametersProperty = DependencyProperty.Register( "TextParameters", typeof(ParameterCollection), typeof(TextControl), new PropertyMetadata(null, OnTextParametersChanged)); ... } |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2331 | [NoesisGUI] C++ SDK | feature | have not tried | 2022-04-14 11:14 | 2022-11-07 17:14 |
Reporter: | jsantos | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1.7 | ||||
Platform: | Any | ||||
Summary: | Add Repeater support to Lottie | ||||
Description: | Repeater is one of after effects base features allowing you to add a repeat function to any vector shape layer, path or object. Repeater duplicates the vector paths by creating and offsetting copies of it which can be manipulated in a consistent pattern. Note: Repeater is stackable and can repeat itself (this is based on layer hierarchy). | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
AE_repeater_example.zip (58,878 bytes) 2022-04-14 12:07 https://www.noesisengine.com/bugs/file_download.php?file_id=1623&type=bug |
||||
Notes | |
(0007901)
jsantos 2022-04-14 12:07 |
|
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2305 | [NoesisGUI] Unity3D | crash | have not tried | 2022-03-09 20:13 | 2022-11-07 17:14 |
Reporter: | stonstad | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1.3 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1.7 | ||||
Platform: | Any | ||||
Summary: | Noesis Crashes Unity Editor On Button Click | ||||
Description: |
Stack Trace: 0x00007FFE1A6FE1A7 (d3d11) (function-name not available) 0x00007FFE1A72CEF3 (d3d11) D3D11CoreCreateDevice 0x00007FFE1A730BB8 (d3d11) D3D11CoreCreateDevice 0x00007FFE1A718624 (d3d11) D3D11CoreCreateLayeredDevice 0x00007FFE1A718D1D (d3d11) D3D11CoreCreateLayeredDevice 0x00007FFE1A719072 (d3d11) D3D11CoreCreateLayeredDevice ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FFE1A6FD915) 0x00007FFE1A6FD915 (d3d11) (function-name not available) ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FFE1A6FD6D2) 0x00007FFE1A6FD6D2 (d3d11) (function-name not available) ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FFE1A6FD692) 0x00007FFE1A6FD692 (d3d11) (function-name not available) 0x00007FFD47DBD3E8 (Noesis) MouseButtonEventArgs_ChangedButton_get 0x00007FFD47DBD5BB (Noesis) MouseButtonEventArgs_ChangedButton_get 0x00007FFD47D3E484 (Noesis) Noesis_RenderDeviceD3D12_WrapTexture 0x00007FFD47D3D385 (Noesis) Noesis_RegisterLogCallback 0x00007FFD47B9FFFC (Noesis) TextCompositionEventArgs_GetTextHelper 0x00007FFD47DA4783 (Noesis) Noesis_RenderDeviceGL_WrapTexture 0x00007FFD47DA490E (Noesis) Noesis_RenderDeviceGL_WrapTexture 0x00007FFD47B0E558 (Noesis) Uri_GetStaticType 0x00007FFD47BFA234 (Noesis) DragEventArgs_SetEffectsHelper 0x00007FFD47BF87D8 (Noesis) DragEventArgs_SetEffectsHelper 0x00007FFD47D3BC3F (Noesis) Noesis_RegisterLogCallback 0x00007FF67AD52FB4 (Unity) GfxDeviceWorker::RunCommand 0x00007FF67AD5970D (Unity) GfxDeviceWorker::RunExt 0x00007FF67AD59828 (Unity) GfxDeviceWorker::RunGfxDeviceWorker 0x00007FF6794646C7 (Unity) Thread::RunThreadWrapper 0x00007FFE236054E0 (KERNEL32) BaseThreadInitThunk 0x00007FFE2480485B (ntdll) RtlUserThreadStart |
||||
Tags: | |||||
Steps To Reproduce: | Clicked button and editor crashed. This appears to be new behavior in either Noesis 3.1.3 or Unity 2021.2.14f1. I suspect Noesis since it is in the stack trace but I am still gathering information. I do not know if it is repeatable. | ||||
Additional Information: | |||||
Attached Files: |
Crash_2022-03-09_190201906.zip (1,610,434 bytes) 2022-03-09 20:13 https://www.noesisengine.com/bugs/file_download.php?file_id=1606&type=bug |
||||
Notes | |
(0007849)
stonstad 2022-03-09 21:15 |
Updating to report that this is not repeatable. It has not happened again so far. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2294 | [NoesisGUI] Unreal | feature | have not tried | 2022-02-28 15:42 | 2022-11-07 17:14 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1.7 | ||||
Platform: | Any | ||||
Summary: | Create Visual Studio project templates for Unreal | ||||
Description: |
Define a Visual Studio project template that allows creating Unreal projects with NoesisGUI. There should be an option to select if you want to create a Blueprint or C++ project. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2254 | [NoesisGUI] C# SDK | feature | always | 2022-01-31 19:30 | 2022-11-07 17:14 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1.2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1.7 | ||||
Platform: | Any | ||||
Summary: | Support commands that inherit from DependencyObject | ||||
Description: |
From forum post: https://www.noesisengine.com/forums/viewtopic.php?f=3&t=2537public class CommandProxy : DependencyObject, ICommand This will allow creating commands with bindable properties. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2253 | [NoesisGUI] C++ SDK | minor | always | 2022-01-31 19:22 | 2022-11-07 17:14 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1.2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1.7 | ||||
Platform: | Any | ||||
Summary: | Converter not called when binding to TransformGroup that internally changes | ||||
Description: |
From forum post: https://www.noesisengine.com/forums/viewtopic.php?f=3&t=2535 In WPF the converter is called everytime a child transform changes any of its values. |
||||
Tags: | |||||
Steps To Reproduce: |
<Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="clr-namespace:Testing"> <Grid.Resources> <local:PassConverter x:Key="conv"/> <ControlTemplate x:Key="ct" TargetType="Control"> <ControlTemplate.Resources> <Storyboard x:Key="anim"> <DoubleAnimationUsingKeyFrames Storyboard.TargetName="scalingGrid" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleX)"> <EasingDoubleKeyFrame KeyTime="0" Value="1"/> <EasingDoubleKeyFrame KeyTime="0:0:1" Value="3"/> <EasingDoubleKeyFrame KeyTime="0:0:2" Value="1"/> </DoubleAnimationUsingKeyFrames> </Storyboard> </ControlTemplate.Resources> <Grid x:Name="scalingGrid" Background="Red" RenderTransformOrigin="0.5,0.5"> <Grid.RenderTransform> <TransformGroup> <ScaleTransform/> <SkewTransform/> <RotateTransform/> <TranslateTransform/> </TransformGroup> </Grid.RenderTransform> <Grid RenderTransformOrigin="0.5,0.5" Margin="20" Background="#8000FF00" RenderTransform="{Binding RenderTransform, ElementName=scalingGrid, Converter={StaticResource conv}}"/> </Grid> <ControlTemplate.Triggers> <EventTrigger RoutedEvent="MouseEnter"> <BeginStoryboard Storyboard="{StaticResource anim}"/> </EventTrigger> </ControlTemplate.Triggers> </ControlTemplate> </Grid.Resources> <Control Width="100" Height="100" Template="{StaticResource ct}"/> </Grid> |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2447 | [NoesisGUI] C++ SDK | minor | always | 2022-10-26 17:40 | 2022-11-07 17:13 |
Reporter: | echapin | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1.5 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1.7 | ||||
Platform: | Windows | ||||
Summary: | Directionally navigating to first or last item in view in scrolling TreeView does not bring full item into view | ||||
Description: |
Original forum post here: https://www.noesisengine.com/forums/viewtopic.php?t=2774 When directionally navigating down or up to bring a TreeViewItem into view within a scrolling TreeView, the item is not brought fully into view, resulting in the need to explicitly scroll down or up to view the rest of the item. The expectation would be that directionally navigating would scroll as much as needed to display the full item. |
||||
Tags: | C++, xaml | ||||
Steps To Reproduce: |
Place more TreeViewItems than can be visible within a VirtualizingStackPanel inside of a TreeView and allow content to scroll. Directionally navigate down from the last visible item to bring the next item into view. The next item is only brought partially into view, resulting in needing to explicitly scroll to view the full item. |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2444 | [NoesisGUI] C++ SDK | feature | always | 2022-10-18 10:18 | 2022-11-07 17:13 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1.5 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1.7 | ||||
Platform: | Any | ||||
Summary: | ObservableCollection's CollectionChanged event not working in EventTrigger | ||||
Description: |
CollectionChanged event is not exposed in the reflection and doesn't work with EventTrigger. The following XAML won't fire the actions when "StickyLog" collection changes: <b:Interaction.Triggers> <b:EventTrigger SourceObject="{Binding StickyLog}" EventName="CollectionChanged"> <b:InvokeCommandAction Command="{Binding ElementName=CPanel, Path=ScrollToEndCommand}"/> </b:EventTrigger> </b:Interaction.Triggers> |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2439 | [NoesisGUI] C++ SDK | feature | always | 2022-10-10 10:22 | 2022-11-07 17:13 |
Reporter: | sergey_sitnikov_ninjatheory | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1.5 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1.7 | ||||
Platform: | Any | ||||
Summary: | IsSelectionRangeEnabled/SelectionStart/SelectionEnd functionality is not implemented | ||||
Description: | Slider properties IsSelectionRangeEnabled, SelectionStart and SelectionEnd exist in the Noesis implementation, however those properties are not functional. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008098)
sfernandez 2022-10-11 10:30 |
Hi, in WPF those properties are just informative and can be used in your custom template to show a range. But Slider's default implementation does not enforce its value/thumb to move inside that range, or have logic to modify the selection limits. As explained here (https://social.msdn.microsoft.com/Forums/en-US/a9eb8697-3ae4-4045-9508-a75d6168a8af/customizing-the-primitive-slider-control-into-a-range-selector?forum=wpf) you can have a user control that adds a couple of Thumbs to control the selection limits, and then handle the SelectionChanged to make sure slider value does not goes out those limits. Is that what you are looking for? |
(0008099)
sergey_sitnikov_ninjatheory 2022-10-11 11:07 |
Hi Sergio, I have been referencing the UpdateSelectionRangeElementPositionAndSize() function in Slider.cs of the PresentationFramework. I can see that it directly uses SelectionEnd and SelectionStart properties and also utilises the element with specific name PART_SelectionRange . I couldn't find similar code in the Slider implementation of Noesis. |
(0008100)
sfernandez 2022-10-11 11:42 |
So it is just the visual information that is not updated for the PART_SelectionRange, ok, we will implement it if that is what you need. |
(0008101)
sergey_sitnikov_ninjatheory 2022-10-11 11:49 |
Thank you Sergio. At the moment, I have implemented using a custom control, however it would be great to see it as a part of the slider functionality. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2425 | [NoesisGUI] C++ SDK | minor | always | 2022-09-19 18:28 | 2022-11-07 17:13 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1.5 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1.7 | ||||
Platform: | Any | ||||
Summary: | Incorrect render size when moving app window between different DPI monitors | ||||
Description: | When a window is moved from one monitor to another with different DPI scale, the view is not resized and UI is rendered with the incorrect size. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
dpi-bug.png (25,164 bytes) 2022-09-19 18:29 https://www.noesisengine.com/bugs/file_download.php?file_id=1685&type=bug |
||||
Notes | |
(0008075)
sfernandez 2022-09-19 18:29 |
|
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2423 | [NoesisGUI] C++ SDK | major | always | 2022-09-16 09:32 | 2022-11-07 17:13 |
Reporter: | satorp | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | feedback | Product Version: | 3.1.3 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1.7 | ||||
Platform: | Any | ||||
Summary: | Clicking on Button control may leave it in a invalid mouse capture state | ||||
Description: |
Since the ValidationRules feature in WPF has not been supported yet, we try to implement our own validating system for TextBox input. Basically it works by validating the input on LostFocus and if validation fails it will report the error and set the focus back to the TextBox. But we have the following issue when we use it on a dialog: 1. User enters an invalid input on TextBox 2. User clicks on a button control (the focus shifts to the button) 3. Validation runs (on TextBox LostFocus), and set the focus back to the TextBox 4. The button seems to have the mouse capture even though it has no focus. Clicking anywhere on the dialog will trigger the button's click. It seems that there might be an issue in the implemetation of BaseButton::OnMouseLeftButtonDown, where it calls Focus on itself, and proceeds to capture the mouse without checking if the call to Focus is succesful. We have a patch to fix the issue (see attachment), but we're not sure if the original behavior is indeed intended, or if there's a better a solution. It will also be nice to see the validation features in WPF implemented in the future. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
BaseButtonMouseDown.patch (613 bytes) 2022-09-16 09:32 https://www.noesisengine.com/bugs/file_download.php?file_id=1683&type=bug |
||||
Notes | |
(0008084)
sfernandez 2022-09-26 13:09 |
Hello, checking with WPF it seems our behavior is the same. The Button keeps the mouse capture until you release the left mouse button. At that moment the Button will release the mouse capture and rise the Click event, even if the focus was already set to the TextBox. Later clicks won't be redirected to the Button. Isn't that the behavior you are seeing? |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2410 | [NoesisGUI] Unity3D | major | always | 2022-09-06 11:49 | 2022-11-07 17:13 |
Reporter: | Rafael Munoz | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1.2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1.7 | ||||
Platform: | Any | ||||
Summary: | Triggers are not hot reloaded in some situations | ||||
Description: |
Marking it as mayor may be overkill but hot reload is a key feature for our workflows. We have observed Interaction.Triggers are not hot reloaded for named Grids ( may happen for other components ) We can workaround it by nesting an unnamed panel inside the one that is not hot-reloading properly. We confirmed that in Wpf works as expected. We include a link to an small project that reproduces the issue but in summary. <StackPanel Grid.Column="0" x:Name="NamedPanel" Background="Red"> <b:Interaction.Triggers> <b:EventTrigger EventName="MouseDown"> <local:LogAction Message="Mouse down on named panel"/> </b:EventTrigger> </b:Interaction.Triggers> .......... </StackPanel> This stops reporting mouse downs after hot reload, and we can "fix" it by removing x:Name or nesting another unnamed panel |
||||
Tags: | HotReload, Unity | ||||
Steps To Reproduce: |
Open the example project in the following link https://drive.google.com/file/d/11nuDYhb39AVcdRwHvV_wGMmRm1uV0aPj/view Unity version: 2020.3.1f1 1.- Play MainScene 2.- Follow the instrucitons to observe that events are reported properly for both cases ( named and unnamed panel) 3.- Perform some change in MainWindow.xaml and save it so it hot reloads. 4.- Follow the instructions to observe that only the events registered in the unnamed panel keep triggering. Expected: events registered by interaction triggers keep working after hot reload. |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008053)
jsantos 2022-09-07 11:01 (Last edited: 2022-09-07 11:03) |
Hot-reloading is being reimplemented for 3.2. Right now, almost all objects are recreated. We are implementing a more incremental algorithm that tries to keep as much state as possible. But, thank you for the ticket. We will have a look at it too. |
(0008054)
jsantos 2022-09-07 11:06 |
By the way, how important is "hot-reloading" for your workflow? Do yo use it everyday or occasionally? In the new version we are trying to push more teams to use it. |
(0008056)
Rafael Munoz 2022-09-07 17:07 |
When programming is implementing base functional layout we use it a little less, but after that when designers iterate on the styles, placement, animations we use it a ton. In fact we have in our code reviews a step just to check if it breaks anything in hot reload. We had an issue where some things were not restored properly after a hot reload ( involving pure ui state ), and we discovered the hard way that Noesis strategy for hot reload is full destruction and reconstrucion so any purely visual state was lost. We double checked in wfp that they seem to substitute the only part of the visual tree that changed, if they manage to identify a match, and somehow they keep things like current visual state. We workaround it by adding additional state to the viewmodel that we probably wouldn't have in wpf. For me hot-reload was one of the key features to choose noesis, we are not yet iterating "over the wire" on end-user devices but that is also very interesting :) |
(0008057)
jsantos 2022-09-08 10:38 |
Thanks for your feedback. The new algorithm we are working on for 3.2 is more similar to WPF, avoiding destruction of objects as much as possible and retaining current state. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2407 | [NoesisGUI] C# SDK | minor | always | 2022-09-01 14:57 | 2022-11-07 17:13 |
Reporter: | darthmaule2 | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1.7 | ||||
Platform: | Linux | ||||
Summary: | MediaPlayer does not fire MediaFailed event upon attempt to play corrupt video (in all cases) | ||||
Description: | MediaPlayer does not fire MediaFailed event upon attempt to play corrupt video (in all cases) | ||||
Tags: | C# | ||||
Steps To Reproduce: |
1. Rename a jpg image as a .mp4 2. Attempt to play it 3. MediaFailed event is not fired 4. Observe this message ** (mp:14672): CRITICAL **: 03:32:53.903: gst_dmabuf_memory_get_fd: assertion 'gst_is_dmabuf_memory (mem)' failed |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2402 | [NoesisGUI] C++ SDK | minor | always | 2022-08-20 15:49 | 2022-11-07 17:13 |
Reporter: | Ext3h | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | feedback | Product Version: | 3.1.5 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1.7 | ||||
Platform: | Any | ||||
Summary: | Global (private) symbols from NoesisApp | ||||
Description: |
NoesisApp currently uses several implementation-private symbols with "common" names without properly isolating them in their corresponding translation units: `Audio.mm.cpp` : `struct Voice` `FastLZ.cpp` : `struct Header` `class *RenderTarget` `class *Texture` Please consider scoping them at least in an anonymous namespace, as the declared types are likely to clash with other libraries due to having global linkage. |
||||
Tags: | C++ | ||||
Steps To Reproduce: | Try to link OpenAL-Soft and NoesisApp in the same application. Both provide the type `struct Voice` with an explicit contructor declaration and incompatible definitions. | ||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008047)
jsantos 2022-08-22 12:48 |
Yes, those symbols should be in an anonymous namespace. By the way, RenderTarget and Texture are already in Noesis namespace. What do you exactly mean with `class *Texture` ? |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2394 | [NoesisGUI] Unity3D | minor | always | 2022-08-03 16:56 | 2022-11-07 17:13 |
Reporter: | peter_e-h_easylaser | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1.5 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1.7 | ||||
Platform: | Any | ||||
Summary: | Bug in error handling in EventTriggerBase.RegisterEvent(object source, string eventName) | ||||
Description: |
If the event in eventName is not present in source, the code should throw an ArgumentException when registering. If EventTriggerBase.SourceObject has not yet been set, no Exception is thrown. if (SourceObject != null) { throw new ArgumentException(string.Format( "EventTrigger cannot find event '{0}' in SourceObject '{1}'", eventName, type)); } Should throw on the source argument rather than SourceObject property, or SourceObject should be set before EventInfo is fetched. |
||||
Tags: | |||||
Steps To Reproduce: |
<Grid> <b:Interaction.Triggers> <b:EventTrigger EventName="Click" > </b:EventTrigger> </b:Interaction.Triggers> </Grid> |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2370 | [NoesisGUI] C++ SDK | major | always | 2022-07-02 07:35 | 2022-11-07 17:13 |
Reporter: | satorp | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1.3 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1.7 | ||||
Platform: | Windows | ||||
Summary: | Crash when using lambda expression for delegate | ||||
Description: |
We experience crashes when using lambda expression for RoutedEvent handlers. The crash occurs under the following conditions: 1. The lambda expression contains captured variables 2. Inside the handler there's a code to add another event handler (using += etc) 3. Accessing a captured variable after the previous addition of event handler Sample code: ------------------------------------------------------------------------------------------------------- auto p = std::make_shared<Data>(); elem->Loaded += [p](auto sender, const auto& ea) { auto elem = DynamicCast<FrameworkElement*>(sender); elem->MouseRightButtonUp += ... // Add event handler p->DoSomething(); // Crash here when accessing p (its value becomes invalid) } ------------------------------------------------------------------------------------------------------- It seems that the cause is the use of HashMap to store the element's event handlers. The current HashMap implementation will reallocate the handlers at some point when resizing is necessary, and the executing handler will get destroyed before finishing its execution (the lambda member variables are also destroyed). |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008009)
jsantos 2022-07-05 16:45 |
Problem is, our hashmap is not using stable pointers... So, probably we need to change the hashmap to contain pointer to Delegates instead of Delegates. I want to analyze this carefully, because the change is going to increase the number of allocations. |
(0008010)
sfernandez 2022-07-05 16:46 |
Reproduced with the following test:struct Data { int i; Data(int i_): i(i_) { } int Foo(int x) { return i + x; } }; HashMap<int, Delegate<void(int)>> map; map.Insert(0, [](int) {}); { std::shared_ptr<Data> data = std::make_shared<Data>(5); Delegate<void(int)> d = [data, &map](int i) { map.Insert(2, [](int) {}); int r = data->Foo(i); printf("%d", r); }; map.Insert(1, d); } HashMap<int, Delegate<void(int)>>::Iterator it = map.Find(1); it->value(7); |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2369 | [NoesisGUI] C++ SDK | feature | N/A | 2022-07-01 11:29 | 2022-11-07 17:13 |
Reporter: | nikobarli | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1.3 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1.7 | ||||
Platform: | Any | ||||
Summary: | Please add support of IsDefault and IsCancel of Buttons | ||||
Description: |
From the discussion here: https://www.noesisengine.com/forums/viewtopic.php?t=2641 Especially needed when handling input forms. Thank you. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2368 | [NoesisGUI] Unreal | feature | have not tried | 2022-06-30 13:52 | 2022-11-07 17:13 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1.5 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1.7 | ||||
Platform: | Any | ||||
Summary: | Add flag to NoesisInstance to control if view is rendering per frame | ||||
Description: |
As we do in Unity, we can expose a flag in the NoesisInstance (the view component) indicating if the view is rendering per frame, 'Continuous Rendering', or only when Update is reporting changes. Investigate if we can use this when the view is used in a widget component (rendering to texture). |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2364 | [NoesisGUI] C++ SDK | feature | always | 2022-06-24 19:10 | 2022-11-07 17:13 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1.5 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1.7 | ||||
Platform: | Any | ||||
Summary: | Support Polygon and Polyline shapes | ||||
Description: |
Implement missing shapes - Polygon: https://docs.microsoft.com/en-us/dotnet/api/system.windows.shapes.polygon?view=windowsdesktop-6.0 - Polyline: https://docs.microsoft.com/en-us/dotnet/api/system.windows.shapes.polyline?view=windowsdesktop-6.0 |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2362 | [NoesisGUI] C++ SDK | minor | N/A | 2022-06-23 08:31 | 2022-11-07 17:13 |
Reporter: | nikobarli | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1.3 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1.7 | ||||
Platform: | Any | ||||
Summary: | Please remove NS_ASSERT from Activate/DeactivateWindow inside TSF.cpp | ||||
Description: |
We have several scenarios where the order of Activate/DeactivateWindow is not strictly Activate wnd1 Deactivate wnd1 Activate wnd2 Deactivate wnd2 Activate wnd3 But Activate wnd1 Activate wnd2 <- NS_ASSERT thrown inside ActivateWindow Deactivate wnd2 Deactivate wnd1 <- NS_ASSERT thrown inside DeactivateWindow Activate wnd3 instead. This especially often happens when wnd2 is a blocking modal dialog (i.e. called with DoModal). I think the NS_ASSERT is only serving as a warning that a not-typical sequence happened but doesn't have any harm. So I prefer the code to emit WARNING log instead of NS_ASSERT. I attached the patch in this issue. Could you please apply it in the next release. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
TSF.patch (1,111 bytes) 2022-06-23 08:31 https://www.noesisengine.com/bugs/file_download.php?file_id=1654&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2359 | [NoesisGUI] Unity3D | minor | always | 2022-06-10 14:06 | 2022-11-07 17:13 |
Reporter: | jphyzic | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1.4 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1.7 | ||||
Platform: | Any | ||||
Summary: | EventManager class handlers not cleaned up on domain unload | ||||
Description: | From forum post: https://www.noesisengine.com/forums/viewtopic.php?p=14282#p14282 | ||||
Tags: | |||||
Steps To Reproduce: |
0. Create XAML UI containing at least one TextBox 1. Register class handler, e.g. for TextBox.GotKeyboardFocus: EventManager.RegisterClassHandler(typeof(TextBox), TextBox.GotKeyboardFocusEvent, new KeyboardFocusChangedEventHandler(OnGotFocus), handledEventsToo: true); 2. Start Unity play mode 3. Stop Unity play mode and start again - log message appears `Class handler is already registered` 4. Click on any TextBox - when control gets keyboard focus Unity crashes |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2348 | [NoesisGUI] C# SDK | minor | have not tried | 2022-05-12 18:12 | 2022-11-07 17:13 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1.0 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1.7 | ||||
Platform: | Any | ||||
Summary: | Triggers not working after reload in C# | ||||
Description: |
Triggers defined in a named element stop working after xaml gets hot-reloaded. In the following xaml, the triggers in the START button work fine after reload. But the triggers in END button, which has an x:Name, stop working. |
||||
Tags: | |||||
Steps To Reproduce: |
<StackPanel HorizontalAlignment="Center" VerticalAlignment="Center"> <Button Content="START" Width="400" Margin="0,10"> <b:Interaction.Triggers> <b:EventTrigger EventName="MouseEnter"> <b:ChangePropertyAction PropertyName="Content" Value="[ START ]"/> </b:EventTrigger> <b:EventTrigger EventName="MouseLeave"> <b:ChangePropertyAction PropertyName="Content" Value="START"/> </b:EventTrigger> </b:Interaction.Triggers> </Button> <Button x:Name="EndButton" Content="END"> <b:Interaction.Triggers> <b:EventTrigger EventName="MouseEnter"> <b:ChangePropertyAction PropertyName="Content" Value="[ END ]"/> </b:EventTrigger> <b:EventTrigger EventName="MouseLeave"> <b:ChangePropertyAction PropertyName="Content" Value="END"/> </b:EventTrigger> </b:Interaction.Triggers> </Button> </StackPanel> |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2337 | [NoesisGUI] C++ SDK | minor | have not tried | 2022-04-28 13:35 | 2022-11-07 17:13 |
Reporter: | LarianStudios | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1.4 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1.7 | ||||
Platform: | Any | ||||
Summary: | predicates store the itemsource, which kind of makes hard to reuse | ||||
Description: |
predicates store the itemsource, which kind of makes hard to reuse, when you make a second instance of the predicate, the itemsource in the predicate is replaced. The CollectionFilterBehavior already has the filteredItem list and the Itemssource, if that could use the functions of the predicate instead of handing of the itemssource , we could reuse the filter multiple times |
||||
Tags: | |||||
Steps To Reproduce: | make one predicate, put it in a itemstemplate and use that in a list | ||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007915)
LarianStudios 2022-04-28 13:35 |
this is for both sort and filter I think |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2332 | [NoesisGUI] C++ SDK | feature | have not tried | 2022-04-14 11:16 | 2022-11-07 17:13 |
Reporter: | jsantos | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1.7 | ||||
Platform: | Any | ||||
Summary: | Shape tweening in Blend | ||||
Description: | Use case - shape tweening - Shape to shape is best done in After Effects. We can make this process better by modifying the json to xaml python script to create a UserControl instead of a ResourceDictionary. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
AE_to_UserControl.zip (18,321 bytes) 2022-04-14 12:07 https://www.noesisengine.com/bugs/file_download.php?file_id=1624&type=bug |
||||
Notes | |
(0007902)
jsantos 2022-04-14 12:07 |
|
(0008030)
jsantos 2022-07-26 09:11 |
We still didn't find time for this. Planned for 3.1.6 now. Thanks for your patience! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1232 | [NoesisGUI] C++ SDK | feature | always | 2018-02-06 05:16 | 2022-11-02 11:59 |
Reporter: | nikobarli | Platform: | Windows | ||
Assigned To: | jsantos | OS: | Windows 10 | ||
Priority: | normal | OS Version: | Windows 10 FCU | ||
Status: | assigned | Product Version: | 2.1.0rc2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Weak pointer support | ||||
Description: |
This is follow up for the meeting with Jesus on Feb 1, 2018. We feel that we sometimes need weak pointer to manage resources. Please consider adding this feature back in the future. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
BaseRefCounted.cpp.patch (2,211 bytes) 2022-10-24 12:51 https://www.noesisengine.com/bugs/file_download.php?file_id=1697&type=bug BaseRefCounted.h.patch (1,197 bytes) 2022-10-24 12:51 https://www.noesisengine.com/bugs/file_download.php?file_id=1698&type=bug BaseRefCounted.inl.patch (1,074 bytes) 2022-10-24 12:51 https://www.noesisengine.com/bugs/file_download.php?file_id=1699&type=bug |
||||
Notes | |
(0008105)
jsantos 2022-10-24 12:51 (Last edited: 2022-10-24 12:51) |
I am attaching a potential implementation for weak pointers in Noesis. We have plans to officially implement this in the future although we need more discussions. |
(0008106)
satorp 2022-10-26 07:01 |
The patch looks promising. There is a concern in the way the handles are generated, which seems to be done by simply incrementing a global counter (int32) without reuse. In case when application up time is long and handle generation occurs frequently, this could possibly lead to an overflow (duplicated handles). |
(0008110)
jsantos 2022-11-02 11:59 |
You are right about that potential handle collision. The alternative could be using 64-bit handles and user the pointer itself as handle. But that is also dangerous. And alternative is using the 32 bits for a global counter and the lower 32 bits filled with a hash of the pointer. With this, the chances of collision are almost impossible. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2450 | [NoesisGUI] C++ SDK | crash | always | 2022-10-31 11:39 | 2022-10-31 11:56 |
Reporter: | jsantos | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.5 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.6 | ||
Target Version: | 3.1.6 | ||||
Platform: | Any | ||||
Summary: | Crashes on Pixel 6/7-family devices running Android 13 | ||||
Description: | Our customers using Google Pixel 6- and 7-family devices (e.g. Pixel 6, 6a, 6 Pro, etc.) are experiencing game crashes related to Noesis specifically when running Android OS version 13. These crashes did not appear to occur on Android 12, but if a Pixel 6 user upgrades to Android 13, they see the crashes, and Pixel 7 devices come with Android 13 out-of-the-box, and they are also experiencing crashes. The crashes occur 100% of the time with these devices on Android 13. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008108)
jsantos 2022-10-31 11:55 |
We detected this issue on Mali driver v1.r36, so, potentially more devices could be affected. |
(0008109)
jsantos 2022-10-31 11:56 (Last edited: 2022-10-31 11:56) |
Fixed in r11677 with the following patch:Index: GLRenderDevice.cpp =================================================================== --- GLRenderDevice.cpp (revision 11676) +++ GLRenderDevice.cpp (working copy) @@ -1654,6 +1654,12 @@ NS_ASSERT(glCheckFramebufferStatus(GL_FRAMEBUFFER) == GL_FRAMEBUFFER_COMPLETE); GL_OBJECT_LABEL(GL_FRAMEBUFFER, fbo, "Noesis_%s_FBO", label); + // Clear surface to always start with #0000 color + // This is also needed to avoid crashes on Google Pixel 6 & 7 devices (0002450) + V(glDisable(GL_SCISSOR_TEST)); + V(glClearColor(0.0f, 0.0f, 0.0f, 0.0f)); + V(glClear(GL_COLOR_BUFFER_BIT)); + // Resolve framebuffer if (colorAA != 0) { |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2446 | [NoesisGUI] C++ SDK | minor | always | 2022-10-25 10:49 | 2022-10-25 10:49 |
Reporter: | maherne | Platform: | |||
Assigned To: | OS: | ||||
Priority: | normal | OS Version: | |||
Status: | new | Product Version: | 3.2.0 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | XamlName and AlphaNumeric parsers do not support UTF8 characters | ||||
Description: |
XamlName (in XamlReaderExpr.h) and AlphaNumeric (in ParserExpr.h) use the isalpha/isalnum methods which expect an ASCII character as their input. WPF/Blend support a wide range of alpha characters in type and property names. |
||||
Tags: | |||||
Steps To Reproduce: |
The following works in WPF/Blend, but not in Noesis. The 'é' in 'Painéal' causes the XamlName parser to fail and assert in isalnum. <Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:local="clr-namespace:LocalApp"> <local:Painéal /> </Grid> |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2422 | [NoesisGUI] C++ SDK | minor | always | 2022-09-15 20:33 | 2022-10-06 19:54 |
Reporter: | echapin | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.5 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.6 | ||
Target Version: | 3.1.6 | ||||
Platform: | Any | ||||
Summary: | TreeViewItem capturing KeyDown event preventing directional navigation outside of the TreeView | ||||
Description: |
See description in forum post here: https://www.noesisengine.com/forums/viewtopic.php?p=14684#p14684 |
||||
Tags: | xaml | ||||
Steps To Reproduce: | Place a TreeView with multiple TreeViewItems below a separate focusable control in a grid. Directionally navigate down from the control to the TreeViewItem. Try to directionally navigate up back to the control. Focus will not leave the TreeViewItem. | ||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008091)
sfernandez 2022-10-06 19:54 |
Fixed in changeset 11642 |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2431 | [NoesisGUI] C++ SDK | major | always | 2022-09-23 23:21 | 2022-10-06 19:53 |
Reporter: | ZGholson | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.5 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.6 | ||
Target Version: | 3.1.6 | ||||
Platform: | Any | ||||
Summary: | MenuItem not receiving focus when in Treeview or ListView | ||||
Description: | When opening a context menu inside of a treeview or listview, the focus does not shift to the context menu. Instead, it stays in the list / tree. | ||||
Tags: | ContextMenu, Focus, Input, ListView, TreeView | ||||
Steps To Reproduce: | Created a treeview. Add some treeviewitems to it. Then add a context menu to the treeview items. Attempt to open the context menu via onClick or some other means other than the right click. Attempt to navigate the context menu via dpad or joystick. The input will be applied to the tree view . | ||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008090)
sfernandez 2022-10-06 19:53 |
Fixed in changeset 11642. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2433 | [NoesisGUI] Inspector | feature | always | 2022-09-27 00:36 | 2022-09-27 20:22 |
Reporter: | sgonchar | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Snoop-like event logger | ||||
Description: |
Hello, We'd like to request a snoop-like event logger. Specifically looking to answer questions: - where is the focus going, all the places that get evaluated to get focused but didn't and reasons why. - - we can use PreviewGotKeyboardFocus to see what is focused but not the in-between steps - - this is to answer "why didn't this thing I set focus to actually got focus?" - what is input doing and where it's going: - - specifically why is input ignored sometimes (often to do with focus), which element swallows it Some discussed here: https://www.noesisengine.com/forums/viewtopic.php?p=14709#p14709 Cheers. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2432 | [NoesisGUI] C++ SDK | feature | always | 2022-09-26 14:17 | 2022-09-26 18:19 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.5 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.6 | ||
Target Version: | 3.1.6 | ||||
Platform: | Any | ||||
Summary: | Use PropertyChanged("") to indicate all props of a view model changed | ||||
Description: |
In WPF you can use PropertyChanged event with a null or empty string to indicate that all properties in a view model have changed. We should implement this because it could have performance benefits in some situations, as with a single notification all the bindings to the object will be updated. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2426 | [NoesisGUI] C++ SDK | minor | have not tried | 2022-09-20 18:51 | 2022-09-26 14:14 |
Reporter: | steveh | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.6 | ||
Target Version: | 3.1.6 | ||||
Platform: | Any | ||||
Summary: | Inifnite recursion causing be self binding in VisualTreeInspector.cpp | ||||
Description: |
Hi guys, One of our coders has identified an issue in the Visual Inspector tool caused by a "relative self" binding. "Prevent self-referential infinite recursion causing stack overflow and game crash when a <custom control> is clicked on in the visual tree in the NoesisInspector. This is caused by "<custom event>" event on "<custom control>" style, which has "Self" as CommandParameter." This is the fix (between the comments). I've also uploaded a patch. void NodeProperties_FromDependencyObject(Ptr<DependencyObject> depObject) { Vector<const DependencyProperty*, 64> localProperties; VisualTreeInspectorHelper::RecursiveEnumerateProperties(depObject, [depObject, &localProperties](const DependencyProperty* property) { // SUMO:MT prevent self-referential infinite recursion if (property->GetValueObject(depObject) == depObject) return; // end The crash was caused by adding a custom event into a style which has a binding to the self for the command parameter <Setter Property="Noesis:StyleInteraction.Triggers"> <Setter.Value> <Noesis:StyleTriggerCollection> <i:EventTrigger EventName="..."> <i:InvokeCommandAction Command="{Binding ...}" CommandParameter="{Binding RelativeSource={RelativeSource Mode=Self}}" /> </i:EventTrigger> </Noesis:StyleTriggerCollection> </Setter.Value> </Setter> |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
fix_recursive_overflow.diff (375 bytes) 2022-09-20 18:51 https://www.noesisengine.com/bugs/file_download.php?file_id=1686&type=bug |
||||
Notes | |
(0008076)
jsantos 2022-09-21 13:56 |
Thanks for the report Steve! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2428 | [NoesisGUI] C++ SDK | feature | always | 2022-09-23 11:12 | 2022-09-23 11:23 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1.5 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1 | ||||
Platform: | Any | ||||
Summary: | Apple Color Emoji font not rendering any glyphs | ||||
Description: | Using 'Apple Color Emoji' system font (found at "/System/Library/Fonts/Apple Color Emoji.ttc") in our TextEmojis.xaml sample does not render any glyph, although the font is recognized and registered by the font provider. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2416 | [NoesisGUI] Unreal | major | always | 2022-09-12 16:17 | 2022-09-14 19:30 |
Reporter: | jsantos | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.5 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.6 | ||
Target Version: | 3.1.6 | ||||
Platform: | Any | ||||
Summary: | Video issues in Unreal Engine 5 | ||||
Description: |
Playing video in Unreal Engine 5 renders black content on consoles. Also, it seems video looping is failing in all platforms. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
Issue-2416.patch (5,993 bytes) 2022-09-14 19:30 https://www.noesisengine.com/bugs/file_download.php?file_id=1682&type=bug |
||||
Notes | |
(0008071)
sfernandez 2022-09-14 19:29 |
Fixed in revisions 11603 and 11604, find patch attached below. |
(0008072)
sfernandez 2022-09-14 19:30 |
|
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2419 | [NoesisGUI] Unreal | crash | always | 2022-09-13 12:57 | 2022-09-13 13:14 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.5 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.6 | ||
Target Version: | 3.1.6 | ||||
Platform: | Any | ||||
Summary: | Crash reloading xaml using the same name in a template Grid and outer Grid elements | ||||
Description: | When the same name is used in the template root element and an outer element of the same type, reloading the xaml will crash Unreal. | ||||
Tags: | |||||
Steps To Reproduce: |
<Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" Height="450" Width="800"> <Viewbox HorizontalAlignment="Right" VerticalAlignment="Bottom"> <Grid x:Name="RootGrid" Width="800" Height="450" Background="WhiteSmoke"> <StackPanel> <StackPanel.Resources> <ControlTemplate x:Key="btnTemplate" TargetType="Button"> <Grid x:Name="RootGrid" Background="Cyan"> <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/> </Grid> </ControlTemplate> <Style TargetType="Button"> <Setter Property="Template" Value="{StaticResource btnTemplate}"/> </Style> </StackPanel.Resources> <Button Width="200" Height="100" Content="Button A"/> <Button Width="200" Height="100" Content="Button B" Margin="0,10"/> </StackPanel> </Grid> </Viewbox> </Grid> |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008067)
sfernandez 2022-09-13 13:14 |
Fixed in r11601. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2414 | [NoesisGUI] C++ SDK | crash | always | 2022-09-08 22:08 | 2022-09-13 12:43 |
Reporter: | jack.barkov | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.5 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.6 | ||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Crash - NoesisApp::GLRenderDevice::DestroyBuffer | ||||
Description: |
I have a bug when I close an application using the OpenGL render. The crash happens in Noesis::GUI::Shutdown() => GLRenderDevice::DestroyBuffer(DynamicBuffer& buffer); I was able to reproduce the crash using: - Windows 7 - Android (only tested on arm64) - iPhone 13 Pro Max On my main machine, I use a Windows 11, where the crash does not happen. I managed to generate a dump in vs2022 with the same error happening in your Samples.HelloWorld. I also put the exes/pdbs so you can open the dmp and see exactly the error. Link: https://drive.google.com/file/d/1lmwTUw8KPbS4r3IbBldiqv9Ji0n8o5Vi/view?usp=sharing Attached here is a print of a crash on windows (samples.helloworld) and one on android (my test application). Thanks. |
||||
Tags: | |||||
Steps To Reproduce: | Open and close the Sample.HelloWorld using OpenGL renderer. | ||||
Additional Information: | |||||
Attached Files: |
android.jpg (286,660 bytes) 2022-09-08 22:08 https://www.noesisengine.com/bugs/file_download.php?file_id=1677&type=bug win7.jpg (494,940 bytes) 2022-09-08 22:08 https://www.noesisengine.com/bugs/file_download.php?file_id=1678&type=bug |
||||
Notes | |
(0008059)
jsantos 2022-09-09 15:25 |
The attached minidump seems to be a different thing. And instead of a crash it is a debugger breakpointntdll.dll!77eceabe() Unknown [Frames below may be incorrect and/or missing, no symbols loaded for ntdll.dll] ntdll.dll!77ecf9f1() Unknown > Noesis.dll!Noesis::RenderDevice::OnDestroy() Line 267 C++ NoesisApp.dll!NoesisApp::Application::~Application() Line 53 C++ Samples.HelloWorld.exe!HelloWorld::App::~App() C++ Samples.HelloWorld.exe!HelloWorld::App::`scalar deleting destructor'(unsigned int) C++ Noesis.dll!Noesis::BaseRefCounted::OnDestroy() Line 57 C++ NoesisApp.dll!Noesis::Ptr<NoesisApp::Application>::Reset() Line 156 C++ NoesisApp.dll!NoesisApp::ApplicationLauncher::OnExit() Line 122 C++ NoesisApp.dll!NoesisApp::DisplayLauncher::Run() Line 49 C++ Samples.HelloWorld.exe!NsMain(int argc, char * * argv) Line 81 C++ Samples.HelloWorld.exe!WinMain(HINSTANCE__ * __formal, HINSTANCE__ * __formal, char * __formal, int __formal) Line 36 C++ |
(0008060)
jsantos 2022-09-09 15:33 |
But don't worry about it. I think I found something wrong. I will send you a patch soon. |
(0008062)
jsantos 2022-09-09 20:19 |
Could you please try changing the implementation of GLRenderDevice::DestroyBuffer tovoid GLRenderDevice::DestroyBuffer(DynamicBuffer& buffer) const { Dealloc(buffer.cpuMemory); if (HaveBufferStorage()) { if (buffer.currentPage) { V(glDeleteBuffers(1, &buffer.currentPage->object)); V(glDeleteSync(buffer.currentPage->sync)); Dealloc(buffer.currentPage); } for (Page* page = buffer.pendingPages; page != nullptr;) { Page* next = page->next; V(glDeleteBuffers(1, &page->object)); V(glDeleteSync(page->sync)); Dealloc(page); page = next; } } for (Page* page = buffer.freePages; page != nullptr;) { Page* next = page->next; V(glDeleteBuffers(1, &page->object)); V(glDeleteSync(page->sync)); Dealloc(page); page = next; } } |
(0008063)
jack.barkov 2022-09-10 00:37 |
This code snippet solved the problem. I tested it on Android and Windows. Thank you! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2417 | [NoesisGUI] Unity3D | minor | always | 2022-09-12 23:25 | 2022-09-13 12:28 |
Reporter: | Feldruebe | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.5 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.6 | ||
Target Version: | 3.1.6 | ||||
Platform: | Any | ||||
Summary: | FlowDirection of WrapPanel crashed Unity | ||||
Description: |
Use the following Control: xaml: <UserControl x:Class="Testing.TestControl" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:system="clr-namespace:System;assembly=mscorlib" x:Name="Root"> <StackPanel Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center"> <ItemsControl Grid.Row="0" Grid.Column="0" ItemsSource="{Binding Texts, ElementName=Root}" Width="300"> <ItemsControl.ItemsPanel> <ItemsPanelTemplate> <WrapPanel VerticalAlignment="Bottom" FlowDirection="RightToLeft" /> </ItemsPanelTemplate> </ItemsControl.ItemsPanel> <ItemsControl.ItemTemplate> <DataTemplate> <TextBlock Text="{Binding }"/> </DataTemplate> </ItemsControl.ItemTemplate> </ItemsControl> <Button Content="Click me" Click="Button_Click" /> <TextBlock Text="{Binding Counter, ElementName=Root, StringFormat='Button clicked {0} time(s)'}" Margin="5,0,0,0" VerticalAlignment="Center" /> </StackPanel> </UserControl> CodeBehind: #if UNITY_5_3_OR_NEWER #define NOESIS using Noesis; #else using System.Windows; using System.Windows.Controls; #endif namespace Testing { using System.Collections.ObjectModel; public partial class TestControl: UserControl { public TestControl() { InitializeComponent(); } public int Counter { get { return (int)GetValue(CounterProperty); } set { SetValue(CounterProperty, value); } } public static readonly DependencyProperty CounterProperty = DependencyProperty.Register( "Counter", typeof(int), typeof(TestControl), new PropertyMetadata(0)); public ObservableCollection<string> Texts { get { return (ObservableCollection<string>)GetValue(TextsProperty); } set { SetValue(TextsProperty, value); } } public static readonly DependencyProperty TextsProperty = DependencyProperty.Register( "Texts", typeof(ObservableCollection<string>), typeof(TestControl), new PropertyMetadata(new ObservableCollection<string>())); #if NOESIS protected override bool ConnectEvent(object source, string eventName, string handlerName) { if (eventName == "Click" && handlerName == "Button_Click") { ((Button)source).Click += this.Button_Click; return true; } return false; } private void InitializeComponent() { NoesisUnity.LoadComponent(this); } #endif private void Button_Click(object sender, RoutedEventArgs args) { Counter++; this.Texts.Add("qwe"); } }; } |
||||
Tags: | |||||
Steps To Reproduce: |
Click 12 times on the button. Unity crashes |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008064)
sfernandez 2022-09-13 12:22 |
Thanks for the report, I was able to reproduce it. We'll fix it for the next release. |
(0008065)
sfernandez 2022-09-13 12:28 |
Fixed in r11477. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2408 | [NoesisGUI] C++ SDK | major | have not tried | 2022-09-02 23:23 | 2022-09-07 12:06 |
Reporter: | dcockerham | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.5 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.6 | ||
Target Version: | 3.1.6 | ||||
Platform: | Any | ||||
Summary: | ScrollChanged event missing the timing for ongoing scrolling input | ||||
Description: |
For a custom ScrollViewer with that modifies the scroll position in response to a ScrollChanged event (such as to create an AcceleratedScrollViewer that increases scroll speed over time), the modified scroll position is immediately overwritten by OnMouseWheelExternal() for as long as the scrolling continues. The modified scroll is only applied on the last frame when the scrolling stops, as there is no longer an overwriting OnMouseWheelExternal() call. This seems to be a timing issue stemming from a recent change to ScrollViewer. Here is a sample of the two functions in question that demonstrates the issue: FastScrollViewer::FastScrollViewer() { this->ScrollChanged() += [this](BaseComponent* /* sender */, const ScrollChangedEventArgs& args) { const float delta = abs(args.verticalChange); if (delta > ACCELERATED_SCROLL_INCREMENT_BASE) { // filter out returning accelerated scroll increments, as in: calling ScrollToVerticalOffset will call ScrollChanged again return; } ScrollToVerticalOffset(GetVerticalOffset() + (float)sgn(args.verticalChange) * delta * 1000); }; } void FastScrollViewer::OnMouseWheelExternal(float wheelRotation, Noesis::Orientation orientation) { if (orientation == Noesis::Orientation::Orientation_Vertical) { ScrollToVerticalOffset(GetVerticalOffset() - wheelRotation / 3.0f); } } |
||||
Tags: | C++, scroll | ||||
Steps To Reproduce: |
1. Create a child class inheriting from ScrollViewer that calls ScrollToVerticalOffset() in OnMouseWheelExternal(), and calls OnMouseWheelExternal() with increased multiplier in response to a ScrollChanged event. 2. Scroll over time by holding a controller's right joystick down. 3. Observe that the ScrollViewer moves at the normal pace instead of the boosted pace, and the scrolling may seem jittery as it jumps between the modified and unmodified values, with the scrollbar matching the unmodified position. Releasing the right joystick results in finally jumping to/settling on the modified position. |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008055)
sfernandez 2022-09-07 12:06 |
Fixed with changes in revisions 11589 and 11590. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1041 | [NoesisGUI] C++ SDK | feature | always | 2017-04-05 17:34 | 2022-09-07 11:29 |
Reporter: | KeldorKatarn | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | high | OS Version: | |||
Status: | resolved | Product Version: | 2.2.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.6 | ||
Target Version: | 3.1.6 | ||||
Platform: | Any | ||||
Summary: | Implement UIElement.LayoutUpdated event | ||||
Description: | Occurs when the layout of the various visual elements associated with the current View changes. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007225)
KeldorKatarn 2021-05-06 20:48 |
I will probably need this eventually for getting the child window stuff properly implemented. I need to know when the WindowHost control that I'll create will be first updating its layout, to position child windows at their startup location. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2404 | [NoesisGUI] C# SDK | feature | N/A | 2022-08-23 19:59 | 2022-08-25 14:43 |
Reporter: | colin14321 | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1.5 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1 | ||||
Platform: | Any | ||||
Summary: | Missing EventSetter from System.Windows | ||||
Description: |
EventSetter is currently missing from System.Windows implementation in Noesis. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1789 | [NoesisGUI] C++ SDK | tweak | always | 2020-09-11 14:16 | 2022-08-24 02:01 |
Reporter: | frochet38 | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | urgent | OS Version: | |||
Status: | resolved | Product Version: | 3.0.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.0 | ||
Target Version: | 3.2.0 | ||||
Platform: | Windows | ||||
Summary: | Font selection differs from WPF one | ||||
Description: |
NoesisGUI font selection algorithm desn't match WPF one when trying to select fonts from the same family. |
||||
Tags: | |||||
Steps To Reproduce: |
From "HelloWorld" sample : 1) In Main.cpp Change FontPrtovider to LocalFontProvider pointing to local sample data directoty 2) Copy attached fonts to the data directory In MainWindow.Xaml 3) Remove "FontFamily" attribute from the "Window"'s attributes 4) Add/change the following attributes to the TextBlock x:Name="Hello" item: a) FontFamily="./#Gotham" FontWeight="Medium" FontStyle="Normal" FontStretch="Normal" This selects "Gotham-Black.otf" front with Noesis and "Gotham-Medium.otf" in Blend b) FontFamily="./#Gotham" FontWeight="Bold" FontStyle="Normal" FontStretch="Normal" This selects "Gotham-Black.otf" front with Noesis and "Gotham-Bold.otf" in Blend Forum post : https://www.noesisengine.com/forums/viewtopic.php?f=3&t=2094&p=11669#p11669 |
||||
Additional Information: | |||||
Attached Files: |
Gotham-Black.otf (165,580 bytes) 2020-09-11 14:16 https://www.noesisengine.com/bugs/file_download.php?file_id=1295&type=bug Gotham-Bold.otf (157,328 bytes) 2020-09-11 14:16 https://www.noesisengine.com/bugs/file_download.php?file_id=1296&type=bug Gotham-Book.otf (158,964 bytes) 2020-09-11 14:16 https://www.noesisengine.com/bugs/file_download.php?file_id=1297&type=bug Gotham-Light.otf (155,004 bytes) 2020-09-11 14:16 https://www.noesisengine.com/bugs/file_download.php?file_id=1298&type=bug Gotham-Medium.otf (159,852 bytes) 2020-09-11 14:16 https://www.noesisengine.com/bugs/file_download.php?file_id=1299&type=bug MainWindow.xaml (20,193 bytes) 2020-09-11 14:26 https://www.noesisengine.com/bugs/file_download.php?file_id=1300&type=bug |
||||
Notes | |
(0006622)
frochet38 2020-09-11 14:26 |
Added Test xaml |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2403 | [NoesisGUI] C++ SDK | minor | always | 2022-08-23 14:29 | 2022-08-23 14:40 |
Reporter: | jsantos | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.5 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.6 | ||
Target Version: | 3.1.6 | ||||
Platform: | Any | ||||
Summary: | Compiler warnings in Find.h (VS2022) | ||||
Description: |
Hi everyone, for the last few weeks we’ve been seeing compiler warnings from VS2022 when building the Noesis plugin. Here’s what they look like: E:\draconis\main-1\Draconis\Plugins\NoesisGUI\Source\Noesis\NoesisSDK\Include\NsCore\Find.inl(15): warning C5257: '_FINDEX_INFO_LEVELS': enumeration was previously declared without a fixed underlying type E:\draconis\main-1\Draconis\Plugins\NoesisGUI\Source\Noesis\NoesisSDK\Include\NsCore\Find.inl(16): warning C5257: '_FINDEX_SEARCH_OPS': enumeration was previously declared without a fixed underlying type I did a bit of digging, and the code in question hasn’t changed in a very long time, and I suspect this is the result of upgrading our compiler to VS2022, and not a result of any changes with the latest version. This specific error code is not documented on the Visual Studio website, but I’ve found a couple of mentions of it on Stack Overflow and Reddit. It might be an issue with precompiled headers. Can you confirm whether you’re seeing this, and if so, are there any plans to address it? |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008048)
jsantos 2022-08-23 14:40 |
Find.h is no longer needed in our public API |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1742 | [NoesisGUI] C++ SDK | feature | always | 2020-06-30 13:15 | 2022-08-22 19:21 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.0 | ||
Target Version: | 3.2.0 | ||||
Platform: | Any | ||||
Summary: | Make Symbols case sensitive to avoid some problems | ||||
Description: |
Current problems: - Reflection class TypeId is a symbol, allowing <button> to incorrectly be used in xaml. - Reflection property names are symbols, so can't define 'x' and 'X' as different properties and that can be a problem when exposing C# classes. - ResourceDictionary uses simple strings as keys, but DynamicResource uses Symbol as key, so it can happen that symbol was initially created with a different casing and resource will never be found. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2400 | [NoesisGUI] Unity3D | minor | sometimes | 2022-08-19 12:04 | 2022-08-22 17:46 |
Reporter: | JinFox | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.6 | ||
Target Version: | 3.1.6 | ||||
Platform: | Any | ||||
Summary: | ScrollViewer doesnt apply panningMode when applied with style | ||||
Description: |
Hello, It would seem that some of the scrollviewer I am using in my game are not working with touch unless I specifically add "PanningMode="VerticalOnly"" directly inline. The property, if set in a declared Style is not applied. This issue doesn't seem to reproduce on simple scenario but only in more complex Visual trees. After a discussion with Sergio, he emitted the hypothesis that the ScrollViewer using template binding to inherit from higher member of the hierarchy might be applied even if the style isn't default value, overriding any value put in the style of the scrollviewer. Thanks very much for your help! |
||||
Tags: | |||||
Steps To Reproduce: |
1- Have a ScrollViewer with a style, for example : <Style x:Key="style.global.scrollViewer.vertical" TargetType="{x:Type ScrollViewer}" BasedOn="{StaticResource {x:Type ScrollViewer}}"> <Setter Property="CanContentScroll" Value="False"/> <Setter Property="PanningMode" Value="VerticalOnly"/> <Setter Property="IsManipulationEnabled" Value="True"/> <Setter Property="HorizontalScrollBarVisibility" Value="Disabled"/> </Style> 2 - Include this scrollviewer with a style in a visual tree where a value that can be inherited from 3 - watch which value is applied with the Noesis Inspector? This might not be reproducible on simple visual tree architecture |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2401 | [NoesisGUI] C++ SDK | minor | always | 2022-08-19 12:47 | 2022-08-22 17:07 |
Reporter: | christyjquinn | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.6 | ||
Target Version: | 3.1.6 | ||||
Platform: | Any | ||||
Summary: | Duplicate user control x:Name causes incorrect binding | ||||
Description: |
User controls with the same x:Name can cause issues with binding when nested. Example: // Parent user control <components:FullscreenModalComponent ImagesDir="/Images/collections_jpg" /> // Nested in FullscreenModalComponent <components:ResponsiveImageComponent ImagesDir="{Binding ElementName=Root, Path=ImagesDir}" /> // ImagesDir in ResponsiveImageComponent is not bound to "/Images/collections_jpg" See https://www.noesisengine.com/forums/viewtopic.php?p=14560#p14560 for original report on forum. |
||||
Tags: | |||||
Steps To Reproduce: |
- Create two user controls with the same x:Name - Nest one inside the other binding a value from the parent into the child |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2108 | [NoesisGUI] Unity3D | crash | sometimes | 2021-09-09 19:51 | 2022-08-18 13:41 |
Reporter: | rachelle | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | feedback | Product Version: | 3.1.0 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1 | ||||
Platform: | Any | ||||
Summary: | Index out of range exception in Noesis.View::KeyDown | ||||
Description: |
We have recently upgraded to NoesisGUI 3.1.0. We are now seeing this crash periodicially in our Unity client build in Noesis.View::KeyDown: ArgumentOutOfRangeException Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index System.ThrowHelper.ThrowArgumentOutOfRangeException 1 System.Collections.Generic.List`1[T].get_Item System.Collections.ObjectModel.Collection`1[T].System.Collections.IList.get_Item Noesis.Extend.ListGet at line 2303 UnityEngine.Debug:LogException(Exception) NoesisUnity:OnUnhandledException(Exception) at line 314 Noesis.Error:UnhandledException(Exception) at line 18 Noesis.Extend:ListGet(IntPtr, UInt32) at line 2310 Noesis.View:Noesis_View_KeyDown(HandleRef, Int32) Noesis.View:KeyDown(Key) at line 307 NoesisView:ProcessEvent(Event, Boolean, Boolean) at line 1196 NoesisView:OnGUI() at line 1252 Potentially of note: as part of this upgrade, we needed to enable the new Unity input system in our build. We have other client-side dependencies that still require the old UnityEngine.Input system, so we currently have BOTH input systems enabled in our Player settings. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007429)
sfernandez 2021-09-10 16:29 |
I need more information to determine the cause, could you please modify the following code in our Extend.cs script (in Runtime/API/Core folder):private static IntPtr ListGet(IntPtr cPtr, uint index) { try { var list = (System.Collections.IList)GetExtendInstance(cPtr); object item = list != null ? list[(int)index] : null; HandleRef itemPtr = GetInstanceHandle(item); BaseComponent.AddReference(itemPtr.Handle); // released by native bindings return itemPtr.Handle; } catch (Exception e) { var list = (System.Collections.IList)GetExtendInstance(cPtr); Log.Error($"{list.GetType()}({list.Count}): Get({index})"); Error.UnhandledException(e); return IntPtr.Zero; } } Let's see what collection is giving errors, and if indices are totally wrong or not. |
(0007435)
rachelle 2021-09-11 00:53 |
I mis-diagnosed this as a crash; this is not actually crashing our client. I've added the logging you requested and am working on repro-ing the issue, but so far no luck. As soon as I'm able to repro it I'll share the resulting log output. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2382 | [NoesisGUI] C# SDK | feature | always | 2022-07-15 12:02 | 2022-08-16 18:11 |
Reporter: | maherne | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.5 | ||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.6 | ||
Target Version: | 3.1.6 | ||||
Platform: | Any | ||||
Summary: | Expression methods are not exposed in the C# SDK | ||||
Description: |
The Expression class in C# does not expose the Evaluate, Reapply, BeforeSet, or AfterSet methods. This prevents the creation of new Expressions in C#. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008045)
sfernandez 2022-08-16 18:11 |
Won't implement this as in WPF Expression class can't be extended, all the virtual methods are internal. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2379 | [NoesisGUI] C++ SDK | minor | sometimes | 2022-07-13 15:25 | 2022-08-03 16:06 |
Reporter: | steveh | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.0 | ||
Target Version: | 3.2.0 | ||||
Platform: | Any | ||||
Summary: | Bad clipping when text wraps | ||||
Description: |
Hi guys, So we're seeing issues where text wrapping will cause some bad clipping. This is particularly noticeable with our arabic font. It's not 100%, and it depends on where the line wraps, but the edges of the text blocks can clip. If the text does not wrap then it's absolutely fine. I'm on a slightly old version of the Arabic branch (a local copy of trunk 3.1.2 and Arabic merged together). I'm attaching a sample I used to demonstrate this. The sample is called "SumoSample_ArabicLineHeight". The reason it's called "ArabicLineHeight" is because I was trying to reproduce a different bug that we see in our game where glyphs overlap each other. I'm attaching an image of that occurring in our game. However, I have not been able to reproduce that in the vanilla SDK so I need to investigate further as I'm guessing that's something that's wrong with our renderer / shaders. |
||||
Tags: | |||||
Steps To Reproduce: |
1. Unzip the *.ZIP and extract to your Native directory in the Noesis SDK 2. Generate the sample from the attached .conf 3. Build it and run it. Bug: You should see that 3rd textbox incorrectly clips on the right edge. Expected Result: There should be no clipping of the text regardless of how it wraps. |
||||
Additional Information: | |||||
Attached Files: |
NoesisSDK.zip (164,528 bytes) 2022-07-13 15:25 https://www.noesisengine.com/bugs/file_download.php?file_id=1664&type=bug text_wrapping_clipping.png (447,633 bytes) 2022-07-13 15:25 https://www.noesisengine.com/bugs/file_download.php?file_id=1665&type=bug sumo_renderer_glyph_overlap.png (101,787 bytes) 2022-07-13 15:25 https://www.noesisengine.com/bugs/file_download.php?file_id=1666&type=bug |
||||
Notes | |
(0008019)
jsantos 2022-07-14 17:43 |
With the latest version of the RTL branch (right now in sync with trunk) this is not happening. Could you please verify, thank you! |
(0008023)
steveh 2022-07-14 21:15 |
Hey Jesús, you're absolutely right, the clipping is fixed in the latest verison of the Arabic branch. Much appreciated! Enjoy your week off. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2390 | [NoesisGUI] C++ SDK | minor | sometimes | 2022-08-02 11:22 | 2022-08-03 14:03 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.5 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.6 | ||
Target Version: | 3.1.6 | ||||
Platform: | Any | ||||
Summary: | Assert hit when showing/hiding the scrollbars in a ScrollViewer | ||||
Description: |
Using a ScrollViewer with the NoesisTheme, when the ScrollBar is shown/hidden sometimes an assert is hit rendering the offscreen textures. NS_ASSERT(rectIndex.rect != 0); (RenderTree.cpp: 138) |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
MainWindowTest.xaml (1,912 bytes) 2022-08-02 11:23 https://www.noesisengine.com/bugs/file_download.php?file_id=1672&type=bug |
||||
Notes | |
(0008039)
sfernandez 2022-08-02 11:23 |
|
(0008040)
sfernandez 2022-08-03 14:03 |
Fixed in changeset r11532 for next release. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2383 | [NoesisGUI] C++ SDK | minor | always | 2022-07-15 17:14 | 2022-08-01 16:41 |
Reporter: | steveh | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.0 | ||
Target Version: | 3.2.0 | ||||
Platform: | Any | ||||
Summary: | Arabic Branch: InlineUIContainers not working with FlowDirection | ||||
Description: | Hi guys, I have an issue where InlineUIContainers are not being positioned correctly when working with FlowDirection. I've created a sample with the head revision (r11503) of the Arabic branch to demonstrate this. | ||||
Tags: | |||||
Steps To Reproduce: |
1. Unzip the ZIP to the Native directory of the NoesisSDK 2. Generate the Sumo config 3. Build the Sumo_InlineUIContainer sample 4. Run it. You should see that the button prompt is not positioned correctly. |
||||
Additional Information: | |||||
Attached Files: |
NoesisSDK.zip (167,184 bytes) 2022-07-15 17:14 https://www.noesisengine.com/bugs/file_download.php?file_id=1667&type=bug inline_ui_container_flow_direction.png (186,903 bytes) 2022-07-15 17:14 https://www.noesisengine.com/bugs/file_download.php?file_id=1668&type=bug |
||||
Notes | |
(0008038)
sfernandez 2022-08-01 16:41 |
Fixed in r11527 |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2387 | [NoesisGUI] C++ SDK | minor | always | 2022-07-26 15:51 | 2022-07-28 20:22 |
Reporter: | pdx_lysannschlegel | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.4 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.6 | ||
Target Version: | 3.1.6 | ||||
Platform: | macOS | ||||
Summary: | clang warnings in NsMath/Vector.h and NsMath/Transform.h (deprecated-copy) | ||||
Description: |
When building anything that includes NsMath/Vector.h or NsMath/Transform.h with Xcode clang version at least 14, and -Wdeprecated-copy enabled, the warning is triggered in several places: NsMath/Vector.h:30:5: error: definition of implicit copy assignment operator for 'Vector2' is deprecated because it has a user-declared copy constructor [-Werror,-Wdeprecated-copy] Vector2(const Vector2& v) = default; ^ NsMath/Matrix.inl:16:13: note: in implicit copy assignment operator for 'Noesis::Vector2' first required here mVal[0] = Vector2(v00, v01); ^ NsMath/Vector.h:99:5: error: definition of implicit copy assignment operator for 'Vector3' is deprecated because it has a user-declared copy constructor [-Werror,-Wdeprecated-copy] Vector3(const Vector3& v) = default; ^ NsMath/Matrix.inl:244:13: note: in implicit copy assignment operator for 'Noesis::Vector3' first required here mVal[0] = Vector3(v00, v01, v02); ^ NsMath/Vector.h:168:5: error: definition of implicit copy assignment operator for 'Vector4' is deprecated because it has a user-declared copy constructor [-Werror,-Wdeprecated-copy] Vector4(const Vector4& v) = default; ^ NsMath/Matrix.inl:612:13: note: in implicit copy assignment operator for 'Noesis::Vector4' first required here mVal[0] = Vector4(v00, v01, v02, v03); ^ NsMath/Transform.h:31:5: error: definition of implicit copy assignment operator for 'Transform2' is deprecated because it has a user-declared copy constructor [-Werror,-Wdeprecated-copy] Transform2(const Transform2& m) = default; ^ NsMath/Transform.inl:126:11: note: in implicit copy assignment operator for 'Noesis::Transform2' first required here *this = PostTrans(*this, -centerX, -centerY); ^ The above output is when building with version 3.1.4, but I did a quick check and looks like 3.1.5 headers still look the same, I just haven't tested it. This issue is especially annoying when building with -Werror. Of course, we can work around it by disabling the warning before including these, but would be nice if it wasn't required. |
||||
Tags: | |||||
Steps To Reproduce: |
I don't have very easy steps to reproduce but the warning should be pretty clear as to what's wrong. But the general idea should be: 1. Set up a C++ project, set to compile with clang on Xcode 14, and enable -Wdeprecated-copy (and optionally -Werror) compiler flags. 2. Include NsMath/Vector.h or Transform.h in any file that builds with these warning flags enabled. 3. Compile. Potentially this can be reproduced with older clang versions or non Xcode clang as well, but I cannot currently test this. |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008036)
jsantos 2022-07-28 20:22 |
I was only able to reproduce this with the latest beta of Xcode 14 (b4). These warnings and more issues related to clang14 has been fixed in r11522 Thanks for your great feedback! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2363 | [NoesisGUI] Unreal | minor | always | 2022-06-23 09:56 | 2022-07-28 12:23 |
Reporter: | lehoang03an | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.4 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.6 | ||
Target Version: | 3.1.6 | ||||
Platform: | Windows | ||||
Summary: | Unreal 5 Noesis Instance can't run other plugin's custom blueprint node | ||||
Description: |
Plugin: https://www.unrealengine.com/marketplace/en-US/product/low-entry-extended-standard-library/ Node: Sort (Object Array) The whole function can't run if there is custom node Put it in another UObject class and make the class DataContext works |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
image.png (145,896 bytes) 2022-06-23 09:56 https://www.noesisengine.com/bugs/file_download.php?file_id=1655&type=bug |
||||
Notes | |
(0008011)
sfernandez 2022-07-05 23:45 |
Could you please try the following patch in the Noesis plugin code (NoesisRuntime module)?Index: NoesisTypeClass.cpp =================================================================== --- NoesisTypeClass.cpp (revision 11457) +++ NoesisTypeClass.cpp (working copy) @@ -2440,7 +2440,7 @@ } } - if (!Param) + if (HasNoParams) { NoesisTypeProperty* TypeProperty = new NoesisTypePropertyObjectWrapperCommand(Noesis::Symbol(TCHAR_TO_UTF8(*Function->GetName())), Noesis::TypeOf<NoesisFunctionWrapper>(), Function, CanExecuteFunction); TypeClass->AddProperty(TypeProperty); |
(0008025)
sfernandez 2022-07-15 13:12 |
Did you have time to test if the patch solved your issue? |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2386 | [NoesisGUI] Unity3D | minor | always | 2022-07-26 11:00 | 2022-07-27 16:47 |
Reporter: | Feldruebe | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.5 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.6 | ||
Target Version: | 3.1.6 | ||||
Platform: | Any | ||||
Summary: | Argument Exception when using ref property | ||||
Description: |
If you add a property to your view model that uses the ref keyword an argument exception happens. |
||||
Tags: | |||||
Steps To Reproduce: |
Modify the ButtonsSample as followed: public class ButtonsViewModel : MonoBehaviour { void Start() { NoesisView view = GetComponent<NoesisView>(); view.Content.DataContext = this; } private string[] _Names; public ref string[] Names => ref _Names; } Start the Application. |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008034)
sfernandez 2022-07-27 16:47 |
The patch that fixes the issue can be found below:Index: Extend.cs =================================================================== --- Extend.cs (revision 11519) +++ Extend.cs (revision 11520) @@ -1636,7 +1636,7 @@ for (int i = 0; i < propsLen; ++i) { var p = props[i]; - if (p.GetGetMethod() != null && !p.PropertyType.IsPointer && + if (p.GetGetMethod() != null && !p.PropertyType.IsPointer && !p.PropertyType.IsByRef && (HasTypeConverter(p) || (!IsIndexerProperty(p) && !IsDependencyProperty(type, p)))) { ExtendPropertyData propData = AddProperty(propsInfo, p, usePropertyInfo); |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2384 | [NoesisGUI] C++ SDK | crash | always | 2022-07-15 20:01 | 2022-07-18 11:50 |
Reporter: | steveh | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.6 | ||
Target Version: | 3.1.6 | ||||
Platform: | Any | ||||
Summary: | Itemspresenter stomp | ||||
Description: |
Hi guys, After grabbing r11503 from the Arabic branch we've found that it triggers our memory stomp detection. The issue is coming from the following code: void ItemsPresenter::OnPresenterDestroyed(DependencyObject*) { mScrollPresenter = 0; // the this pointer is null } This is because the destroyed delegate is not unbound when ItemsPresenter::OnTemplatedParentChanged is triggered. I'm attaching a patch of the fix. Cheers! -Steven |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
items_presenter_stomp_fix.diff (807 bytes) 2022-07-15 20:01 https://www.noesisengine.com/bugs/file_download.php?file_id=1669&type=bug |
||||
Notes | |
(0008026)
sfernandez 2022-07-18 11:50 |
Thanks a lot for reporting this. I fixed it in our trunk and merged it to the Arabic branch (r11509). |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2381 | [NoesisGUI] C++ SDK | minor | N/A | 2022-07-14 18:44 | 2022-07-14 20:33 |
Reporter: | jack.barkov | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | feedback | Product Version: | 3.1.5 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Noesis.dll - Debug / Release / PDBs | ||||
Description: |
Hello, I would like to request Noesis.pdb from Noesis.dll version 3.1.5.11450 (x86) released in the last release (NoesisGUI-NativeSDK-win-3.1.5-Indie.zip). And a Noesis.dll with pdb in debug for development, as jsantos sent me in version 3.1.4 (https://www.noesisengine.com/bugs/view.php?id=2323) I'm having a crash that I can't see the stacktrace so I can better understand what's happening. By the way, would it be possible whenever there is a new release, to have the Noesis.dll version in debug and release with pdb? This helps a lot to understand what we are doing wrong when we face some problem, I believe it would help many people to understand errors better. Ref: https://www.noesisengine.com/forums/viewtopic.php?t=2650 Thanks. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008020)
jsantos 2022-07-14 19:36 |
https://drive.google.com/file/d/1xc4w00eyy73GxRHhutgQABF3We7J7ilx/view?usp=sharing |
(0008021)
jack.barkov 2022-07-14 20:13 |
Thank you jsantos. Can you send the Noesis.dll (3.1.5.11450) x86 pdb released in the indie zip as well? Thank you again. |
(0008022)
jsantos 2022-07-14 20:33 |
https://drive.google.com/file/d/1vuYZQvpEFAV5JkUELnHcGTF0EjLQObfd/view?usp=sharing |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2262 | [NoesisGUI] Unity3D | major | always | 2022-02-08 00:19 | 2022-07-13 18:25 |
Reporter: | Nitae | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.3 | ||
Target Version: | 3.1.3 | ||||
Platform: | Windows | ||||
Summary: | Unity default font cannot be used | ||||
Description: |
Hi, I'm Nitae I work for Foresight Sports. I found an issue trying to use Unity's default fonts. When I add a new font, the Noesis importer automatically changes the asset and cannot be used by the Unity Text UI. In the font properties there is a field to change the importer from "NoesisFontImporter" to "UnityEditor.TrueTypeFontImporter (Default)", but when I try to change it, an error appears (check the screenshot). I am using Unity 2021.2.0f1 and noesis 3.1.2 in an HDRP project |
||||
Tags: | Fonts, Unity | ||||
Steps To Reproduce: |
Steps Part 1 Unable to assign a font to Unity Text UI: - Create a new Unity project - Import noesis 3.1.2 - Import a .tff font - Create a text UI in the scene - Tries to assign the imported font to the created Text UI Part 2 Change the importer mode: - Select the font in the project - Change de Importer field showed in the inspector from "NoesisFontImporter" to "UnityEditor.TrueTypeFontImporter (Default)" |
||||
Additional Information: | |||||
Attached Files: |
Assign Font To Unity Text UI.PNG (77,206 bytes) 2022-02-08 00:19 https://www.noesisengine.com/bugs/file_download.php?file_id=1584&type=bug Change importer mode 1.PNG (29,245 bytes) 2022-02-08 00:19 https://www.noesisengine.com/bugs/file_download.php?file_id=1585&type=bug Change importer mode 2.PNG (123,911 bytes) 2022-02-08 00:19 https://www.noesisengine.com/bugs/file_download.php?file_id=1586&type=bug |
||||
Notes | |
(0007786)
jsantos 2022-02-08 13:11 |
Changing the importer from "NoesisFontImporter" to "UnityEditor.TrueTypeFontImporter (Default)" should work. It seems the error is coming from Unity because they are still trying to render a thumbnail. I will have a look at this ASAP. Does restarting Unity fix the issue? |
(0007794)
Nitae 2022-02-09 14:47 |
I already tried restarting Unity and deleting .meta files but that doesn't work. I also did the test on a new project and the same thing happens. |
(0007807)
jsantos 2022-02-14 18:30 |
The following patch fixes this issueIndex: NoesisPostprocessor.cs =================================================================== --- NoesisPostprocessor.cs (revision 11128) +++ NoesisPostprocessor.cs (working copy) @@ -99,7 +99,11 @@ else if (IsFont(assetPath)) { // Noesis uses a custom font importer that replaces Unity's default one - AssetDatabase.SetImporterOverride<NoesisFontImporter>(assetPath); + // If there is not override yet, change the importer to Noesis + if (AssetDatabase.GetImporterOverride(assetPath) == null) + { + AssetDatabase.SetImporterOverride<NoesisFontImporter>(assetPath); + } } } } |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2378 | [NoesisGUI] Unity3D | major | always | 2022-07-13 10:26 | 2022-07-13 13:24 |
Reporter: | peter_e-h_easylaser | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.5 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.6 | ||
Target Version: | 3.1.6 | ||||
Platform: | Any | ||||
Summary: | Noesis 3.1.5 Unity release doesn't work when uploaded to a UPM (npm) pagacke repository. | ||||
Description: |
The files in the API folder (and possibly others) are missing their .meta files, so the 3.1.5 release won't work when we push it to our npm repository and add it through Unity Package Manager. It would be preferrable to be able to do this instead of including the package in our main repository, as it keeps our main repository smaller, and makes upgrading to a newer version easier. |
||||
Tags: | |||||
Steps To Reproduce: |
* Use "npm publish" to push the 3.1.5 Unity release to a repository * Add the repository and package reference to a Unity project = The files in the Runtime/API folder are unavailable to Unity since there are no .meta files associated. |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2375 | [NoesisGUI] C++ SDK | crash | always | 2022-07-11 12:03 | 2022-07-11 14:06 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.5 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.6 | ||
Target Version: | 3.1.6 | ||||
Platform: | Any | ||||
Summary: | Crash in GetXamlDependencies when using unknown namespace | ||||
Description: |
The following xaml will crash when calling GetXamlDependencies():<Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:ed="http://schemas.microsoft.com/expression/2010/drawing"> <ed:Arc x:Name="RadialFill" Fill="#FF87E4FF" Height="100" Width="100" Stretch="None" ArcThickness="4" ArcThicknessUnit="Pixel" EndAngle="360"/> </Grid> |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2374 | [NoesisGUI] C++ SDK | block | always | 2022-07-09 12:42 | 2022-07-11 11:10 |
Reporter: | satorp | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.3 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.6 | ||
Target Version: | 3.1.6 | ||||
Platform: | Windows | ||||
Summary: | Slider's thumb may fail to update its dragging state when mouse capture changed | ||||
Description: |
The thumb's IsDragging state is not updated correctly when mouse capture has been ended by other means than releasing the mouse button. Mouse capture may end prematurely, e.g. in following cases: - User presses Alt+Tab (in Windows) to switch to another application - The slider's visibility changes (e.g. when UI state is updated while user was dragging the slider's thumb) - When running in debugger and the execution breaks during the dragging process The code in Thumb::OnMouseLeftButtonUp seems to assume that mouse is still captured, which is not true for cases above. This results in Thumb::StopDrag will never get called, and the thumb will behave incorrectly when dragged once again. |
||||
Tags: | |||||
Steps To Reproduce: |
1. Start Noesis Gallery sample, and open Basic Input > Slider tab 2. Drag any slider's thumb, and while doing so press Alt+Tab to switch to another application 3. Return to Gallery sample, and try moving the slider's thumb again 4. Result: The thumb will not move smoothly, and it's visual state is also incorrect (grayed) |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0008014)
satorp 2022-07-09 12:47 |
We're currently having a blocking issue caused by this bug. It will be helpful if you could provide us a patch as a workaround in the mean time. Thank you. |
(0008015)
sfernandez 2022-07-11 11:10 |
Fixed in changeset 11482:Index: Thumb.cpp =================================================================== --- Thumb.cpp (revision 11481) +++ Thumb.cpp (revision 11482) @@ -42,10 +42,12 @@ { ReleaseMouseCapture(); } + ReleaseAllTouchCaptures(); + SetReadOnlyProperty<bool>(IsDraggingProperty, false); - - DragCompletedEventArgs args(this, true, mCurrentScreenPosition.x - mStartScreenPosition.x, - mCurrentScreenPosition.y - mStartScreenPosition.y); + + Point offset = mCurrentScreenPosition - mStartScreenPosition; + DragCompletedEventArgs args(this, true, offset.x, offset.y); RaiseEvent(args); } } @@ -278,6 +280,15 @@ data->RegisterEvent(DragCompletedEvent, "DragCompleted", RoutingStrategy_Bubble); data->RegisterEvent(DragDeltaEvent, "DragDelta", RoutingStrategy_Bubble); data->RegisterEvent(DragStartedEvent, "DragStarted", RoutingStrategy_Bubble); + + auto OnLostCapture = [](BaseComponent* sender, const EventArgs&) + { + Thumb* thumb = (Thumb*)sender; + thumb->CancelDrag(); + }; + + data->RegisterEventHandler(LostMouseCaptureEvent, OnLostCapture); + data->RegisterEventHandler(LostTouchCaptureEvent, OnLostCapture); } NS_END_COLD_REGION |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2365 | [NoesisGUI] C++ SDK | crash | always | 2022-06-25 05:38 | 2022-06-30 19:36 |
Reporter: | nikobarli | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.3 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.6 | ||
Target Version: | 3.1.6 | ||||
Platform: | Any | ||||
Summary: | Assertion is thrown when backspace key is pressed after a long text is entered | ||||
Description: |
Happens with 100% probability. Didn't immediately crash application in Release mode, but probably causes unintended memory access. |
||||
Tags: | |||||
Steps To Reproduce: |
1. Run "Application Tutorial" (demo application included in Noesis package) in DEBUG mode 2. Enter a long text (30 characters seem to sufficient, but the longer may be the better) 3. Press Backspace key // Assertion is thrown -> see the attached image |
||||
Additional Information: | |||||
Attached Files: |
assertion.png (137,070 bytes) 2022-06-25 05:38 https://www.noesisengine.com/bugs/file_download.php?file_id=1656&type=bug assertion2.png (199,719 bytes) 2022-06-29 14:22 https://www.noesisengine.com/bugs/file_download.php?file_id=1657&type=bug |
||||
Notes | |
(0008002)
jsantos 2022-06-27 11:41 |
I am unable to reproduce this. Could you please, paste the exact text you are using? And if possible, the values of the vector mRuns from the function that is crashing HitTestTextPosition. Thank you |
(0008003)
nikobarli 2022-06-29 14:22 |
For example, I can reproduce it with text "123456789012345678901234567890" (30 characters). Inside HitTestTextPosition, mGlyphs is a vector with size 29, but is indexed with idx=textPosition+1=29, which is beyond the range of mGlyphs. mRuns is 1 element vector, please find its contents in the attached screen capture. Thanks. |
(0008005)
jsantos 2022-06-30 12:57 |
I finally reproduced it, I needed to switch to Japanese IME. Thank you, we are working on a solution. |
(0008006)
sfernandez 2022-06-30 19:36 |
Resolved in changeset 11464. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2367 | [NoesisGUI] C++ SDK | major | always | 2022-06-30 08:14 | 2022-06-30 12:53 |
Reporter: | nikobarli | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.3 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.6 | ||
Target Version: | 3.1.6 | ||||
Platform: | Any | ||||
Summary: | when using IME, TextBox cursor is shown even though focus has moved to another TextBox | ||||
Description: |
When using IME, TextBox input cursor is shown even though focus has moved to another TextBox. Please see the attached image. |
||||
Tags: | |||||
Steps To Reproduce: |
1. Start Login application included in Noesis package 2. turn on Japanese input 3. Input any text inside login name text box, press Enter 4. Click password text box // Input cursors are shown on both login text box and password text box When the application exits, exception is thrown inside TextContainer destructor. |
||||
Additional Information: | |||||
Attached Files: |
image.png (45,089 bytes) 2022-06-30 08:14 https://www.noesisengine.com/bugs/file_download.php?file_id=1658&type=bug Assertion.PNG (252,791 bytes) 2022-06-30 08:14 https://www.noesisengine.com/bugs/file_download.php?file_id=1659&type=bug |
||||
Notes | |
(0008004)
sfernandez 2022-06-30 12:53 |
We introduced the bug when adorners were implemented in 3.1.2, it is now fixed in changeset 11462.Index: AdornerLayer.cpp =================================================================== --- AdornerLayer.cpp (revision 11461) +++ AdornerLayer.cpp (revision 11462) @@ -370,10 +370,10 @@ adornedElement->Destroyed() -= MakeDelegate(this, &AdornerLayer::OnAdornedElementDestroyed); NS_LOG_TRACE("[%p] AdornerLayer: removed adorned element '%s' (%p)", this, adornedElement->GetClassType()->GetName(), adornedElement); + + mAdornedElements.Erase(adornedElement); } - mAdornedElements.Erase(adornedElement); - if (mAdornedElements.Empty()) { Visual* parent = GetVisualParent(); |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1161 | [NoesisGUI] C++ SDK | minor | always | 2017-10-09 09:33 | 2022-06-24 17:06 |
Reporter: | AndreasEnscape | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.0.2f2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.5 | ||
Target Version: | 3.1.5 | ||||
Platform: | Any | ||||
Summary: | MousBinding tag/section not implemented | ||||
Description: |
The command strategy, see here https://www.noesisengine.com/docs/Gui.Core.CommandsTutorial.html, and in line with this the command binding is restricted to very few elements and also restricted to the click action. What is imho direly needed is the MS like and WPF compatible approach of having <XXX.InputBinding>, <XXX.MouseBinding> and <XXX.KeyBinding> sections, see also the discussion here: http://www.noesisengine.com/forums/viewtopic.php?f=3&t=1192&p=6907#p6907 |
||||
Tags: | mousebinding | ||||
Steps To Reproduce: |
<ToggleButton Height="120" VerticalAlignment="Center" > <ToggleButton.InputBindings> <MouseBinding MouseAction="RightClick" Command="{Binding Path=MyMouseRightClickCommand}" CommandParameter="Bla"/> </ToggleButton.InputBindings> </ToggleButton> |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2339 | [NoesisGUI] Unity3D | feature | always | 2022-04-29 14:55 | 2022-06-24 00:39 |
Reporter: | JinFox | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.5 | ||
Target Version: | 3.1.5 | ||||
Platform: | Any | ||||
Summary: | Request for support of storyboard animation for long values | ||||
Description: |
Hello, Noesis currently does not support storyboard animation on variable of the type long (Int64). WPF library has the following storyboard related classes : - Int64AnimationUsingKeyFrames - Int64Animation - LinearInt64KeyFrame - EasingInt64KeyFrame - etc Could it be possible to add these feature as part of your API ? We currently are blocked by this missing feature in order to be able to animate on big values on screen. Thank you a lot for your time! Regards, |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2297 | [NoesisGUI] C++ SDK | minor | sometimes | 2022-03-02 18:45 | 2022-06-23 19:56 |
Reporter: | ext-astadnik@sumo-digital.com | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.11 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.5 | ||
Target Version: | 3.1.5 | ||||
Platform: | Windows | ||||
Summary: | App crash on Windows 10 with EXCEPTION_ACCESS_VIOLATION_READ | ||||
Description: |
0 MyAppDev.exe 0x7ff727f222f0 [inlined] Noesis::HashKeyInfo<T>::IsEmpty (hashmap.inl:56) 1 MyAppDev.exe 0x7ff727f222f0 [inlined] Noesis::HashBucket_KV<T>::IsEmpty (hashmap.inl:106) 2 MyAppDev.exe 0x7ff727f222f0 [inlined] Noesis::HashMapImpl<T>::Iterator::SkipEmpty (hashmap.inl:299) 3 MyAppDev.exe 0x7ff727f222f0 [inlined] Noesis::HashMapImpl<T>::Iterator::{ctor} (hashmap.inl:296) 4 MyAppDev.exe 0x7ff727f222f0 Noesis::HashMapImpl<T>::Begin (hashmap.inl:347) 5 MyAppDev.exe 0x7ff727f20d94 Noesis::TimelineEventArgs::{ctor} (timeline.h:51) 6 MyAppDev.exe 0x7ff727f21804 Noesis::TimeManager::Tick (timemanager.cpp:379) 7 MyAppDev.exe 0x7ff727ebdb01 Noesis::View::UpdateAnimation (view.cpp:895) 8 MyAppDev.exe 0x7ff72789a671 doFrame (MyAppDev.cpp:11062) 9 MyAppDev.exe 0x7ff727872a4a CODEmain (MyAppDev.cpp:20644) 10 MyAppDev.exe 0x7ff72780eb44 [inlined] std::vector<T>::operator[] (vector:1511) 11 MyAppDev.exe 0x7ff72780eb44 WinMain (WinMain.cpp:758) 12 MyAppDev.exe 0x7ff72810a28d [inlined] invoke_main (exe_common.inl:102) 13 MyAppDev.exe 0x7ff72810a28d __scrt_common_main_seh (exe_common.inl:288) 14 KERNEL32.DLL 0x7ffa464654df BaseThreadInitThunk 15 ntdll.dll 0x7ffa4720485a RtlUserThreadStart |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007830)
jsantos 2022-03-04 14:50 |
Thanks for the report, we are investigating the issue. Getting a minidump would help us to analyze this with more context, but let's see if the callstack is enough. |
(0008001)
sfernandez 2022-06-23 19:56 |
Fixed in changeset r11365 |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2248 | [NoesisGUI] Unreal | feature | always | 2022-01-26 13:09 | 2022-06-23 19:02 |
Reporter: | lowprofile | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1 | ||
Product Build: | Resolution: | won't fix | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.5 | ||
Target Version: | 3.1.5 | ||||
Platform: | Any | ||||
Summary: | Create Action attached property that we can use with InputActions | ||||
Description: |
Example usage: <Button Content="Back" Margin="10" Height="Auto" common:InputActionProperty.Action="Back" Command="{Binding BackCommand}"/> When the button is enabled/disabled, it also binds/unbinds (or only prevents) the action. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007761)
jsantos 2022-01-31 16:13 (Last edited: 2022-01-31 16:13) |
I would like to review this with the team because I prefer the granularity offered by #2247, I am not sure if this should be part of our core plugin. |
(0008000)
sfernandez 2022-06-23 19:02 |
We are not going to implement this approach because using the InputActionTrigger (#2247) is more flexible and already solves the problem. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2140 | [NoesisGUI] C++ SDK | feature | N/A | 2021-10-06 19:59 | 2022-06-23 18:50 |
Reporter: | krupitskas | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.5 | ||
Target Version: | 3.1.5 | ||||
Platform: | Any | ||||
Summary: | Allow to receive font information after RegisterFont | ||||
Description: | I want to load multiple fonts into noesis and after receive information like family name, weight etc. | ||||
Tags: | C++, Fonts | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007507)
jsantos 2021-10-07 13:26 |
Related to this forum post https://www.noesisengine.com/forums/viewtopic.php?f=3&t=2441 |
(0007999)
sfernandez 2022-06-23 18:49 (Last edited: 2022-06-23 18:50) |
Exposed similar to WPF's Fonts helper class: https://docs.microsoft.com/en-us/dotnet/api/system.windows.media.fonts?view=windowsdesktop-6.0Fonts::GetTypefaces(fontStream, [](uint32_t index, const Typeface& typeface) { LOG("[%u] %s: Weight=%d, Style=%d, Stretch=%d", index, typeface.familyName, (int)typeface.weight, (int)typeface.style, (int)typeface.stretch); } |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2323 | [NoesisGUI] C++ SDK | crash | sometimes | 2022-04-06 16:14 | 2022-06-21 17:13 |
Reporter: | jack.barkov | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.4 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.5 | ||
Target Version: | 3.1.5 | ||||
Platform: | Windows | ||||
Summary: | Crash - Noesis::Thickness::TryParse | ||||
Description: |
After a while with a test application running, a crash is happening inside Noesis.dll I don't know how to reproduce, it happens sometimes. My detailed dump output: ******************************************************************************* * * * Exception Analysis * * * ******************************************************************************* KEY_VALUES_STRING: 1 Key : AV.Dereference Value: NullPtr Key : AV.Fault Value: Write Key : Analysis.CPU.mSec Value: 2827 Key : Analysis.DebugAnalysisManager Value: Create Key : Analysis.Elapsed.mSec Value: 5465 Key : Analysis.Init.CPU.mSec Value: 187 Key : Analysis.Init.Elapsed.mSec Value: 4824 Key : Analysis.Memory.CommitPeak.Mb Value: 123 Key : Timeline.Process.Start.DeltaSec Value: 29531 Key : WER.Process.Version Value: 1.0.80.0 FILE_IN_CAB: 1f3e9c52-99e2-412a-bb32-e8e3c76a9a3b.dmp NTGLOBALFLAG: 0 PROCESS_BAM_CURRENT_THROTTLED: 0 PROCESS_BAM_PREVIOUS_THROTTLED: 0 CONTEXT: (.ecxr) eax=00000000 ebx=1268b278 ecx=00000000 edx=0019cbf0 esi=0019cbf4 edi=0019cbe8 eip=07c8c037 esp=0019cb58 ebp=0019cba8 iopl=0 nv up ei pl nz na po nc cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00210202 Noesis!Noesis::Thickness::TryParse+0x408a7: 07c8c037 668901 mov word ptr [ecx],ax ds:002b:00000000=???? Resetting default scope EXCEPTION_RECORD: (.exr -1) ExceptionAddress: 07c8c037 (Noesis!Noesis::Thickness::TryParse+0x000408a7) ExceptionCode: c0000005 (Access violation) ExceptionFlags: 00000000 NumberParameters: 2 Parameter[0]: 00000001 Parameter[1]: 00000000 Attempt to write to address 00000000 PROCESS_NAME: test1234.exe WRITE_ADDRESS: 00000000 ERROR_CODE: (NTSTATUS) 0xc0000005 - The instruction at 0x%p referenced memory at 0x%p. The memory could not be %s. EXCEPTION_CODE_STR: c0000005 EXCEPTION_PARAMETER1: 00000001 EXCEPTION_PARAMETER2: 00000000 STACK_TEXT: WARNING: Stack unwind information not available. Following frames may be wrong. 0019cba8 07c9afe5 1268c610 12a92060 00000008 Noesis!Noesis::Thickness::TryParse+0x408a7 0019cc00 07c93988 00000500 0019eff8 00000000 Noesis!Noesis::DynamicTextureSource::GetPixelHeight+0x6145 0019cd58 07b83e28 00000000 00000001 00000000 Noesis!Noesis::Thickness::TryParse+0x481f8 0019ef90 07b82d4c 00000000 00000030 082ab440 Noesis!Noesis::RenderOptions::StaticGetClassType+0x5069 0019efdc 07b80552 275a97e4 0019f24c 1276d288 Noesis!Noesis::RenderOptions::StaticGetClassType+0x3f8d 0019f21c 07b7e62e 0019f24c 0019f5c0 0b947a68 Noesis!Noesis::RenderOptions::StaticGetClassType+0x1793 0019f23c 07b7e6a1 0019f24c 0019f520 3f800000 Noesis!Noesis::RelativeSource::StaticGetClassType+0x1dfc 0019f28c 005bf195 0019f2d0 75b9b81f 005d4bfd Noesis!Noesis::RelativeSource::StaticGetClassType+0x1e6f 0019f2f0 005d3bcb 128a80c8 000000ff 126af85c test1234_exe+0x1bf195 0019f318 005c8ba3 00f67230 0019f3a8 00bea153 test1234_exe+0x1d3bcb 0019f324 00bea153 edeb8890 00000204 0019f520 test1234_exe+0x1c8ba3 0019f3a8 00beb1f2 edeb8e30 0009096e 0019f49c test1234_exe+0x7ea153 0019f508 00be42a9 0097dc04 0019f5a4 be8466d0 test1234_exe+0x7eb1f2 0019f520 0097dc47 00000000 00000001 001b1ed8 test1234_exe+0x7e42a9 0019ff18 00d00098 00000022 002c0000 00d00098 test1234_exe+0x57dc47 0019ff70 75a0fa29 002c0000 75a0fa10 0019ffdc test1234_exe+0x900098 0019ff80 76f47a7e 002c0000 36e15315 00000000 KERNEL32!BaseThreadInitThunk+0x19 0019ffdc 76f47a4e ffffffff 76f68a29 00000000 ntdll!__RtlUserThreadStart+0x2f 0019ffec 00000000 04dea951 002c0000 00000000 ntdll!_RtlUserThreadStart+0x1b STACK_COMMAND: ~0s; .ecxr ; kb SYMBOL_NAME: Noesis+408a7 MODULE_NAME: Noesis IMAGE_NAME: Noesis.dll FAILURE_BUCKET_ID: NULL_POINTER_WRITE_c0000005_Noesis.dll!Unknown OSPLATFORM_TYPE: x86 OSNAME: Windows 10 IMAGE_VERSION: 3.1.4.11278 FAILURE_ID_HASH: {bf357e83-43f7-28d9-5206-d6c832cdec19} Followup: MachineOwner --------- 0:000> lmvm Noesis Browse full module list start end module name 07a80000 07dd2000 Noesis C (export symbols) Noesis.dll Loaded symbol image file: Noesis.dll Mapped memory image file: C:\test1234\Noesis.dll Image path: C:\test1234\Noesis.dll Image name: Noesis.dll Browse all global symbols functions data Timestamp: Thu Mar 17 17:45:59 2022 (62339E07) CheckSum: 00000000 ImageSize: 00352000 File version: 3.1.4.11278 Product version: 3.1.4.11278 File flags: 0 (Mask 0) File OS: 0 Unknown Base File type: 2.0 Dll File date: 00000000.00000000 Translations: 0000.04b0 Information from resource tables: CompanyName: Noesis Technologies ProductName: NoesisGUI-win-x86 InternalName: Noesis.dll OriginalFilename: Noesis.dll ProductVersion: 3.1.4.11278 FileVersion: 3.1.4.11278 FileDescription: Noesis Library LegalCopyright: (C) Noesis Technologies S.L. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
1f3e9c52-99e2-412a-bb32-e8e3c76a9a3b.dmp (2,612,724 bytes) 2022-04-06 17:00 https://www.noesisengine.com/bugs/file_download.php?file_id=1618&type=bug print_0.png (219,344 bytes) 2022-04-23 00:58 https://www.noesisengine.com/bugs/file_download.php?file_id=1630&type=bug code.zip (9,978 bytes) 2022-04-23 00:58 https://www.noesisengine.com/bugs/file_download.php?file_id=1631&type=bug crash_without_msgbox_but_many_simple_views.cpp (9,198 bytes) 2022-04-23 14:27 https://www.noesisengine.com/bugs/file_download.php?file_id=1632&type=bug |
||||
Notes | |
(0007888)
jsantos 2022-04-06 16:17 |
Could you please attach a minidump? The call-stack does not reveal enough information. Thank you! |
(0007889)
jack.barkov 2022-04-06 17:00 |
Sure, thanks. |
(0007898)
jack.barkov 2022-04-13 14:00 |
Any news about this crash? Can I do something to help? Thank you. |
(0007899)
jsantos 2022-04-13 17:04 (Last edited: 2022-04-13 17:05) |
The minidump reveals a problem uploading indices to the GPU> Noesis.dll!Noesis::VGLContext::PackImage(const Noesis::BatchGroup & k, const Noesis::DrawInfo & drawInfo, unsigned int stride, unsigned int & base, unsigned char * & vOut, unsigned short * & iOut) Line 2661 C++ Noesis.dll!Noesis::VGLContext::UploadGPUGeometry() Line 3895 C++ Noesis.dll!Noesis::VGLContext::Flush(bool endOfFrame, bool clearEffects, bool flipY) Line 1397 C++ Noesis.dll!Noesis::RenderTreeHelper::RenderOffscreenNodes() Line 994 C++ Noesis.dll!Noesis::RenderTreeHelper::RenderOffscreen(Noesis::RenderNode * node, const Noesis::Matrix4 & projection) Line 72 C++ Noesis.dll!Noesis::RenderTree::RenderOffscreen(const Noesis::Matrix4 & projection) Line 291 C++ Noesis.dll!Noesis::Renderer::RenderOffscreen(const Noesis::Matrix4 & projection) Line 173 C++ Noesis.dll!Noesis::Renderer::RenderOffscreen() Line 151 C++ I have uploaded a debug version of Noesis with PDBs: https://drive.google.com/file/d/1__XucBUs7oJZNUmUd2bUqj0t8q8CKkh0/view?usp=sharing Could you please try it? Also, are you able to reproduce this in one of our examples? If not, could you tell me more about your test application? |
(0007910)
jack.barkov 2022-04-23 00:58 (Last edited: 2022-04-23 00:58) |
Finally got it, an example to reproduce! I could only find it actually because of the dll in debug... I implemented a list of views, and called them separately to render. From what I read in the documentation, this is correct, or I got it wrong. To reproduce the error, just use the attached cpp in IntegrationGLUT. Some strange things I noticed: When I call CreateMessageBox() twice, using Opacity="0.8" in <Border> the crash doesn't happen. ------------------- When I call CreateMessageBox() four times, using Opacity="0.8" in <Border> the crash happens. If I remove Opacity="0.8", the crash does not happen.... ------------------- If I remove Opacity="0.8" and call CreateMessageBox() seven times the crash happens. ------------------- From what I could analyze, the crash happens because when the GLRenderDevice::AllocatePage(DynamicBuffer& buffer) the buffer.numPages is 16, and an access is made in the invalid position of the DynamicBuffer::pages[16] array, it accesses the memory incorrectly and then when the render is going to be executed, the crash happens. And I couldn't find it before why with the dll in release, the NS_ASSERT is not being called... |
(0007911)
jack.barkov 2022-04-23 14:27 |
Another way to crash is to remove the CreateMessageBox() calls and call lots of CreateBackground(). It seems to be a bug with the number of views created. |
(0007913)
jsantos 2022-04-25 18:18 |
Thank you for this! |
(0007974)
jack.barkov 2022-06-17 17:12 |
Any news about this bug? Is it a bug or did I do something wrong? Was the file I uploaded with the examples able to reproduce the crash? Thanks. |
(0007978)
jsantos 2022-06-18 11:39 (Last edited: 2022-06-18 11:39) |
Next week I will be working on this. I will tell you more in a few days. Thanks for your patience |
(0007981)
jsantos 2022-06-20 13:09 (Last edited: 2022-06-20 13:10) |
There is definitely a bug in GLRenderDevice::AllocatePage (as you discovered). I will provide a patch here for testing. But I am a bit confused because your examples are not crashing here. In fact, in your code it says: CreateMessageBox(); // ok CreateMessageBox(); // ok CreateMessageBox(); // ok CreateMessageBox(); // crashs here! But in the call-stack you attached, the crash is not happening inside CreateMessageBox, but inside DisplayFunc |
(0007982)
jsantos 2022-06-20 13:13 (Last edited: 2022-06-20 13:14) |
If you go to GLRenderDevice.cpp at the top, and uncomment this:#undef NS_LOG_TRACE #define NS_LOG_TRACE(...) NS_LOG_(NS_LOG_LEVEL_TRACE, __VA_ARGS__) You will see a message like this every time a new page is created: [NOESIS/T] Page 'Vertices[2]' created (524288 KB) [NOESIS/T] Page 'Indices[2]' created (131072 KB) It seems your example is creating more than 16 pages (and this crashes), but I am not able to reproduce it in your examples. Do I need to do something special? |
(0007993)
jack.barkov 2022-06-21 13:22 |
Could you access that same computer that was working on D3D12? I left the example crashing on both x86 and x64. This issue is not related to this hardware. All computers I've tested, this happens. ID: 514 240 482 Pass: jsantos** Thanks. |
(0007995)
jack.barkov 2022-06-21 13:23 (Last edited: 2022-06-21 13:28) |
Note that I returned all the original code from the noesis sdk you were working on, I only changed the cpp that reproduces the error. Thanks |
(0007998)
jsantos 2022-06-21 17:13 |
Thanks for the help! I just left in your machine the new fixed GLRenderDevice |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2313 | [NoesisGUI] C++ SDK | crash | random | 2022-03-24 13:00 | 2022-06-21 17:12 |
Reporter: | jack.barkov | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.4 | ||
Product Build: | Resolution: | duplicate | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.5 | ||
Target Version: | 3.1.5 | ||||
Platform: | Windows | ||||
Summary: | Random crashs on Noesis.dll | ||||
Description: |
I'm doing some tests with Noesis. Everything is working normally. However, when I leave my game open, sometimes there is a random crash inside Noesis.dll. I can't figure out what it is because I don't have Noesis.pdb, I couldn't find it for download. I'm attaching the version of the dll I'm using along with the crashdump. Is it possible to get the noesis.pdb to better understand what is happening? |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
Noesis.dll (3,454,616 bytes) 2022-03-24 13:00 https://www.noesisengine.com/bugs/file_download.php?file_id=1611&type=bug crash.dmp (130,127 bytes) 2022-03-24 13:00 https://www.noesisengine.com/bugs/file_download.php?file_id=1612&type=bug Screenshot_1.png (245,692 bytes) 2022-03-25 11:27 https://www.noesisengine.com/bugs/file_download.php?file_id=1613&type=bug |
||||
Notes | |
(0007877)
jack.barkov 2022-03-25 11:24 |
Another user reported the same bug: https://www.noesisengine.com/bugs/view.php?id=2314 |
(0007878)
jack.barkov 2022-03-25 11:27 |
|
(0007988)
jsantos 2022-06-21 02:54 |
This is using the OpenGL renderer right? |
(0007990)
daldegam 2022-06-21 12:29 |
Yes, using OpenGL |
(0007996)
jack.barkov 2022-06-21 13:26 |
yes, as daldegam said, it's OpenGL. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2314 | [NoesisGUI] C# SDK | crash | always | 2022-03-24 13:29 | 2022-06-21 17:12 |
Reporter: | darthmaule2 | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.4 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.5 | ||
Target Version: | 3.1.5 | ||||
Platform: | Windows | ||||
Summary: | AccessViolationException after ~200 minutes | ||||
Description: |
The last three times I've left my system and came back to it a couple hours later, it's in a crashed state: Fatal error. System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt. Repeat 2 times: -------------------------------- at Noesis.Renderer.Noesis_Renderer_Render(System.Runtime.InteropServices.HandleRef, Boolean, Boolean) -------------------------------- at NoesisApp.Window.Render(Double) at NoesisApp.Application.<Run>b__56_0(NoesisApp.Display) at NoesisApp.Win32Display.EnterMessageLoop(Boolean) at NoesisApp.Application.Run() at UIShell.App.Main(System.String[] |
||||
Tags: | |||||
Steps To Reproduce: |
1.) Start my application UIShell 2.) Leave it showing the fake live video screen 3.) Come back 2 hours later |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007876)
jack.barkov 2022-03-25 11:23 |
It's the same bug (It's the same error and the same callstack, but in the c++ sdk): https://www.noesisengine.com/bugs/view.php?id=2313 |
(0007946)
sfernandez 2022-05-30 16:08 |
It seems related to geometry data packing for GPU:ntdll.dll!NtWaitForSingleObject() Unknown KERNELBASE.dll!WaitForSingleObjectEx() Unknown ntdll.dll!RtlpExecuteHandlerForException() Unknown ntdll.dll!RtlDispatchException() Unknown ntdll.dll!KiUserExceptionDispatch() Unknown > Noesis.dll!Noesis::VGLContext::PackPath(const Noesis::BatchGroup & k, const Noesis::DrawInfo & drawInfo, unsigned int stride, unsigned int & base, unsigned char * & vOut, unsigned short * & iOut) Line 2576 C++ Noesis.dll!Noesis::VGLContext::UploadGPUGeometry() Line 3895 C++ Noesis.dll!Noesis::VGLContext::Flush(bool endOfFrame, bool clearEffects, bool flipY) Line 1397 C++ Noesis.dll!Noesis::RenderTreeHelper::Render(Noesis::RenderNode * node, float x, float y, float width, float height, bool flipY, bool clear, const Noesis::Matrix4 & projection) Line 112 C++ Noesis.dll!Noesis::RenderTree::Render(float x, float y, float width, float height, bool flipY, bool clear, const Noesis::Matrix4 & projection) Line 308 C++ Noesis.dll!Noesis::Renderer::Render(const Noesis::Matrix4 & projection, bool flipY, bool clear) Line 227 C++ Noesis.dll!Noesis::Renderer::Render(bool flipY, bool clear) Line 191 C++ |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2329 | [NoesisGUI] C++ SDK | minor | always | 2022-04-13 10:59 | 2022-06-21 14:32 |
Reporter: | jsantos | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.4 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.5 | ||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Support for '-enable-16bit-types' in DXC compiler | ||||
Description: |
This flag enables 16bit types and disable min precision types. Available in HLSL 2018 and shader model 6.2. Right now DXC is only used in Xbox. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007997)
jsantos 2022-06-21 14:32 |
This was fixed in r11424 Note though, that we are not using -enable-16bit-types (we don't want to upgrade to shader model 6.2 for now) but we made necessary changes to ensure proper rendering and no warnings if -enable-16bit-types is enabled |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2324 | [NoesisGUI] C++ SDK | crash | always | 2022-04-06 16:45 | 2022-06-21 13:48 |
Reporter: | jack.barkov | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.4 | ||
Product Build: | Resolution: | not fixable | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1.5 | ||||
Platform: | Any | ||||
Summary: | C++ SDK - D3D12 - AMD Graphics Card | ||||
Description: |
Applications that try to use D3D12 result in a crash. This error from what I could find, only happens on AMD cards. My video card is: Radeon (TM) RX 480 Graphics Driver version: 30.0.15019.1005 Driver date: 03/22/2022 DirectX version: 12 (FL 12.0) I tested it on another computer also with the same card and the crash is repeated. I tested it on another computer with an nvidia card and the error does not happen. NVIDIA GeForce GTX 1050 Ti Driver Version: 30.0.15.1215 Driver date: 03/17/2022 DirectX Version: 12 (FL 12.1) |
||||
Tags: | C++ | ||||
Steps To Reproduce: | Just open any sample with D3D12 Render Device and AMD Graphics Card. | ||||
Additional Information: | |||||
Attached Files: |
d3d12_crash.png (265,061 bytes) 2022-04-06 16:45 https://www.noesisengine.com/bugs/file_download.php?file_id=1617&type=bug vs_output_noesis_debug_d3d12.txt (455,999 bytes) 2022-04-06 18:12 https://www.noesisengine.com/bugs/file_download.php?file_id=1619&type=bug new_output.txt (10,094 bytes) 2022-04-06 19:28 https://www.noesisengine.com/bugs/file_download.php?file_id=1620&type=bug crash_pc0.png (368,662 bytes) 2022-04-13 13:38 https://www.noesisengine.com/bugs/file_download.php?file_id=1621&type=bug output.txt (12,355 bytes) 2022-04-13 13:38 https://www.noesisengine.com/bugs/file_download.php?file_id=1622&type=bug dxsample_pc0.png (291,061 bytes) 2022-04-21 15:49 https://www.noesisengine.com/bugs/file_download.php?file_id=1625&type=bug |
||||
Notes | |
(0007890)
jsantos 2022-04-06 17:40 (Last edited: 2022-04-06 17:41) |
D3D12RenderContext enables extra validation when compiled in Debug. Could you try building everything in Debug and see if Console Output reveals something? |
(0007891)
jack.barkov 2022-04-06 18:12 |
Yea! The console output has a lot of information. Check if this attachment can help. |
(0007892)
jsantos 2022-04-06 19:06 |
Could you try removing the "ShaderCache" folder inside "C:\ProgramData\Noesis Technologies" and attach the new output? |
(0007893)
jack.barkov 2022-04-06 19:28 |
Done. I deleted the "ShaderCache" folder inside "C:\ProgramData\Noesis Technologies". After execute the "Samples.HelloWorld.exe" the folder has been created again with 756 files. |
(0007894)
jack.barkov 2022-04-06 20:57 |
I did some tests. Another two computers with nvidia = without crashs (gl, d3d11 and d3d12) -- Another computer with AMD card: Computer 1: GL = OK D3D11 = OK D3D12 = Crash Radeon RX 580 Series Driver Version: 30.0.13023.4001 Driver date: 12/16/2021 DirectX Version: 12 (FL 12.0) ---- Computer 2: GL = OK D3D11 = OK D3D12 = OK AMD Radeon RX 6500 XT Driver Version: 30.0.15019.1005 Driver date: 03/22/2022 DirectX Version: 12 (FL 12.1) |
(0007896)
jsantos 2022-04-13 11:12 (Last edited: 2022-04-13 11:14) |
Could you please enable GPUBasedValidation ? (D3D12RenderContext.cpp line 589) It is disabled by default:#if 1 ID3D12Debug1* debug1 = 0; V(debug->QueryInterface(DX_ARGS(&debug1))); debug1->SetEnableGPUBasedValidation(true); DX_RELEASE(debug1); #endif |
(0007897)
jack.barkov 2022-04-13 13:38 |
Before start, I deleted the "ShaderCache" folder inside "C:\ProgramData\Noesis Technologies" again. Build: Debug |
(0007900)
jsantos 2022-04-13 17:15 (Last edited: 2022-04-13 17:15) |
I assume these basic HelloWorld samples from Microsoft work, but could you please try them? https://github.com/microsoft/directx-graphics-samples/tree/master/Samples/Desktop/D3D12HelloWorld |
(0007904)
jack.barkov 2022-04-21 15:49 |
Yes, the Microsoft samples works without crash |
(0007905)
jsantos 2022-04-22 11:33 |
I will try to send you a few more experiments. But I will also try to buy one of those AMD cards reproducing the issue. Please confirm me this is the list of cards with the problem: - RX 480 - RX 580 If you have more AMD cards with the crash, could you add then to the list? |
(0007908)
jack.barkov 2022-04-22 17:15 |
Yes, only those two AMD cards that I was able to test. On my computer, I have an RX 480 4GB (Asus). If you want me to run some test, just send me. I have another computer with the same card giving the same problem, I can release it for you to test via AnyDesk if you want. The computer with the RX 580 belongs to a friend that I asked to test. |
(0007914)
jsantos 2022-04-25 18:20 |
Begin able to debug locally on your machine using AnyDesk sounds an amazing idea. :) Please, let me know more about how to do this and when you could do it. |
(0007970)
jsantos 2022-06-17 11:52 |
Hi Jack, I am interested in the AnyDesk proposal. Please let me know if that's still available. |
(0007973)
jack.barkov 2022-06-17 17:10 |
I don't have the hardware right now. I can get anydesk for you on Monday. Monday I send you the data to access the computer that this bug happens.... |
(0007977)
jsantos 2022-06-18 11:38 |
Thank you, that sounds perfect |
(0007980)
jack.barkov 2022-06-20 12:57 |
ID: 514 240 482 Pass: jsantos** Thanks. |
(0007983)
jsantos 2022-06-20 13:15 |
Thank you, I am connected right now... |
(0007984)
jsantos 2022-06-20 20:04 |
I have been working on your machine all day. I am still trying to understand what's going on although I discovered a few interesting things. If possible I would like to connect tomorrow again. Thank you! |
(0007985)
jack.barkov 2022-06-20 20:48 |
No problems! I'll leave the computer on for you to connect tomorrow. Thanks. |
(0007987)
jsantos 2022-06-21 02:46 |
Finally found an explanation to this. It is a bug on AMD drivers, but it only manifests when using 32-bits architectures (x86). Everything is working fine with 64-bits. I was able to reproduce this using official Microsoft samples. I have been trying to find a workaround all day... but I don't think it is possible. I think it is time to close this. Thanks a lot for your help! |
(0007992)
jack.barkov 2022-06-21 13:16 |
I understand. This computer has not updated drivers since March 2022. I installed an update with new driver 30.0.21017.1000 dated 5/17/2022 and the error continues to happen, but really only on x86, on x64 it didn't happen. I believe that there is really nothing to be done in this case. Thank you for your attention. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2281 | [NoesisGUI] C++ SDK | feature | always | 2022-02-14 15:56 | 2022-06-21 13:22 |
Reporter: | ext.smichalak | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.3 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.5 | ||
Target Version: | 3.1.5 | ||||
Platform: | XboxOne | ||||
Summary: | Remote control with Xbox controller connected to PC | ||||
Description: |
Hey, as mentioned in this post: https://www.noesisengine.com/forums/viewtopic.php?f=3&t=2546, you're currently not able to control the Noesis app on Xbox if you're using a remote controller connected to PC. As @jsantos mentioned, gamepad events are not being intercepted by this remote mechanism. |
||||
Tags: | controller, xbox | ||||
Steps To Reproduce: |
1. Run any Noesis sample on Xbox devkit 2. Connect xbox controller directly to PC and verify it shows up in xbox manager 3. Notice that you're able to control any native UI that shows up on xbox (dev menu, software keyboard, etc.) but not the app itself. I believe this applies to xbox only, unsure if there's a way on other platforms. |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007994)
jsantos 2022-06-21 13:22 |
This has been fixed in r11423 Problem was that we were reading input for the first game-pad connected. So for example, if you used the Virtual Controller (the one you use clicking on the image), then the remote controller was not detected. And vice verse, using the remote controller first ignored the Virtual Controller. We fixed this, by reading input from all gamepads. This is fine for our app framework and examples. But probably, for a real application this needs a more advance implementation, taking care of connected users and theirs controllers, etc. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2335 | [NoesisGUI] C++ SDK | block | always | 2022-04-22 22:06 | 2022-06-21 12:11 |
Reporter: | jack.barkov | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.4 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.5 | ||
Target Version: | 3.1.5 | ||||
Platform: | Any | ||||
Summary: | Assert failed - VGLContext::GetBatchGroupPaint | ||||
Description: |
First, to reproduce this, you need to use Noesis.dll in debug, which was sent to me in the ticket: https://www.noesisengine.com/bugs/view.php?id=2323 In the file: \Src\Packages\App\Launcher\Src\Launcher.cpp, I installed the CustomErrorHandler: ``` Noesis::SetErrorHandler([](const char* filename, uint32_t line, const char* desc, bool fatal) { char out[512]; snprintf(out, sizeof(out), "[NOESIS/Error] %s:%u (Fatal: %d) - Desc: %s\n", filename, line, fatal ? 1 : 0, desc); #ifdef NS_PLATFORM_WINDOWS #ifdef UNICODE uint16_t out_[512]; UTF8::UTF8To16(out, out_, 512); OutputDebugString((LPCWSTR)out_); #else OutputDebugString(out); #endif #else fprintf(stderr, "%s", out); #endif }); ``` After doing a lot of testing, I was able to isolate a new problem when I was trying to manipulate the render area of an image through the Viewport. I was able to play both with a xaml in XamlPlayer and in the Inventory example (C++) Attached I put the test.zip, just open it in XamlPlayer using everything in debug. To reproduce using Inventory, in MainWindow.xaml, search for: <ImageBrush ImageSource="Images/Character.png" Stretch="Uniform"/> and change to: <ImageBrush ImageSource="Images/Character.png" Stretch="UniformToFill" ViewportUnits="Absolute" Viewport="0,0,0,4" AlignmentX="Left" TileMode="None"/> In both cases, you will get the assert: [NOESIS/Error] ..\..\..\..\NoesisSDK\Native\Src\Packages\Drawing\VGL\Src\VGLContext.cpp:1647 (Fatal: 1) - Desc: Assertion failed: !IsZero(pattern.srcWidth), at VGLContext.cpp(1647) The SetErrorHandler callback is saying it's a fatal error, but I'm not exactly sure if that would cause any problems with everything in release. Would that be a problem or not? My intention with this is to make a sort of progress bar with an image where it wouldn't be stretched. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
test.zip (25,553 bytes) 2022-04-22 22:06 https://www.noesisengine.com/bugs/file_download.php?file_id=1627&type=bug callstack.png (294,118 bytes) 2022-04-22 22:06 https://www.noesisengine.com/bugs/file_download.php?file_id=1628&type=bug xamlplayer_screen_error.png (12,806 bytes) 2022-04-22 22:06 https://www.noesisengine.com/bugs/file_download.php?file_id=1629&type=bug |
||||
Notes | |
(0007989)
jsantos 2022-06-21 12:11 |
Thanks for the feedback! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2251 | [NoesisGUI] C++ SDK | minor | always | 2022-01-28 17:21 | 2022-06-21 02:43 |
Reporter: | ext.mnawrot | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.5 | ||
Target Version: | 3.1.5 | ||||
Platform: | XboxOne | ||||
Summary: | Xbox: NoesisApp Window doesn't utilize 4K resolution | ||||
Description: |
Xbox works with both 1080p and 4K depending what res a TV supports but the GameCoreDisplay and D3D12RenderContext use hardcoded 1080p for Xbox consoles which makes Noesis UI to appear blurry on 4K TVs. We haven't found a solution for that as it was a lower priority than 720p limitation on Nintendo Switch (https://www.noesisengine.com/bugs/view.php?id=2250) but 4K output is a desired feature for testing our UI on Xbox consoles. |
||||
Tags: | |||||
Steps To Reproduce: | Enable 4K output on XBox | ||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007986)
jsantos 2022-06-21 02:43 |
We finally found time to investigate this. This is by design on Xbox. You are supposed to choose a fixed resolution for your game and the system will scale to the native resolution depending on user settings, TV configuration, etc. I have improved a bit our implementation in r11421 by having the resolution hard-coded only in one place (at the top of GameCoreDisplay.cpp) |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2302 | [NoesisGUI] Unity3D | major | always | 2022-03-09 17:07 | 2022-06-18 11:43 |
Reporter: | stonstad | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.3 | ||
Product Build: | Resolution: | unable to reproduce | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1.5 | ||||
Platform: | Any | ||||
Summary: | Manual XAML Reimport Required for Changes | ||||
Description: |
I'm having to manually reimport XAML after a change is made to see the results at runtime. Sometimes a reimport is not needed; other times it is needed. I do not have any code in place to stop the XAML import processor from running. Other details -- I have player recompile after script changes enabled. I'm making changes while playback is stopped. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
image.png (42,780 bytes) 2022-03-09 17:49 https://www.noesisengine.com/bugs/file_download.php?file_id=1602&type=bug |
||||
Notes | |
(0007841)
jsantos 2022-03-09 17:16 |
I assume this is a unmodified version of Noesis. Please confirm me that. If you go to NoesisXamlImporter.cs and comment out the first line (to enable #define DEBUG_IMPORTER), Unity will log each time a asset is re-imported. Everytime you change a XAML, a log line with "=> Import" should appear. Could you please tell if that works? |
(0007842)
stonstad 2022-03-09 17:45 |
Thanks, jsantos. Yes, this is an unmodified version. My prior modification to disable import (while playback is active) has not been merged in. I enabled the preprocessor statements and I'll report back on what I find after attempting a XAML change. |
(0007844)
stonstad 2022-03-09 17:49 |
My XAML changes were picked up. I'll keep this enabled and if it does not work I'll let you know what the console output reports The file I modified previously which failed to have changes applied was the a file with the missing key in resources issue. Do certain kinds of errors put the XAML file in a state which prevents future reloading? |
(0007848)
jsantos 2022-03-09 18:00 (Last edited: 2022-03-10 13:04) |
No, all changes should activate a reimport. Do you think you can reproduce this again starting with the original project and doing those changes? I am trying and trying but everything works fine. |
(0007852)
jsantos 2022-03-10 13:06 |
Our errors are not cleared automatically when they are fixed (in contrast with C# errors). So I assume this is what happened, you fixed the error, it was reimported but you as you kept seeing the error in the console you thought it was not reimported? |
(0007857)
stonstad 2022-03-11 00:16 |
> Our errors are not cleared automatically when they are fixed (in contrast with C# errors). So I assume this is what happened, you fixed the error, it was reimported but you as you kept seeing the error in the console you thought it was not reimported? I tried running a few times as well. OK, I will bring down an older version of the repository and attempt to share it out via a zip file. It may be large. Thank you! |
(0007860)
jsantos 2022-03-11 11:49 |
Thanks for the effort. We will give high priority to this once we have it. |
(0007971)
jsantos 2022-06-17 11:53 |
Should we close this? |
(0007976)
stonstad 2022-06-17 20:02 |
Yes, thank you! |
(0007979)
jsantos 2022-06-18 11:43 |
Thanks for your feedback! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2360 | [NoesisGUI] Unity3D | major | always | 2022-06-13 12:08 | 2022-06-17 17:46 |
Reporter: | ttermeer-rcg | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.4 | ||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.5 | ||
Target Version: | 3.1.5 | ||||
Platform: | Windows | ||||
Summary: | Texture Memory Leak | ||||
Description: |
Using 2D Texture with a converter is never freed. I did not check if this is the only scenario where this happens. It feels it is related to Bindings. It may also comes from loading the texture from files outside the Unity project (this is mandatory for our use case) It is unclear if UnregisterTextureCallback from the Noesis Texture is supposed to handle it or there should be an other way to handled it which is not documented. This is a major issue as we load a huge amount of images and this leads to frequent game crash. |
||||
Tags: | Memory, Unity | ||||
Steps To Reproduce: |
- Run the Attached Project - Use Unity Memory Profiler to get the Memory Tree Map - Click the button "Select Random Training" multiple times - Observe Unity Memory Profiler and see that Texture2D is growing in size |
||||
Additional Information: | |||||
Attached Files: |
BindingMemoryleak.zip (2,851,538 bytes) 2022-06-13 12:08 https://www.noesisengine.com/bugs/file_download.php?file_id=1652&type=bug SessionImage.cs (2,204 bytes) 2022-06-16 12:58 https://www.noesisengine.com/bugs/file_download.php?file_id=1653&type=bug |
||||
Notes | |
(0007966)
sfernandez 2022-06-16 11:01 (Last edited: 2022-06-16 11:02) |
Hi, looking at the code I see you are creating Texture2D objects dynamically but you are not destroying them. Noesis cannot be in charge of the lifecycle of the texture because we don't own that resource (it could come from an asset handled by Unity). I just made a simple scene without Noesis where I create Texture2D objects and immediately release its C# reference (even forcing a GC collect) and as expected the texture memory is not released. If I take a look at the Memory Profiler and select any of those dynamically created textures it indicates the following: This is a dynamically created Asset Type object, that was either Instantiated, implicitly duplicated or explicitly constructed via 'new UnityEngine.Texture2D()'. This object is not referenced anymore. It is therefore leaked! Remember to unload these objects by explicitly calling 'Destroy()' on them, or via the more costly and broad sweeping indirect method of triggering 'Resources.UnloadUnusedAssets() It happens the same when I check in your test the textures created in the converter, so Noesis is correctly releasing all its references. You have to manage the lifecycle of the created textures and call Destroy when they are not used anymore. |
(0007967)
ttermeer-rcg 2022-06-16 11:50 |
It makes sense however, how can we get a notification it is no longer in use ? There is no accessible callback when the image is no longer used in the Binding/Converter. Maybe we should have access to Noesis.Texture.UnregisterTextureCallback notification ? |
(0007968)
sfernandez 2022-06-16 12:57 |
You can handle the lifecycle of the texture by using a custom Image that creates and destroys the asset when the image is loaded/unloaded. For example you can have the following in the xaml:<local:SessionImage Height="648" Width="1296" SessionId="{Binding TrainingId}"/> And that SessionImage will be just a custom Image element like the attached code. I just test it in your project and it works as expected, freeing texure memory everytime you change the image and when the element is removed from the UI tree. |
(0007969)
sfernandez 2022-06-16 12:58 |
|
(0007972)
ttermeer-rcg 2022-06-17 16:27 |
Thanks this does the trick. It completely slipped my mind to extend the image control. |
(0007975)
sfernandez 2022-06-17 17:46 |
Great, closing this as I think there is nothing wrong in Noesis code about it. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1820 | [NoesisGUI] C++ SDK | feature | N/A | 2020-10-26 20:10 | 2022-06-16 21:22 |
Reporter: | jsantos | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1 | ||||
Platform: | Any | ||||
Summary: | Implement Vulkan Renderer | ||||
Description: |
Although studios are already using Vulkan by using a custom RenderDevice, at 3.1 we plan to release an official reference Vulkan renderer. This will be also the renderer used by our Unity Plugin. Note that, Vulkan is already supported in Unreal. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2358 | [NoesisGUI] Unreal | minor | always | 2022-06-08 11:04 | 2022-06-16 13:01 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.4 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.5 | ||
Target Version: | 3.1.5 | ||||
Platform: | Any | ||||
Summary: | Popups contents cannot fill the entire screen | ||||
Description: |
The following xaml will show Popup contents clipped on the bottom:<Decorator x:Name="MenuPanelPosition" Grid.Column="2" Grid.RowSpan="3"/> <Popup IsOpen="{Binding IsChecked, ElementName=show}" StaysOpen="False" AllowsTransparency="True" Placement="RelativePoint" PlacementTarget="{Binding ElementName=MenuPanelPosition}" Grid.ColumnSpan="3"> <Border Background="#80808080" Width="{Binding ActualWidth, ElementName=MenuPanelPosition}" Height="{Binding ActualHeight, ElementName=MenuPanelPosition}"/> </Popup> It fills the entire screen only when using Placement "Center" or "Absolute". |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2361 | [NoesisGUI] C++ SDK | minor | have not tried | 2022-06-15 10:31 | 2022-06-15 10:31 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1.4 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1 | ||||
Platform: | Any | ||||
Summary: | Using parenthesis in a PropertyPath does not work in Noesis | ||||
Description: |
The following syntax is supported in WPF:<DoubleAnimation Storyboard.TargetProperty="(RenderTransform).(X)" Storyboard.TargetName="rect" To="100"/> But doesn't work in Noesis because it is expecting the property owner type when using parenthesis. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2349 | [NoesisGUI] C# SDK | feature | always | 2022-05-14 11:10 | 2022-06-09 16:38 |
Reporter: | darthmaule2 | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.4 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.5 | ||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Would like an API to retrieve the image bytes/pixels from an ImageSource | ||||
Description: |
We often display various images or textures in an ImageSource and then later need to save those ImageSource's. This can sometimes be done by just saving the thing we have bound to that imageSource but it's not always easy to access that. It would simplify some of our workflows if we were able to retrieve the image bytes/pixels from an ImageSource. |
||||
Tags: | C# | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007931)
sfernandez 2022-05-19 20:12 (Last edited: 2022-05-20 11:07) |
In WPF the BitmapSource (base class of BitmapImage) provides a CopyPixels() method: https://docs.microsoft.com/en-us/dotnet/api/system.windows.media.imaging.bitmapsource.copypixels?view=windowsdesktop-6.0 Could that be what you are looking for? |
(0007932)
darthmaule2 2022-05-19 20:41 |
Something like that would work, although we would also like a way to know what format the pixels are in, which is something we can specify in the BitmapSource.Create call: public enum Format { BGRA8, BGR8, RGBA8, RGB8 } |
(0007933)
sfernandez 2022-05-20 11:07 |
The Format is also available in the BitmapSource class in WPF, so we should be able to provide that too: https://docs.microsoft.com/en-us/dotnet/api/system.windows.media.imaging.bitmapsource.format?view=windowsdesktop-6.0 |
(0007934)
darthmaule2 2022-05-20 11:41 |
That would be great, thanks. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2357 | [NoesisGUI] C++ SDK | crash | always | 2022-06-07 14:31 | 2022-06-08 13:43 |
Reporter: | jack.barkov | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.4 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.5 | ||
Target Version: | 3.1.5 | ||||
Platform: | Windows | ||||
Summary: | Intel(R) HD Graphics - GL 3.1.0 - Crash | ||||
Description: |
From forum topic: https://www.noesisengine.com/forums/viewtopic.php?t=2625 There is an error starting noesis with some computers that use OpenGL 3.1. The error in question is: "Link program failed: Interpolation of color does not match in vertex and fragment shaders." File: noesis-gui\Src\Packages\Render\GLRenderDevice\Src\GLRenderDevice.cpp Line: 2264 This happens with some hardware, and they all get the exact same error... These are the computers I tested: GL Renderer: Intel(R) HD Graphics - GL Version: 3.1.0 - Build 8.15.10.2696 GL Renderer: Intel(R) HD Graphics - GL Version: 3.1.0 - Build 9.17.10.3517 GL Renderer: Intel(R) HD Graphics - GL Version: 3.1.0 - Build 9.17.10.4229 GL Renderer: Intel(R) HD Graphics - GL Version: 3.1.0 - Build 9.17.10.4459 GL Renderer: Intel(R) HD Graphics Family - GL Version: 3.1.0 - Build 8.15.10.2538 GL Renderer: Intel(R) HD Graphics Family - GL Version: 3.1.0 - Build 8.15.10.2559 GL Renderer: Intel(R) HD Graphics 2000 - GL Version: 3.1.0 - Build 9.17.10.4229 GL Renderer: Intel(R) HD Graphics 2000 - GL Version: 3.1.0 - Build 9.17.10.4459 GL Renderer: Intel(R) HD Graphics 3000 - GL Version: 3.1.0 - Build 9.17.10.2843 GL Renderer: Intel(R) HD Graphics 3000 - GL Version: 3.1.0 - Build 9.17.10.3517 GL Renderer: Intel(R) HD Graphics 3000 - GL Version: 3.1.0 - Build 9.17.10.4229 GL Renderer: Intel(R) HD Graphics 3000 - GL Version: 3.1.0 - Build 9.17.10.4459 GL Renderer: Intel(R) HD Graphics 4000 - GL Version: 3.1.0 - Build 8.15.10.2712 As you can see, they are all OpenGL 3.1.0, and they are integrated cards from Intel. In the tests were used: Windows 7 and Windows 10. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
glewinfo - IHD 3000 - GL 3.1.0.txt.7z (22,705 bytes) 2022-06-07 14:31 https://www.noesisengine.com/bugs/file_download.php?file_id=1650&type=bug gallery - brushes - crash.png (261,875 bytes) 2022-06-07 15:25 https://www.noesisengine.com/bugs/file_download.php?file_id=1651&type=bug |
||||
Notes | |
(0007956)
jsantos 2022-06-07 14:54 (Last edited: 2022-06-07 14:55) |
One quick question, does removing the 'flat' modifier from both vertex and fragment shaders fix the linker error on your machines? |
(0007957)
jack.barkov 2022-06-07 15:16 |
Yes, removing all "flat" from shaders 140, the crash stops happening. I have a crashing computer available with AnyDesk with Noesis and VS available. If you want to access it, just let me know and I'll send you anydesk credentials. |
(0007958)
jack.barkov 2022-06-07 15:25 |
I got another crash on the same hardware, I remove the "flat" from shaders, and when I open the Gallery, Media and Brushes, a new crash without stacktrace happens. |
(0007959)
jsantos 2022-06-07 16:01 |
Thanks for the offer for AnyDesk. I need to investigate a few things before. If you remove the "flat" keyword only for the fragment shader, does the linking error message disappear? Regarding the second crash, could you please check buildig everything in Debug? |
(0007960)
jack.barkov 2022-06-07 16:24 |
I removed the flat from fragment shader only, and crashs continues. If you want to check, this computer is dedicated for you test now. Anydesk ID: 514 240 482 Password: jsantos* Thanks. |
(0007961)
jsantos 2022-06-08 10:41 |
I am connecting to the computer right now! Thank you! |
(0007962)
jsantos 2022-06-08 11:51 (Last edited: 2022-06-08 11:51) |
Thanks for your help, I fixed the compiler error for the next version. This is the patch:Index: Shader.140.frag =================================================================== --- Shader.140.frag (revision 11338) +++ Shader.140.frag (working copy) @@ -189,8 +189,7 @@ fragColor = mix(texture(image, uv1), texture(shadow, uv1), cbuffer1_ps[0]) * (opacity_ * paint.a); #elif defined(EFFECT_SDF) - vec4 color = texture(glyphs, uv1); - float distance = SDF_SCALE * (color.r - SDF_BIAS); + float distance = SDF_SCALE * (texture(glyphs, uv1).r - SDF_BIAS); vec2 grad = dFdx(st1); float gradLen = length(grad); |
(0007963)
jsantos 2022-06-08 11:56 (Last edited: 2022-06-08 11:56) |
The crash in the gallery is really weird and there is definitely something wrong in the intel drivers. The problem is with the ConicGradientBrushShader, I just simplified to something like this: static const char* GLSL_CONIC = R"( //float T(int n) //{ // return cbuffer1_ps[4 + 8 * n]; //} vec4 GetCustomPattern() { return vec4(1); } )"; And it works, but if I comment out the T() function the driver crashes (although T() is unused). I haven't found an easy workaround for this, so for now, we are not going to fix it, as this is not part of core. |
(0007964)
jack.barkov 2022-06-08 13:26 |
The shader related fix worked. I just tested it and everything seems correct. opengl has some weird things that are hard to explain... About the gallery problem, it seems to be a driver problem. Thanks for the quick correction. |
(0007965)
jsantos 2022-06-08 13:43 |
Thanks a lot for your help! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2261 | [NoesisGUI] C# SDK | major | random | 2022-02-08 00:15 | 2022-06-06 12:39 |
Reporter: | DavidYawCSpeed | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.5 | ||
Target Version: | 3.1.5 | ||||
Platform: | Any | ||||
Summary: | Dispatcher thread check should be done in managed land | ||||
Description: |
I got an error, which had a stack trace like this:at MyClass.UpdateThingA() at MyClass.UpdateStuffInUI() at System.Threading.Tasks.Task.<>c.<ThrowAsync>b__140_1(Object state) at System.Threading.QueueUserWorkItemCallback.<>c.<.cctor>b__6_0(QueueUserWorkItemCallback quwi) at System.Threading.ExecutionContext.RunForThreadPoolUnsafe[TState](ExecutionContext executionContext, Action`1 callback, TState& state) at System.Threading.QueueUserWorkItemCallback.Execute() at System.Threading.ThreadPoolWorkQueue.Dispatch() The problem is, that stack trace should be impossible to get. Constructor: System.Threading.Timer timer = new System.Threading.Timer(_ => UpdateStuffInUI()); private async void UpdateStuffInUI() { // Compute some stuff while on the background thread that the Timer uses. string a = timeConsumingMethod(); string b = timeConsumingMethod(); await ThreadSwitcher.ResumeForegroundAsync(Application.Current.Dispatcher) UpdateThingA(a); UpdateThingB(b); } That stack trace should be impossible. I should see the dispatcher in the stack, like so: at UIShell.App.DemoAsyncMethod() at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.MoveNext(Thread threadPoolThread) at Noesis.Dispatcher.DispatcherOperation.Invoke(Delegate callback, Object args, SynchronizationContext context) at Noesis.Dispatcher.ProcessQueue() at Noesis.View.Update(Double timeInSeconds) at NoesisApp.Window.Render(Double time) at NoesisApp.Application.<Run>b__55_0(Display d) at NoesisApp.Win32Display.EnterMessageLoop(Boolean runInBackground) at NoesisApp.Application.Run() at UIShell.App.Main(String[] args) Looking at DispatcherThreadSwitcher (https://github.com/Noesis/Managed/blob/master/Src/NoesisApp/Core/Src/ThreadSwitcher/DispatcherThreadSwitcher.cs), it looks at the Dispatcher's CheckAccess method to determine if it needs to switch threads. The Dispatcher.CheckAccess method (https://github.com/Noesis/Managed/blob/master/Src/Noesis/Core/Src/Core/Dispatcher.cs) looks at the current thread's Thread ID vs. the Dispatcher's Thread ID. Both thread IDs are retrieved from unmanaged method Noesis_GetCurrentThreadId(), which I obviously don't have access to, but looks like it returns the unmanaged thread ID (Win32 method GetThreadId on Windows, some Posix function on Linux). In a quick test on my Windows system, the debugger showed that Dispatcher.ThreadID was 32756, which matched the unmanaged thread ID shown in the debugger. The Managed Thread ID was 1. In my reading, it looks like the relationship between managed and unmanaged threads is not 1:1. It looks like a managed thread might be run on different unmanaged threads. That would explain why the thread ID that the dispatcher knows and the ThreadPoolWorkQueue thread that my method ran on ended up having the same thread ID. I cannot think of any reason why the call to ResumeForegroundAsync wouldn't switch threads, other than this changing relationship between unmanaged and managed. I suggest that CheckAccess, VerifyAccess, and CurrentDispatcher all switch to using managed thread ID, not unmanaged. In the Dispatcher class, this should be a matter of just replacing calls to the Dispatcher's helper property CurrentThreadID with a call to Thread.CurrentThread.ManagedThreadId. I didn't trace through any other objects that have a Thread ID that would need to change. |
||||
Tags: | |||||
Steps To Reproduce: | Reproduction of this issue appears to be random. It requires that the ThreadPool thread be on the unmanaged thread that used to host the Dispatcher thread, which is unlikely. | ||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007810)
sfernandez 2022-02-16 21:02 |
We need to check the unmanged thread id because DispatcherObjects (UI elements) only know about the unmanaged thread when created, so we can only associate a Dispatcher with an unmanaged thread id. But we can add an extra check for the managed thread id in C# Dispatcher's CheckAccess to enqueue jobs when calling from different managed threads. This will fix the problems you are having. |
(0007817)
DavidYawCSpeed 2022-02-17 03:42 |
OK, that sounds reasonable. I can see that the Dispatcher could know the managed ID, since it gets passed to Dispatcher's constructor from Dispatcher.FromThreadId(). If that value was passed to the rest of the objects, that would be enough, but they're probably retrieving the unmanaged Thread ID directly in C++. One possible additional change that might be useful: Call Thread.BeginThreadAffinity() at some point during application startup, and Thread.EndThreadAffinity() at some point during application shutdown. (At the beginning & end of Application.Run(), maybe?) This will keep the dispatcher managed thread running on the same unmanaged thread. The documentation isn't clear on exactly when the managed thread & unmanaged thread can switch, but BeginThreadAffinity looks like it will lock that down. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2338 | [NoesisGUI] C# SDK | minor | always | 2022-04-28 15:18 | 2022-05-30 18:19 |
Reporter: | AndreN | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.4 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.5 | ||
Target Version: | 3.1.5 | ||||
Platform: | Windows | ||||
Summary: | LocalFontProvider is not closing Stream and thus running into errors | ||||
Description: |
Hello When working with the LocalFontProvider from the NoesisApp namespace, I noticed an issue. * When I specify a font in my XAML file like for example this this FontFamily="Fonts/#Aero Matics", it starts scanning the whole Fonts folder and registers all fonts files found there. Those fonts got read by the method OpenFont from the LocalFontProvider, which generates a stream with new FileStream(...): public override Stream OpenFont(Uri folder, string id) => (Stream) new FileStream(System.IO.Path.Combine(this._basePath, folder.GetPath(), id), FileMode.Open); * I think this is done, in order to understand, which fonts are available in the directory. The fonts itself get not really loaded at this time. But afterwards it loads again this one file, where the intended font is inside. Here, I think the font is now really getting loaded. However now an exception occurs: Unhandled exception. System.IO.IOException: The process cannot access the file '<path-to-gui-files>\Fonts\Aero Matics Regular.ttf' because it is being used by another process. at Main.Program.<>c.<Main>b__0_0(Exception exception) in <project-dir>\Main\Main\Program.cs:line 49 at Noesis.Error.UnhandledException(Exception exception) at Noesis.Extend.ProviderOpenFont(IntPtr cPtr, IntPtr folder, IntPtr filename) at Noesis.View.Noesis_View_SetSize(HandleRef view, Int32 width, Int32 height) at Noesis.View.SetSize(Int32 width, Int32 height) ... * I think the reason for this is, that the stream of the font file has not been closed yet. If I use instead inside the OpenFont(...) method the method OpenRead(...) for opening the stream it works and no exception occurs (and the font is being displayed): public override Stream OpenFont(Uri folder, string id) => (Stream) File.OpenRead(System.IO.Path.Combine(this.rootPath, folder.GetPath(), id)); * The difference between OpenFont(...) and new FileStream(...) is, that OpenFont(...) creates the stream like this: new FileStream(<path>, FileMode.Open, FileAccess.Read, FileShare.Read); * So, the essential part here is FileStream.Read and actually, if you also add FileAccess.Read, FileShare.Read the the implementation in LocalFontProvider it also works without exception. Nevertheless, there is still the question: Is it intended, that the file-stream is not being closed after the first read (scan of the directory)? If so, why is the stream not reused internally instead of reading the same file again? So I'm not completely sure, if "just settings the file share to read mode" is really a fix or a workaround? What do you think about this? P.S.: I don't know how to do (inline) code formating in this ticket description. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007947)
sfernandez 2022-05-30 18:19 |
Thanks for the information, we opted to use OpenRead in the providers. And also fixed the implementation of RegisterFont to close the stream after it is read. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2345 | [NoesisGUI] C# SDK | minor | always | 2022-05-11 12:16 | 2022-05-30 12:41 |
Reporter: | sumel007 | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.4 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.5 | ||
Target Version: | 3.1.5 | ||||
Platform: | Windows | ||||
Summary: | EventTrigger.Actions throws an exception when created from code behind. | ||||
Description: |
I am creating an EventTrigger in codebehind in OnInitialized method. I get an InvalidCastExceptionwhenever I try to add something to the Actions collection. Same thing happens in Visual Studio debugger when I try to watch the Actions collection (same for Enter/ExitActions) The exception: System.InvalidCastException: 'Unable to cast object of type 'Noesis.BaseUICollection' to type 'Noesis.TriggerActionCollection'.' Code sample where the exception happens: private void SetupIntroStoryboard() { var newBoard = CreateNewStoryboard(); if (newBoard == null) { return; } Triggers.Clear(); var newTrigger = new EventTrigger(); newTrigger.RoutedEvent = FrameworkElement.LoadedEvent; newTrigger.Actions.Add(new BeginStoryboard() { Storyboard = newBoard }); Triggers.Add(newTrigger); } |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2354 | [NoesisGUI] C++ SDK | feature | N/A | 2022-05-25 20:32 | 2022-05-25 20:33 |
Reporter: | jsantos | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Implement color modes for color-blind accessibility | ||||
Description: |
Color blindness is described in this article from Wikipedia: https://en.wikipedia.org/wiki/Color_blindness Details about the formulas and math: http://mkweb.bcgsc.ca/colorblind/math.mhtml#page-container |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
zenek1290s-Color-Blindness-Shader.zip (5,175 bytes) 2022-05-25 20:33 https://www.noesisengine.com/bugs/file_download.php?file_id=1648&type=bug |
||||
Notes | |
(0007938)
jsantos 2022-05-25 20:33 (Last edited: 2022-05-25 20:33) |
GL-Shaders attached |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2099 | [NoesisGUI] Unity3D | major | always | 2021-08-31 21:34 | 2022-05-20 20:33 |
Reporter: | stonstad | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.1 | ||
Target Version: | 3.1.1 | ||||
Platform: | Any | ||||
Summary: | 3.1.x Upgrade Can't Find XAML | ||||
Description: |
Despite my best efforts I can't seem to get 3.1.x Noesis to find certain XAML files that worked previously in 3.0.x and that appear to have the correct file path. My installation workflow entailed deleting all previous NoesisGUI files, and then unzipping Noesis into Assets/Plugins/NoesisGUI. My user interfaces exist in /Assets/User Interface. I am also seeing Unity errors warning me that unique hashes are not generating correctly for Noesis created .asset files. Importer(NativeFormatImporter) generated inconsistent result for asset(guid:b1a363256f820204e8499a5afcd2650b) "Assets/User Interface/Controls/Border Control/BorderControl.asset" I confirmed correct file paths and dependency references in XAML. For some reason I had to keep reimporting fonts to get them to be finally found. In some instances the issue appears to be static references in OnInitialized. I disabled preview -- but it looks like this Noesis 3.1 *may*? be calling OnInitialized in my non-variant code which has external dependencies. |
||||
Tags: | |||||
Steps To Reproduce: | No reproduction project yet. I can't run yet. | ||||
Additional Information: | |||||
Attached Files: |
Errors.PNG (93,911 bytes) 2021-08-31 21:34 https://www.noesisengine.com/bugs/file_download.php?file_id=1477&type=bug License Error.PNG (131,834 bytes) 2021-08-31 23:10 https://www.noesisengine.com/bugs/file_download.php?file_id=1478&type=bug |
||||
Notes | |
(0007396)
stonstad 2021-08-31 22:03 |
OK, the cause was a user control that had variant code in InitializeComponent. InitializeComponent was failing within Noesis code which in turn caused the XAML to not be found error to appear. The error message shown was incorrect. The new behavior would be fine if the error message was not misleading. |
(0007397)
jsantos 2021-08-31 22:15 (Last edited: 2021-08-31 22:17) |
There are many things wrong in 3.1 if you are upgrading from 3.0, we are solving all of them with the idea of having a 3.1.1 *soon*. But just a few comments regarding your installation: 1. You shouldn't unzip the package inside /Assets. It must be extracted somewhere else, and then imported from the package manager. The steps are described in the Installation section, but I will review them to make this clearer. 2. We are no longer generating .assets file, you must remove all of them (for xaml and for fonts). After that, our script should do a *reimport all* to make sure the importer for each XAML is 'XamlImporter' and for each font is NoesisFontImporter. This step is missing in 3.1.0 and must done manually, xaml by xaml and font by font. Yeah, far from ideal. Rigth now, if you do a Unity reimport all, fonts are properly fixed, but XAML won't be changed. @sfernandez I know you have been doing tests importing projects from 3.0, am I missing something here? |
(0007398)
stonstad 2021-08-31 22:43 |
Understood. I am reading the tutorial and release notes. |
(0007399)
stonstad 2021-08-31 23:10 (Last edited: 2021-08-31 23:17) |
I deleted the unzipped folder in Unity. I deleted all .asset files. I installed via the documented package installation process. I'm seeing lots of quirks with UI and purple backgrounds in sprites. I seem to recall this was an issue I encountered before with an undefined style. It is possible that I had customizations in theme files. But the major issue I am seeing is a licensing error. I think I need to take a break from this release to stay productive. * updated to note that I was successful in installing from a package. |
(0007400)
sfernandez 2021-09-01 10:38 |
I've just sent you an email with your updated license information, required for NoesisGUI 3.1. |
(0007422)
stonstad 2021-09-08 18:09 |
Thanks, Sergio. Much appreciated. |
(0007423)
stonstad 2021-09-08 18:43 |
This was all largely user error. Please feel free to close -- thank you for the help. |
(0007424)
sfernandez 2021-09-08 20:26 |
We'll keep it open because we should detect if user unzips the plugin inside Assets and avoid throwing a NullReferenceException in that case. We want to fix that for the next release. |
(0007432)
stonstad 2021-09-10 17:45 |
"1. You shouldn't unzip the package inside /Assets. It must be extracted somewhere else, and then imported from the package manager. The steps are described in the Installation section, but I will review them to make this clearer." Unity references the package files indefinitely from the external directory location. So although I do not store the package files in Unity I have to place them in SCM with the project. Do you put the files in a folder that is a peer to \assets? |
(0007433)
jsantos 2021-09-10 20:48 |
Yeah, we are doing something similar to that. |
(0007434)
jsantos 2021-09-10 20:48 |
I think we solved everything here. I am closing this. Thanks again for your feedback! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2341 | [NoesisGUI] Documentation | minor | always | 2022-05-03 21:01 | 2022-05-09 17:02 |
Reporter: | sumel007 | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1.4 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1 | ||||
Platform: | Any | ||||
Summary: | Lottie-Noesis crashes when 3D rotation is used | ||||
Description: |
Below is a traceback from json2xaml script. Attached is a test json file (generated via bodymovin plugin, on a simple circle rotating in 3D). = Comp 1 - 220 x 220 @60 - 1.68 secs - BodyMovin v5.9.2 Ignored field 'transform.rx' Ignored field 'transform.ry' Ignored field 'transform.rz' Ignored field 'transform.or' Traceback (most recent call last): File "F:\WORK\LottieTest\more\json2xaml.py", line 1699, in <module> main() File "F:\WORK\LottieTest\more\json2xaml.py", line 1696, in main json_parser.parse(args.json_file, args.xaml_file) File "F:\WORK\LottieTest\more\json2xaml.py", line 153, in parse self.read_composition(obj) File "F:\WORK\LottieTest\more\json2xaml.py", line 1682, in read_composition self.write_layer(copy.deepcopy(layer), layers) File "F:\WORK\LottieTest\more\json2xaml.py", line 1578, in write_layer if self.has_transform_elements(transform): File "F:\WORK\LottieTest\more\json2xaml.py", line 624, in has_transform_elements return self.is_transform_animated(obj) or \ File "F:\WORK\LottieTest\more\json2xaml.py", line 621, in is_transform_animated self.is_animated(obj.rotation[0]) TypeError: 'NoneType' object is not subscriptable |
||||
Tags: | |||||
Steps To Reproduce: | Run json2xaml.py on the attached file. | ||||
Additional Information: | |||||
Attached Files: |
rotationTest.json (1,174 bytes) 2022-05-03 21:01 https://www.noesisengine.com/bugs/file_download.php?file_id=1635&type=bug |
||||
Notes | |
(0007925)
jsantos 2022-05-09 17:01 |
We still don't support reading 3D transformations from Lottie. Thanks for the feedback. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2342 | [NoesisGUI] Unity3D | block | always | 2022-05-06 11:12 | 2022-05-09 14:34 |
Reporter: | bwieckowski-reboundcg | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | immediate | OS Version: | |||
Status: | resolved | Product Version: | 3.1.4 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.5 | ||
Target Version: | 3.1.5 | ||||
Platform: | macOS | ||||
Summary: | SVG causes the Editor or build hangs indefinitely on Mac (Apple Silicon / Metal) | ||||
Description: |
We try to display SVG complex images (like the Spain flag in provided sample project) it works fines on PC but it makes Mac version (with Metal) hangs indefinitely. The project uses HDRP. |
||||
Tags: | Apple Silicon, Metal, SVG, Unity | ||||
Steps To Reproduce: |
1) Unzip provided project TestFlagMac.zip 2) Install Noesis component for Unity in folder TestAntialiasing/TestAntialiasing_Unity/NoesisGUI-Unity (don't pay attention to folder names I used a previous project archive and replaced only the XAML files) 3) In Unity Hub open the provided project TestAntialiasing_Unity (in folder TestAntialiasing/TestAntialiasing_Unity Try to run in the scene "test" in Unity Editor on Mac (Apple Silicon with Metal support) |
||||
Additional Information: | |||||
Attached Files: |
TestFlagMac.zip (101,829 bytes) 2022-05-06 11:12 https://www.noesisengine.com/bugs/file_download.php?file_id=1636&type=bug |
||||
Notes | |
(0007917)
jsantos 2022-05-06 11:25 |
Is this failing exclusively on Mac M1 or that's the only machine you tried? |
(0007918)
bwieckowski-reboundcg 2022-05-06 11:29 |
We tried only on Mac M1, it only happens with Metal and not OpenGL, but Metal is required by HDRP and Apple M1 |
(0007921)
jsantos 2022-05-09 14:32 |
Please, download a hot-fix for 3.1.4 at https://drive.google.com/file/d/1z34x2hEJdWDTrKorgKi6s6LLMuYgf78g/view?usp=sharing |
(0007922)
jsantos 2022-05-09 14:34 |
By the way, until we implement DrawingImage (0002310) using this XAMLs with so many geometries is getting a lot of GPU pressure (the XAML in XamlPlayer is sending 120K triangles per frame). |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1522 | [NoesisGUI] Unity3D | minor | always | 2019-07-24 11:06 | 2022-05-08 21:27 |
Reporter: | JinFox | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.0 | ||
Target Version: | 3.2.0 | ||||
Platform: | Any | ||||
Summary: | Ellipse use too few Segments compared to Curved closed Path | ||||
Description: |
Hello, This issue has first been described here : https://www.noesisengine.com/forums/viewtopic.php?f=3&t=1761&p=10046#p10046 I have an issue on the current project I work on. I was using ellipses to display circular shapes but they looked not very "clean" on the edge. The stroke being made of not enough segments (see image below ) url to image : https://ibb.co/Hg3QJmF We can see that the ellipse is not very clean and when activating wireframe mode, we can see that the number of segments created by the ellipse is not enough to appear as smooth as the Path does. In terms of xaml, the path is just the same ellipse converted to a path via Blend : The ellipse : <Ellipse Width="256" Height="256" Fill="CadetBlue" Stroke="Black" StrokeThickness="5"></Ellipse> The path : <Path Data="M253.5,128 C253.5,197.31174 197.31174,253.5 128,253.5 C58.688264,253.5 2.5,197.31174 2.5,128 C2.5,58.688264 58.688264,2.5 128,2.5 C197.31174,2.5 253.5,58.688264 253.5,128 z" Fill="CadetBlue" Height="256" Stretch="Fill" Stroke="Black" StrokeThickness="5" Width="256" /> jsantos apparently confirmed this might be a bug and advised me to post this here. Best Regard, Thank you |
||||
Tags: | Rendering, Unity | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
EllipseIssueExample.xaml (2,197 bytes) 2019-07-25 11:33 https://www.noesisengine.com/bugs/file_download.php?file_id=1092&type=bug |
||||
Notes | |
(0005901)
JinFox 2019-07-25 11:33 |
Sample xaml file with issue showing (Left is ellipse with issue and right is the path without the issue). At Medium tesselation the issue is showing on ellipse and not on Path whereas on High Tesselation, the issue is decreased on the Ellipse |
(0007920)
jsantos 2022-05-08 21:27 |
This has been fixed. Now beziers and arcs produce the same number of segments. In case, you see artifacts in Medium quality, we recommend changing to High Quality. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1404 | [NoesisGUI] Unity3D | major | always | 2019-02-05 05:41 | 2022-05-08 21:25 |
Reporter: | nokola | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.1.0f1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.0 | ||
Target Version: | 3.2.0 | ||||
Platform: | Any | ||||
Summary: | Cannot draw Path to meet two Arc-s: rendering artifacts (WPF OK) | ||||
Description: |
I wanted to make a color picker, that's basically an ellipse with the top half filled in one color and the bottom filled with another. To do that, I make the ellipse out of two Paths with Arc for top and bottom (one is clockwise, the other counter-clockwise). Works great in WPF/Visual Studio, however the same code in Noesis causes drawing artifacts - gaps - between the two arcs. |
||||
Tags: | |||||
Steps To Reproduce: |
1. Load this in WPF and Noesis: <Path x:Name="pathTop" Data="M-80,0 A80,80 0 0 1 80,0" IsHitTestVisible="False" Tag="HT" StrokeThickness="20"> <Path.Stroke> <RadialGradientBrush x:Name="pathTopBrush" GradientOrigin="0.5,1" Center="0.5,1" RadiusX="0.5" RadiusY="1"> <GradientStop Color="Red"/> </RadialGradientBrush> </Path.Stroke> </Path> <Path x:Name="pathBottom" Data="M-80,0 A80,80 0 0 0 80,0" IsHitTestVisible="False" Tag="HT" StrokeThickness="20"> <Path.Stroke> <RadialGradientBrush x:Name="pathBottomBrush" GradientOrigin="0.5,0" Center="0.5,0" RadiusX="0.5" RadiusY="1"> <GradientStop Color="Green"/> </RadialGradientBrush> </Path.Stroke> </Path> Expected: All OK Actual: gap between red and green arcs Added screenshot |
||||
Additional Information: | |||||
Attached Files: |
ArcPaintIssue.png (31,486 bytes) 2019-02-05 05:43 https://www.noesisengine.com/bugs/file_download.php?file_id=965&type=bug |
||||
Notes | |
(0005431)
nokola 2019-02-05 05:43 |
Added attachment |
(0005432)
sfernandez 2019-02-05 11:21 (Last edited: 2019-02-05 11:23) |
While we fix that problem with the generated stroke, maybe you can use a filled path like this:<Canvas HorizontalAlignment="Center" VerticalAlignment="Center"> <Path Data="M90.000001,0 C139.70563,0 180,40.294373 180,90 L160,90 C160,51.340069 128.65993,20 90.000001,19.999998 51.34007,20 20.000001,51.340069 19.999997,90 L0,90 C7.4505806E-07,40.294373 40.294373,0 90.000001,0 z" Fill="Red" Height="90" Canvas.Left="-90" Stretch="Fill" Canvas.Top="-90" Width="180"/> <Path Data="M0,0 L19.999997,0 C20.000001,38.659927 51.34007,70 90.000001,70 128.65993,70 160,38.659927 160,0 L180,0 C180,49.705627 139.70563,90 90.000001,90 40.294373,90 7.4505806E-07,49.705627 0,0 z" Fill="Green" Height="90" Canvas.Left="-90" Stretch="Fill" Width="180"/> </Canvas> |
(0005433)
nokola 2019-02-05 17:32 |
Thanks! The issue is, I also want anti-aliasing. I ended up "simulating" AA by using linear gradient in code. Took me few days (would be nice if it "just works" like in WPF" Here's what I ended up with that looks proper: <Ellipse x:Name="ellipsePickerColor" IsHitTestVisible="False" Tag="HT"> <Ellipse.Stroke> <LinearGradientBrush x:Name="ellipsePickerColorBrush" EndPoint="0.5,1" StartPoint="0.5,0" /> </Ellipse.Stroke> </Ellipse> <Ellipse x:Name="ellipsePicker" IsHitTestVisible="False" Tag="HT"> <Ellipse.Stroke> <RadialGradientBrush x:Name="pickerColor"/> </Ellipse.Stroke> </Ellipse> Code: float totalWidth = 160f; float colorWidth = 18f; float borderWidth = 2f; SetupColorPicker(ellipsePicker, pickerColor, ellipsePickerColor, ellipsePickerColorBrush, totalWidth, colorWidth, borderWidth, Globals.AntiAliasSize); /// <summary> /// Creates a color picker with anti-aliased borders from an ellipse and radialgradientbrush attached to it. /// </summary> /// <param name="picker">ellipse to init color picker at</param> /// <param name="brush">radial brush attached to ellipse</param> /// <param name="pickerColorUnderneath"></param> /// <param name="pickerColorUnderBrush"></param> /// <param name="totalWidthEpx">total width of color picker</param> /// <param name="colorWidthEpx">width of color part</param> /// <param name="borderWidthEpx">width of two borders around color</param> /// <param name="aaSize">anti-alias area width</param> private static void SetupColorPicker(Ellipse picker, RadialGradientBrush brush, Ellipse pickerColorUnderneath, LinearGradientBrush pickerColorUnderBrush, float totalWidthEpx, float colorWidthEpx, float borderWidthEpx, float aaSize) { borderWidthEpx -= aaSize; // remove half the AA (not aaSize * 2) because aa is assumed to add width only through half of itself if (borderWidthEpx < 0) { borderWidthEpx = 0; } float radius = totalWidthEpx / 2; brush.GradientStops = new GradientStopCollection(); GradientStopCollection stops = brush.GradientStops; float colorStartEpx = aaSize + borderWidthEpx + aaSize + colorWidthEpx; picker.Width = totalWidthEpx; picker.Height = totalWidthEpx; picker.RenderTransform = new TranslateTransform(-radius, -radius); picker.StrokeThickness = (colorWidthEpx + borderWidthEpx * 2 + aaSize * 4) + 1; stops.Add(new GradientStop { Offset = 1f - (colorStartEpx + aaSize + borderWidthEpx + aaSize + aaSize) / radius }); // AA stops.Add(new GradientStop { Offset = 1f - (colorStartEpx + aaSize + borderWidthEpx + aaSize) / radius, Color = Colors.White }); // border stops.Add(new GradientStop { Offset = 1f - (colorStartEpx + aaSize + aaSize) / radius, Color = Colors.White }); // AA stops.Add(new GradientStop { Offset = 1f - (colorStartEpx + aaSize) / radius, Color = Color.FromRgb(40, 40, 40) }); // dark border stops.Add(new GradientStop { Offset = 1f - colorStartEpx / radius }); // picked color stops.Add(new GradientStop { Offset = 1f - (aaSize + borderWidthEpx + aaSize + aaSize) / radius }); // picked color + AA stops.Add(new GradientStop { Offset = 1f - (aaSize + borderWidthEpx + aaSize) / radius, Color = Color.FromRgb(40, 40, 40) }); // dark border stops.Add(new GradientStop { Offset = 1f - (aaSize + borderWidthEpx) / radius, Color = Colors.White }); // border stops.Add(new GradientStop { Offset = 1f - aaSize / radius, Color = Colors.White }); // AA stops.Add(new GradientStop { Offset = 1f }); // setup lower ellipse - a linear gradient used to effectively draw 2 arcs // needed due to Noesis issue: // "Cannot draw Path to meet two Arc-s: rendering artifacts (WPF OK)" https://www.noesisengine.com/bugs/view.php?id=1404 // At the end lower ellipse will look like: // <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0"> // <GradientStop Color="Red" Offset="0"/> // <GradientStop Color="Red" Offset="0.5"/> // <GradientStop Color="Green" Offset="0.5"/> // <GradientStop Color="Green" Offset="1"/> // </LinearGradientBrush> pickerColorUnderneath.StrokeThickness = colorWidthEpx + aaSize * 2; float thicknessDelta = picker.StrokeThickness - pickerColorUnderneath.StrokeThickness; float colorEllipseSize = totalWidthEpx - thicknessDelta; // this will center stroke pickerColorUnderneath.Width = colorEllipseSize; pickerColorUnderneath.Height = colorEllipseSize; pickerColorUnderneath.RenderTransform = new TranslateTransform(-radius, -radius); pickerColorUnderBrush.GradientStops = new GradientStopCollection(); GradientStopCollection underStops = pickerColorUnderBrush.GradientStops; underStops.Add(new GradientStop() { Offset = 0 }); underStops.Add(new GradientStop() { Offset = 0.5f }); underStops.Add(new GradientStop() { Offset = 0.5f }); underStops.Add(new GradientStop() { Offset = 1 }); } A lot of code to work around AA and the above issue. Pasting it here for information to hopefully influence further Noesis improvements and help others who may be facing similar issue. Again thank you for the fast response! |
(0007919)
jsantos 2022-05-08 21:25 |
Arc gaps has been fixed. Regarding better AA, our algorithm is optimized for speed vs quality. You have two options to improve this: 1. Use GPU support enabling MSAA 2. User our cheap PPAA algorith and tweak it for specific cases More information available at https://www.noesisengine.com/docs/Gui.Core.AntialiasingTutorial.html Thanks for your feedback! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1484 | [NoesisGUI] C++ SDK | feature | always | 2019-06-06 18:14 | 2022-05-04 12:44 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.3 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.5 | ||
Target Version: | 3.1.5 | ||||
Platform: | Any | ||||
Summary: | Implement Storyboard.Seek methods | ||||
Description: | https://docs.microsoft.com/en-us/dotnet/api/system.windows.media.animation.storyboard.seek?view=netframework-4.8 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0006362)
steveh 2020-05-15 11:41 |
Hi guys, is there any update on this? How feasible is it that this could make it into 3.0.0? We have a few situations where animation seeking could benefit us. Cheers. |
(0006363)
jsantos 2020-05-15 12:05 |
Hi Steve, 3.0.0 is already closed, release is happening in the upcoming days. But we can start working on this for 3.0.1 |
(0006389)
ai_enabled 2020-05-25 19:17 |
I wish to see it in 3.0.1! :-) |
(0006390)
jsantos 2020-05-26 12:05 (Last edited: 2020-05-26 12:05) |
This task is not trivial and we are going to release a 3.0.1 with minor things this week but this is definitely in high priority and will appear in 3.0.X very soon |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2317 | [NoesisGUI] C++ SDK | crash | sometimes | 2022-03-31 20:22 | 2022-05-03 19:15 |
Reporter: | steveh | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.4 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.5 | ||
Target Version: | 3.1.5 | ||||
Platform: | Any | ||||
Summary: | Crash when applying animation values in TimeManager::Tick | ||||
Description: |
Hi guys, I've spent quite a bit of time tracking down a crash. I've tracked it down to attempting to apply an animation value on a destroyed dependency object. I've created a reproducible sample that I've attached as a ZIP to this bug report. So what has happened? 1. In TimeManager::Tick it collates together all the animation values that it needs to apply to all dependency objects this frame. This is stored in a local HashMap on the stack which contains non-ref counted pointers 2. It then iterates through each AnimationValue and call DependencyObject::SetAnimation passing in the new value. 3. This invoked dependency property changed events. 4. If user code binds to this (e.g. the IsVisibleChanged event) we can run code which ultimately removes all references to dependency object and removes it 5. This can end up freeing the dependency objects that are currently stored as raw addresses in the stack that was created in step 1. 6. When it attempts to apply the animation value on the now deleted object it crashes. So just to clarify, it's this bit of code in TimeManager::Tick which is broken: ----------------- // Update properties AnimationValues animationValues; for (Targets::Bucket& b: mTargets) { DependencyObject* target = b.key; const AnimatedProperties& properties = b.value.animatedProperties; EvaluateTarget(target, properties, animationValues, finishedClocks); } // Now that we are out of the targets loop, we can safely apply the new animation values ApplyAnimationValues(animationValues); ---------------- So if dependency objects that currently reside in the animationValues map are removed during ApplyAnimationValues it can crash. In my case this was caused by changing the Content from a DependencyPropertyChangedEvent which cleared out the ContentTemplate which destroyed the DependencyObjects created by that DataTemplate. Since this happened instantly, it ended up invalidating the AnimationValue map which had already taken a raw pointer to the DependencyObjects. I've fixed this locally by adding all targets in the AnimationValue map to the "aliveTargets" vector: for (Targets::Bucket& b: mTargets) { DependencyObject* target = b.key; const AnimatedProperties& properties = b.value.animatedProperties; EvaluateTarget(target, properties, animationValues, finishedClocks); // Keep this target alive as it could be invalidated in ApplyAnimationValues aliveTargets.EmplaceBack().Reset(target); // [Sumo SPH 2022-03-31] - Keep these animation targets alive! } I'm not sure if this is the best fix, but I've not been able to crash it after this change. Cheers! |
||||
Tags: | |||||
Steps To Reproduce: |
1. Download my sample. 2. Extract to Noesis SDK 3. Build it 4. Click the button. When the button is collapsed it will trigger a DependencyPropertyChangedEvent which will lead to a crash when the content is changed. Note: This does not seem to be 100% for some reason. If it doesn't break, just restart the sample. It'll break eventually. |
||||
Additional Information: | |||||
Attached Files: |
AnimationCrashBug.zip (11,749 bytes) 2022-03-31 20:22 https://www.noesisengine.com/bugs/file_download.php?file_id=1616&type=bug image.png (229,895 bytes) 2022-04-22 14:37 https://www.noesisengine.com/bugs/file_download.php?file_id=1626&type=bug |
||||
Notes | |
(0007884)
jsantos 2022-04-04 07:54 |
Thanks for the report Steve, giving high-priority to this |
(0007906)
steveh 2022-04-22 14:37 |
Hi guys, so in addition to the above change, one of our tech directors is investigating other stomps with other tools and has identified the following stomp (I've attached an image). The change is the P4 diff. Unfortunately I didn't investigate this stomp so I don't have any more info on it. It looks like erasing the clock pointer inside RemoveMasterClock, and then we try to write mTarget to 0 on a now-erased clock. The fix is to zero out the target on the clock before it's erased from the mMasterClocks vector. |
(0007907)
sfernandez 2022-04-22 16:18 |
That change is not correct because there is another use of the RemoveMasterClock (in the method OnClockFinished) that requires later use of clock->mTarget. The easiest way to fix it, before I analyze this better is to keep a reference to the clock in RemoveUnusedMasterClocks: void TimeManager::RemoveUnusedMasterClocks(const ClocksSet& clocks) { for (Clock* masterClock: clocks) { if (!IsClockUsed(masterClock)) { Ptr<Clock> masterClockPtr(masterClock); RemoveMasterClock(masterClock); masterClock->mTarget = 0; } } } Could you try that? |
(0007909)
steveh 2022-04-22 18:30 |
Hi Sergio, your suggestion works great. We've submitted that to our local branch, much appreciated. |
(0007916)
sfernandez 2022-05-03 19:15 |
Both issues solved in changeset r11317. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1547 | [NoesisGUI] C++ SDK | feature | have not tried | 2019-08-26 13:29 | 2022-04-28 15:30 |
Reporter: | tkawa | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1 | ||||
Platform: | Windows | ||||
Summary: | Support lighter-weight Drawing objects | ||||
Description: |
Refer the following forum's topic: https://www.noesisengine.com/forums/viewtopic.php?f=3&t=1793 This means implementing the classes: - Drawing --- DrawingGroup --- GeometryDrawing --- ImageDrawing --- GlyphRunDrawing --- VideoDrawing |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
DrawingClasses.png (86,658 bytes) 2022-03-18 10:54 https://www.noesisengine.com/bugs/file_download.php?file_id=1609&type=bug |
||||
Notes | |
(0007872)
sfernandez 2022-03-18 10:54 |
|
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
824 | [NoesisGUI] C++ SDK | feature | always | 2016-02-08 21:29 | 2022-04-26 12:21 |
Reporter: | elios | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 1.2.5f10 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.5 | ||
Target Version: | 3.1.5 | ||||
Platform: | Any | ||||
Summary: | Freeze resources in xaml missing | ||||
Description: |
Missing attribute freeze, to be able to freeze resources on xaml loading https://msdn.microsoft.com/library/aa970057%28v=vs.100%29.aspx?f=255&MSPPError=-2147217396 |
||||
Tags: | |||||
Steps To Reproduce: |
In WPF you can import this namespace xmlns:po="http://schemas.microsoft.com/winfx/2006/xaml/presentation/options" and then use it to freeze the resources you know they are not gonna change: <SolidColorBrush x:Key="ConnectorColorBrush" Color="#888" po:Freeze="True" /> |
||||
Additional Information: |
https://msdn.microsoft.com/library/aa970057%28v=vs.100%29.aspx?f=255&MSPPError=-2147217396 http://stackoverflow.com/questions/799890/how-can-wpf-objects-deriving-from-freezable-be-frozen-in-xaml |
||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2319 | [NoesisGUI] C++ SDK | minor | have not tried | 2022-04-04 07:30 | 2022-04-25 11:59 |
Reporter: | jsantos | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.4 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.5 | ||
Target Version: | 3.1.5 | ||||
Platform: | Any | ||||
Summary: | UriConverter::ParseUri crashing when receiving null string pointer | ||||
Description: |
As part of the converter architecture, UriConverter::ParseUri is being invoked with a null string crashing client code. Right now, we only have an assert there and it doesn't seem to be enough and this is exposed to client code. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007886)
jsantos 2022-04-04 09:49 |
[ 00 ] Noesis::UriConverter::ParseUri(char const*, Noesis::Uri&) const [ 01 ] Noesis::ImageSourceConverter::TryConvertFromString(char const*, Noesis::Ptr<Noesis::BaseComponent>&) const [ 02 ] NoesisApp::ChangePropertyAction::UpdateConvertedValue() [ 03 ] NoesisApp::ChangePropertyAction::Invoke(Noesis::BaseComponent*) [ 04 ] NoesisApp::TriggerBase::InvokeActions(Noesis::BaseComponent*) [ 05 ] NoesisApp::AttachableObject::Attach(Noesis::DependencyObject*) [ 06 ] NoesisApp::TriggerCollection::OnAttached() [ 07 ] NoesisApp::AttachableCollection<NoesisApp::TriggerBase>::Attach(Noesis::DependencyObject*) [ 08 ] OnTriggersChanged(Noesis::DependencyObject*, Noesis::DependencyPropertyChangedEventArgs const&) [ 09 ] Noesis::DependencyObject::OnPropertyChanged(Noesis::DependencyPropertyChangedEventArgs const&) [ 10 ] Noesis::Visual::OnPropertyChanged(Noesis::DependencyPropertyChangedEventArgs const&) [ 11 ] Noesis::UIElement::OnPropertyChanged(Noesis::DependencyPropertyChangedEventArgs const&) [ 12 ] Noesis::FrameworkElement::OnPropertyChanged(Noesis::DependencyPropertyChangedEventArgs const&) [ 13 ] Noesis::Panel::OnPropertyChanged(Noesis::DependencyPropertyChangedEventArgs const&) [ 14 ] Noesis::DependencyObject::Init() |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2322 | [NoesisGUI] C# SDK | minor | always | 2022-04-06 12:30 | 2022-04-21 19:55 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.4 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.5 | ||
Target Version: | 3.1.5 | ||||
Platform: | Any | ||||
Summary: | Can't load xaml from external dll | ||||
Description: |
When using Managed SDK it is not possible to load the xaml of user controls defined in external dlls. To make it work now the user needs to create a custom provider that loads all its application assemblies. It would be better to automatically handle this in the application framework using the LoadAssembly callback. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2327 | [NoesisGUI] C# SDK | feature | always | 2022-04-12 11:40 | 2022-04-12 11:40 |
Reporter: | JinFox | Platform: | |||
Assigned To: | OS: | ||||
Priority: | normal | OS Version: | |||
Status: | new | Product Version: | 3.1.2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Button Does not expose and overridable OnClick Method (as opposed to WPF) | ||||
Description: |
Hello, Could it be possible to expose an overridable OnClick Method in Button the same way WPF does? We were trying to intercept a click to do some treatment on it and we managed to work around it using PreviousMouseButtonDown but Sergio advised to me to still open a feature request on this as having access to OnClick would be useful to achieve this. Thank you! |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2321 | [NoesisGUI] Unity3D | feature | always | 2022-04-05 21:17 | 2022-04-12 10:32 |
Reporter: | ckfinite | Platform: | |||
Assigned To: | OS: | ||||
Priority: | normal | OS Version: | |||
Status: | new | Product Version: | 3.1.4 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Custom RoutedEventArgs | ||||
Description: | The usual WPF idiom for passing information about a routed event is to subclass RoutedEventArgs and provide properties that hold the relevant information. However, this is very hard to do in Noesis, as (from the managed API at least) RoutedEventArgs's implementation is very deeply entwined with the native implementation. Adding support for custom RoutedEventArgs would make it easier to implement custom routed events in an application. | ||||
Tags: | |||||
Steps To Reproduce: |
As an example, suppose we have [code] class ResizeEventArgs : RoutedEventArgs { public float Amount {get;} public ResizeEventArgs(RoutedEvent @event, object sender, float amount) : base(@event, sender) { this.Amount = amount; } } [/code] If we attempt to use ResizeEventArgs as an EventArgs then Noesis will error with [code] InvalidOperationException: Event args for ResizeEventHandler have to define the method 'static void InvokeHandler(Delegate handler, IntPtr sender, IntPtr args)' [/code] Implementing InvokeHandler from a user perspective is practically impossible, making it very difficult to use this custom RoutedEventArgs implementation. |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2326 | [NoesisGUI] Documentation | minor | always | 2022-04-08 11:52 | 2022-04-08 14:50 |
Reporter: | CaptainCatSparrow | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Trial code generation page is not available | ||||
Description: | https://www.noesisengine.com/trial/ returns 404 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1016 | [NoesisGUI] C# SDK | minor | always | 2017-02-11 17:35 | 2022-04-06 12:31 |
Reporter: | Ziriax | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 1.3.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.2 | ||
Target Version: | 3.1.2 | ||||
Platform: | Any | ||||
Summary: | .NET assemblies are not loaded when parsing XAML | ||||
Description: |
I had a problem where <DataTemplate DataType={x:Type vm:StartScreen}"/> (see additional information) did not work, I got assertions in the TypeExtension, mType == 0 When debugging the source code, I noticed that the C++ code could not find a native type for "StartScreen". The reason was that the .NET runtime did not yet load the Game.ViewModels assembly when Noesis was parsing the XAML, and so Noesis did not register the types yet. IMHO when Noesis is parsing XAML clr-namespace, it should load the .NET assemblies, and (lazily) create native types? |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: |
<UserControl xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:vm="clr-namespace:Game.ViewModels;assembly=Game.ViewModels" mc:Ignorable="d"> <UserControl.Resources> <DataTemplate DataType="{x:Type vm:StartScreen}" /> </UserControl.Resources> </UserControl> |
||||
Attached Files: | |||||
Notes | |
(0004448)
sfernandez 2017-02-21 13:20 |
We don't currently load assemblies, it should be done by the user. Sorry for the inconvenience. But maybe we can investigate what you suggested: looking for the xmlns assembly definition and try to load it ourselves. |
(0004451)
Ziriax 2017-02-21 13:25 |
Ah that explains it :-) Maybe even better and easier for you, just provide a callback for resolving these DLLs (these could be either native or managed)? |
(0004457)
sfernandez 2017-02-21 13:53 |
Yes, that sounds event better. It could be valid for native libraries too, you are right. |
(0004464)
sfernandez 2017-02-21 19:09 |
By the way, we just generated a new beta for the C# SDK you can download here: https://drive.google.com/open?id=0Bwl3Ci5GLsE8dms4RkhWcFBzems Please create new tickets for the issues you find. We appreciate your feedback. |
(0004466)
jsantos 2017-02-21 20:26 |
There are a few important changes regarding textures in this new version: 1. WrapTexture methods are no longer part of the TextureSource. The Texture source is now built using a Texture (same as C++ API) 2. We expose separate WrapTexture methods to create a Texture using a ID3D11Texture2D (sorry for this breaking change) 3. Texture has a object field to optionally hold the object with the ownership of the native handle 4. There will be also a callback clients must set to load textures from URI. You are in charge of creating the textures now. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2318 | [NoesisGUI] Unity3D | major | always | 2022-03-31 20:30 | 2022-04-04 11:40 |
Reporter: | aberro | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | ItemsControl.ItemsSource not working with IEnumerable | ||||
Description: |
Following type used as ItemsSource doesn't display any items: public class Test<T> : IEnumerable<T>, IEnumerable { private IEnumerable<T> _source; public Test(IEnumerable<T> collection) { _source = collection.ToArray(); } public IEnumerator<T> GetEnumerator() { return _source.GetEnumerator(); } IEnumerator IEnumerable.GetEnumerator() { return GetEnumerator(); } } In WPF ItemsControl may accept any IEnumerable types. I've tested in Unity only, but probably this relates to other environments too. Also, this could be related to https://www.noesisengine.com/bugs/view.php?id=1017 |
||||
Tags: | WPF | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007883)
aberro 2022-03-31 20:55 |
Yep, seems like 1017 is related, I've implemented IList and now it's working. |
(0007885)
sfernandez 2022-04-04 09:48 |
As you found our ItemsSource implementation is based on the IList interface, would that work for you? |
(0007887)
aberro 2022-04-04 11:40 |
Well, yes, but aren't you trying to implement fully WPF compatible UI? |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1017 | [NoesisGUI] C# SDK | major | always | 2017-02-15 12:05 | 2022-03-31 20:31 |
Reporter: | Ziriax | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | high | OS Version: | |||
Status: | resolved | Product Version: | 1.3.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b4 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | ItemsControl.ItemsSource not working with custom observable collection | ||||
Description: |
The following C# collection does not work when assign to ItemsControl.ItemsSource public class MyList<T> : IList, IList<T>, INotifyCollectionChanged Removing INotifyCollectionChanged makes it work, but then you don't have change notification The attached patch solves this, although I did not test the change notification yet |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
ExtendRegistry.inl.patch (689 bytes) 2017-02-15 12:05 https://www.noesisengine.com/bugs/file_download.php?file_id=744&type=bug |
||||
Notes | |
(0004449)
sfernandez 2017-02-21 13:23 |
We'll fix it in a future release. I think we need to have the 3 possibilities (an IList proxy, an INotifyCollectionChanged proxy, and an IList+INotifyCollectionChanged proxy) to provide the correct solution. |
(0004452)
Ziriax 2017-02-21 13:28 |
Ok. Now if I look at the current code in NoesisExtend.cs else if (typeof(System.Collections.IList).GetTypeInfo().IsAssignableFrom(type.GetTypeInfo())) { if (typeof(System.Collections.Specialized.INotifyCollectionChanged).GetTypeInfo().IsAssignableFrom(type.GetTypeInfo())) { nativeType = Noesis.ExtendObservableList.Extend(TypeFullName(type)); } else { nativeType = Noesis.ExtendList.Extend(TypeFullName(type)); } } then it seems that only those types implementing both IList and INotifyCollectionChanged will be registered as ExtendObservableList. So currently we can assume that whenever ExtendObservableList is used, the managed collection will implement IList and INotifyCollectionChanged. So I guess my patch would be sufficient for the current code base. |
(0004469)
jsantos 2017-02-21 20:33 |
Thanks for the patch! Sergio is going to study the integration soon. Anyway, I wonder if there is a better way to expose C# interfaces in C++, the current approach seems to be very hardcoded and limited... |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2312 | [NoesisGUI] Unreal | crash | always | 2022-03-22 23:14 | 2022-03-25 15:27 |
Reporter: | vogelLightword | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.4 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.5 | ||
Target Version: | 3.1.5 | ||||
Platform: | Any | ||||
Summary: | Crash when using MPC-collections in a material | ||||
Description: |
Good evening, We have a Material-Parameter-Collection that manages the currently selected input device inside a Material. We want an instance of that material to be visible in our UI. From our Noesis frontend we implement a Material-Instance (MI) as a ShaderBrush. The master-material of that MI uses the mentioned MPC. If the MPC is connected whilst the MI is being used in a Noesis-View/xaml, the engine crashes. Breakpoint is attached, |
||||
Tags: | crash, Materials, MPC, Unreal | ||||
Steps To Reproduce: |
1: Bind a Noesis-Image (or in our case ImageBrush in an inline-Container) to a Material-Instance 1.1: The parent of the Material-Instance uses a Material-Parameter-Collection to give output 2: Implement the Noesis-View and thus try to show the Material-Instance 3: See a crash happening |
||||
Additional Information: |
Our noesis-sample-code: (M_InputButton_Inst is the mentioned Material-Instance, of which the parent uses a Material-Parameter-Collection). The currentID-binding is the current ID of the image to select (not directly related to the Material-Parameter-Collection, no problem/crash occurs whilst the MPC is disconnected) <TextBlock> <Run Text="{Binding Text1}"></Run> <InlineUIContainer> <Rectangle Width="32" Height="32"> <Rectangle.Fill> <ImageBrush> <noesis:Brush.Shader> <assets:M_InputButton_Inst KeyboardID="{Binding currentID}"/> </noesis:Brush.Shader> </ImageBrush> </Rectangle.Fill> </Rectangle> </InlineUIContainer> <Run Text="{Binding Text2}"></Run> </TextBlock> |
||||
Attached Files: |
image.png (498,733 bytes) 2022-03-22 23:14 https://www.noesisengine.com/bugs/file_download.php?file_id=1610&type=bug 2312.patch (6,663 bytes) 2022-03-25 13:50 https://www.noesisengine.com/bugs/file_download.php?file_id=1614&type=bug |
||||
Notes | |
(0007874)
vogelLightword 2022-03-22 23:17 |
|
(0007875)
vogelLightword 2022-03-23 09:27 |
Changed mentions of Material-Instances-Dynamic to Material-Instances (since in our case we only use Material-Instances as Noesis can already modify its bindings at runtime, so no Dynamic instantiation is needed) |
(0007879)
hcpizzi 2022-03-25 13:50 |
Hi, I think I fixed this correctly. Besides fixing the crash, now parameter overrides (using Set[Scalar|Vector]ParameterValue) seem to work correctly too. Could you give the attached patch a try to confirm it solves your problem? Thanks. |
(0007880)
vogelLightword 2022-03-25 14:19 |
Thanks a lot hcpizzi, that works just fine now! Also many thanks for the fast fix! |
(0007881)
hcpizzi 2022-03-25 15:27 |
Glad it solved your issue. Marking as resolved. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2310 | [NoesisGUI] C++ SDK | feature | always | 2022-03-18 11:01 | 2022-03-18 11:06 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1 | ||||
Platform: | Any | ||||
Summary: | Support for DrawingImage | ||||
Description: | Implement the ImageSource that uses a Drawing as content: https://docs.microsoft.com/en-us/dotnet/api/system.windows.media.drawingimage?view=windowsdesktop-6.0 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1110 | [NoesisGUI] Unity3D | feature | always | 2017-06-15 14:28 | 2022-03-18 11:06 |
Reporter: | MrJul | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 2.0.2f2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1 | ||||
Platform: | Any | ||||
Summary: | Support for DrawingBrush | ||||
Description: |
Please add support for DrawingBrush. While it can often be replaced with a Path, the latter participates in the layout calculation, making it harder to use as a background-only brush (especially in auto-sized controls). https://docs.microsoft.com/en-us/dotnet/api/system.windows.media.drawingbrush?view=windowsdesktop-6.0 |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0005698)
nikobarli 2019-06-06 07:39 |
I am voting to this issue as well. |
(0006447)
real_mikhail 2020-06-20 16:04 |
+1 for DrawingBrush |
(0007775)
spadapet 2022-02-03 14:59 |
+1 for DrawingBrush |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2309 | [NoesisGUI] C++ SDK | feature | have not tried | 2022-03-18 10:44 | 2022-03-18 11:06 |
Reporter: | jsantos | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1 | ||||
Platform: | Any | ||||
Summary: | Implement support for CacheMode | ||||
Description: |
A value that indicates that rendered content should be cached as a composited bitmap when possible. https://docs.microsoft.com/en-us/dotnet/desktop/wpf/graphics-multimedia/how-to-improve-rendering-performance-by-caching-an-element https://docs.microsoft.com/en-us/windows/winui/api/microsoft.ui.xaml.uielement.cachemode?view=winui-3.0 <Canvas Background="White" CacheMode="BitmapCache"> <Ellipse Height="40" Width="40" Fill="Blue"/> <Ellipse Canvas.Left="21" Height="40" Width="40" Fill="Blue"/> <Ellipse Canvas.Top="13" Canvas.Left="10" Height="40" Width="40" Fill="Blue"/> </Canvas> We probably want to use an atlas for this. Right now we have one for offscreens and effects that is cleared per frame. The one we need here needs to persists between frames, so we need to expose a way to bind a render target without clearing its content in the RenderDevice abstraction. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2306 | [NoesisGUI] Unreal | crash | have not tried | 2022-03-10 13:38 | 2022-03-17 21:25 |
Reporter: | jsantos | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.4 | ||
Target Version: | 3.1.4 | ||||
Platform: | Any | ||||
Summary: | Unreal Android build crash when NotifyChanged on Image is called | ||||
Description: |
In my xaml, I try to bind an image to a Texture2D variable in NoesisView: <!-- some layout --> <Image Grid.Column="3" Width="32" Height="32" Margin="221,30,182,30"> <Image.Source> <Binding Path="TestIcon"/> </Image.Source> </Image> <!-- some layout --> Then I have a button which sets TestIcon variable w/ NotifyChanged. So when i push it, the image swaps to another texture. Everything works fine in Unreal PIE (Play in Editor), but when i try to launch it on android, the app crashes whenever i press the button. The crash also happens when the button simply sends a NotifyChanged on that PropertyName. Worth noting is other TextBinding works fine. Checking UE log, I don't see any related error before and after the crash: LogPlayLevel: --------- beginning of crash LogPlayLevel: Took 0.6975239s to run adb.exe, ExitCode=0 LogPlayLevel: Running: C:\Users\AnLe\AppData\Local\Android\Sdk\platform-tools\adb.exe -s 8e865750 logcat -d LogPlayLevel: Took 0.2529926s to run adb.exe, ExitCode=0 LogPlayLevel: ********** RUN COMMAND COMPLETED ********** LogPlayLevel: BUILD SUCCESSFUL |
||||
Tags: | |||||
Steps To Reproduce: |
My Project Version: - UE 4.27.2 - NoesisGUI-UE4.27-3.1.2-Indie Android Studio version 4.0 config, per Unreal document guidance: - SDK: 30.0.3 / 29.0.2 / 28.0.3 - NDK: 21.4.7075529 - CMake: 3.10.2.4988404 |
||||
Additional Information: | |||||
Attached Files: |
2306.patch (945 bytes) 2022-03-11 13:16 https://www.noesisengine.com/bugs/file_download.php?file_id=1607&type=bug NoesisRenderDevice.cpp.patch (2,478 bytes) 2022-03-14 17:27 https://www.noesisengine.com/bugs/file_download.php?file_id=1608&type=bug |
||||
Notes | |
(0007861)
hcpizzi 2022-03-11 13:16 |
I've found a problem where a check was accessing a null pointer if the texture property was set to none. Otherwise it is working for me. Could you try the attached patch and let us know if it works for you? |
(0007863)
hcpizzi 2022-03-14 17:27 |
I have another patch for you to try. I think I was able to reproduce it this time. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2304 | [NoesisGUI] Unity3D | minor | always | 2022-03-09 18:26 | 2022-03-17 21:25 |
Reporter: | stonstad | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.3 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.4 | ||
Target Version: | 3.1.4 | ||||
Platform: | Any | ||||
Summary: | Disabled XAML Preview Appears to Affect Runtime Behavior | ||||
Description: |
I have preview disabled. However, this code throws an error at runtime if the associated XAML control is selected in the Unity inspector window. *NoesisXamlEditor:CreatePreviewView * [NOESIS/E] Child already has a logical parent UnityEngine.Debug:LogError (object,UnityEngine.Object) NoesisUnity:UnityLog (int,string) (at C:/Users/stons/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.1.3/Runtime/NoesisUnity.cs:357) Noesis.View:CreateCPtr (System.Type,bool&) (at C:/Users/stons/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.1.3/Runtime/API/Core/View.cs:535) Noesis.BaseComponent:.ctor () (at C:/Users/stons/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.1.3/Runtime/API/Proxies/BaseComponentExtend.cs:17) Noesis.DispatcherObject:.ctor () (at C:/Users/stons/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.1.3/Runtime/API/Proxies/DispatcherObject.cs:30) Noesis.View:.ctor (System.Runtime.InteropServices.HandleRef) (at C:/Users/stons/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.1.3/Runtime/API/Core/View.cs:519) Noesis.View:.ctor (Noesis.FrameworkElement) (at C:/Users/stons/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.1.3/Runtime/API/Core/View.cs:492) Noesis.GUI:CreateView (Noesis.FrameworkElement) (at C:/Users/stons/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.1.3/Runtime/API/Core/NoesisGUI.cs:332) NoesisXamlEditor:CreatePreviewView () (at C:/Users/stons/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.1.3/Editor/NoesisXamlEditor.cs:30) NoesisXamlEditor:HasPreviewGUI () (at C:/Users/stons/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.1.3/Editor/NoesisXamlEditor.cs:185) UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&) If I do not have the control selected in the inspector window I do not get this error when playback begins. |
||||
Tags: | |||||
Steps To Reproduce: |
1. Create a user control. 2. Disable preview in Noesis settings. 3. Have user control visible in project Unity inspector window prior to Unity playback. 4. Show user control during runtime. Error manifests. This is not a big deal at all. I am just reporting in case it is helpful. |
||||
Additional Information: | |||||
Attached Files: |
1.png (86,011 bytes) 2022-03-09 18:26 https://www.noesisengine.com/bugs/file_download.php?file_id=1603&type=bug 2.png (119,413 bytes) 2022-03-09 18:26 https://www.noesisengine.com/bugs/file_download.php?file_id=1604&type=bug 3.png (209,037 bytes) 2022-03-09 18:26 https://www.noesisengine.com/bugs/file_download.php?file_id=1605&type=bug |
||||
Notes | |
(0007853)
jsantos 2022-03-10 13:13 |
Thanks for reporting this! |
(0007868)
sfernandez 2022-03-17 16:50 |
Hi, I found that the Preview is being generated (although not rendered) even if the setting is disabled. We need to fix this behavior. But I'm not able to reproduce that error. It seems to me that your control may have some global element that gets added to the UI tree when it is loaded, so when you click play and have the preview selected, that global element is added to two different UI trees. Could that be your case? |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2045 | [NoesisGUI] C# SDK | major | always | 2021-06-10 19:00 | 2022-03-17 11:28 |
Reporter: | DavidYawCSpeed | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | feedback | Product Version: | 3.0.12 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1 | ||||
Platform: | Any | ||||
Summary: | IsDoubleTapEnabled should inherit parent to child | ||||
Description: |
Whether a double-tap event is raised depends on the value of IsDoubleTapEnabled for the specific control that the tap is directly over. For a Button, this isn't necessarily the button object itself, but the Border that draw the colored background, the TextBlock that contains the text of the button, etc. IsDoubleTapEnabled is currently set on each individual component. In order to enable/disable double-tap for a button, IsDoubleTapEnabled currently needs to be set on all the child objects as well. If it were inherited instead, then setting it on the Button would be all that was necessary. |
||||
Tags: | |||||
Steps To Reproduce: |
In our application, we only use double-tap in two very small places. In the other 99% of the application, we want rapid tapping to be interpreted as many single taps. Therefore, we switch the default value of IsDoubleTapEnabled to false, and only set it to true in the two spots we actually use double-tap. // At startup, before loading any GUI components: UIElement.IsDoubleTapEnabledProperty.OverrideMetadata(typeof(FrameworkElement), new UIPropertyMetadata(false)); <Button IsManipulationEnabled="True" IsDoubleTapEnabled="True" Content="Test Button" Tapped="OnTapped" Holding="OnHold" DoubleTapped="OnDoubleTapped" /> However, this doesn't work: IsDoubleTapEnabled needs to be set on whatever is directly under the mouse when the tap happens. For a plain text button, that means setting it on the Border and TextBlock inside the button. The opposite is also true: If I don't change the default value, and set IsDoubleTapEnabled=False on a Button, its DoubleTapped event still gets raised. IsDoubleTapEnabled needs to be set to false on all the controls inside the Button to make DoubleTapped not get raised, and interpret it as two Tap events instead. (If this change is made, then we can switch it from overriding the default value of the property, to just setting it on the top-level Window, and letting it be inherited. Way easier.) |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007645)
noesisChris 2021-12-03 15:17 |
Not needed for 3.1.2 - Bryan |
(0007829)
sfernandez 2022-03-03 13:32 |
I've been thinking about this and came up with a solution that doesn't break compatibility with Blend. Instead of changing the default property to inherit, you can create an attached inherited property that will be in charge of updating the default property: public static class TouchHelper { public static bool GetIsDoubleTapEnabled(UIElement obj) { return (bool)obj.GetValue(IsDoubleTapEnabledProperty); } public static void SetIsDoubleTapEnabled(UIElement obj, bool value) { obj.SetValue(IsDoubleTapEnabledProperty, value); } public static readonly DependencyProperty IsDoubleTapEnabledProperty = DependencyProperty.RegisterAttached( "IsDoubleTapEnabled", typeof(bool?), typeof(TouchHelper), new FrameworkPropertyMetadata(null, FrameworkPropertyMetadataOptions.Inherits, OnIsDoubleTapEnabledChanged)); private static void OnIsDoubleTapEnabledChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { if (e.NewValue != null) { ((UIElement)d).IsDoubleTapEnabled = (bool)e.NewValue; } } } Then you can use it in the xaml as you suggested, disabling it for the whole window, and then enabling it only on the controls you need it: <Window x:Class="UIShell.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="clr-namespace:UIShell" local:TouchHelper.IsDoubleTapEnabled="False" ...> ... <Button local:TouchHelper.IsDoubleTapEnabled="True"/> ... <TextBox local:TouchHelper.IsDoubleTapEnabled="True"/> ... </Window> |
(0007850)
DavidYawCSpeed 2022-03-10 02:27 |
This looks like it'll work well. I've added the changes into our application, with one minor change: I changed GetIsDoubleTapEnabled to return "bool?", rather than plain "bool". I am somewhat concerned about how this would interact with some control setting UIElement.IsDoubleTapEnabled directly: If some control has UIElement.IsDoubleTapEnabled set, and I have TouchHelper.IsDoubleTapEnabled set on MainWindow, then the value from MainWindow might overwrite the value set on the individual control. That said, I'm not sure what to do about it: Calling ReadLocalValue would tell me if it was still default, but don't think it's possible to tell the difference between a non-default because it was set explicitly in that control's XAML, or because TouchHelper set it previously. Perhaps set it up so that TouchHelper would set up a binding from UIElement.IsDoubleTapEnabled to TouchHelper.IsDoubleTapEnabled, but only if there's no local value or another binding set up? I know how to check if there's no local value, or if there's a previously-evaluated binding, but I'm not sure how to tell if there's a binding set up, but hasn't been evaluated yet. But that probably doesn't matter, since we're in control of every element that gets loaded in our application, |
(0007851)
sfernandez 2022-03-10 11:21 |
The idea of this attached property is that you don't deal with the original one, you shouldn't mix the use of both properties. |
(0007855)
DavidYawCSpeed 2022-03-10 15:44 |
That should be fine. It's only a concern because we do consume a third-party component. I don't have the source to the most recent version of that component, but I do have source to an older version, and that version doesn't touch IsDoubleTapEnabled, so we should be good. |
(0007867)
sfernandez 2022-03-17 11:28 |
Is it fine to mark this as resolved with the attached property solution? We feel it is not necessary to change our core implementation and deviate from WPF behavior. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2300 | [NoesisGUI] C# SDK | major | always | 2022-03-09 16:23 | 2022-03-16 16:22 |
Reporter: | stonstad | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1.3 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Unable to Upgrade to Noesis 3.13 Due to Xaml Not Found Errors | ||||
Description: |
Upgrade Steps 1. I remove the 3.1.2 package in the Unity package manager. 2. I add a package via file path to the the unzipped 3.1.3 package. 3. Noesis for some reason fails to import my game's Resources.xaml file. 4. I reimport it via right click -> reimport in Unity. Now it is recognized by Noesis with XAML icon. 5. I restart Unity. Now the XAML files this Resources.xaml file cannot be found 6. However, the Resources.xaml file is present and dependencies load 7. But none of the XAML files contained within Resources.xaml loads. (1.png, 2.png, 3.png) Nearly every recent release of Noesis has had continuity issues. Upgrades are very painful and they need to be transparent. The reason I am upgrading is so that I can validate if a bug still exists and report it -- but I can't upgrade. Encl. - Noesis settings references resources.xaml. (1.png) - Resources.xaml references other XAML files (2.png) - XAML files referenced by resources.xaml fails to load (3.png) - Resources.xaml |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
1.png (86,011 bytes) 2022-03-09 16:23 https://www.noesisengine.com/bugs/file_download.php?file_id=1598&type=bug 2.png (119,413 bytes) 2022-03-09 16:23 https://www.noesisengine.com/bugs/file_download.php?file_id=1599&type=bug 3.png (209,037 bytes) 2022-03-09 16:23 https://www.noesisengine.com/bugs/file_download.php?file_id=1600&type=bug Resources.xaml (595 bytes) 2022-03-09 16:23 https://www.noesisengine.com/bugs/file_download.php?file_id=1601&type=bug |
||||
Notes | |
(0007838)
sfernandez 2022-03-09 16:46 |
Hi, I'm testing with the project you provided on ticket 2141 to see if I can reproduce the problem. I'll let you know what I find. |
(0007840)
stonstad 2022-03-09 17:09 (Last edited: 2022-03-09 17:15) |
Thank you Sergio! The fix for me was to reimport everything at the top level directory. I honestly don't know why this was needed but it worked. |
(0007843)
sfernandez 2022-03-09 17:45 |
We need to understand what happened. Doing a "Reimport All" shouldn't be necessary and restarting Unity can probably show errors again. I tried the project you attached in issue 2141, installed 3.1.3 version and after fixing a few compiler issues (you are calling NoesisUnity.UpdateCursor private method), some xamls that were using x:Name as keys in dictionaries, and changing Resources.xaml to use the NoesisTheme in our package, the installation finished and got no more errors. I want to remark one thing, in the upgrade steps you specified, you are removing 3.1.2 from Unity Package Manager and then installing 3.1.3, probably without closing Unity in between. This is problematic because Noesis 3.1.2 native library is yet in memory, and the new version library cannot be loaded. Could you please try with that project too to see if you can upgrade it correctly? |
(0007845)
stonstad 2022-03-09 17:53 |
Thanks for jumping on this quickly. I can confirm that in my project the update cursor behavior and Resources.xaml behavior was fixed a few months prior. These changes occurred in the migration to 3.1.2 and the resources.xaml file present is included in this ticket. What was not fixed in my code on upgrade to 3.1.2 are the missing key properties for inline resource dictionaries on two XAML screens. I can confirm that I did not restart Unity after removing the prior package version. I'm not sure what my next step is to help. |
(0007846)
stonstad 2022-03-09 17:56 |
I feel like the challenge here is that I am not an expert XAML user and I introduce ignorant or unexpected XAML. The XAML might work in prior versions of Noesis but then on upgrade things fail. When this happens I enter into an unexpected "no mans land" in which features that normally work very well fail with unexpected behavior (e.g. missing XAML for separate unrelated files). |
(0007847)
sfernandez 2022-03-09 17:58 |
Could you share with us an updated version of the project with all the compiler/xaml issues fixed? And try to reproduce your upgrade problems with that project, so we both have the same project to compare and find what is happening. |
(0007854)
jsantos 2022-03-10 13:17 |
Hi! We have plan to release 3.1.4 next week (before our travel to GDC), so I think this is a great opportunity to quickly solve this. If you could give us access to a project (working in 3.1.X) and the steps to be performed to upgrade to 3.1.3 that reproduces this issue we will give this max priority. |
(0007856)
stonstad 2022-03-11 00:15 |
Congratulations on the trip to GDC. I believe you have an amazing product. The game is large and it takes considerable effort to create a package that I can share. In this scenario I would be pulling down a version from a few days prior. The only change I would apply is the addition of resource dictionary keys for two XAML screens that were missing this. Is it possible the missing keys cause import to fail on project upgrades? |
(0007858)
stonstad 2022-03-11 00:17 |
I'll work to provide a zip file of the project prior to the upgrade. I'll include the missing keys so that you have everything identical to what I encountered on upgrade. |
(0007859)
jsantos 2022-03-11 11:48 |
Thank you! |
(0007864)
stonstad 2022-03-16 16:10 |
I'm still working on this. There is complexity in downloading a prior build due to the size of the pull (100GB+), and then making sure it compiles and runs for you. |
(0007865)
jsantos 2022-03-16 16:12 |
Hi, thank you! This build that you are preparing is reproducing the issue following a list of steps? |
(0007866)
stonstad 2022-03-16 16:22 |
I haven't been able to pull down a build of my project that is a copy of the day the behavior manifest. GitHub + Git LFS is having issues when I pull a fresh copy of source + assets. I was just going to send over source without game assets but apparently my dlls are in LFS and so I need to pull down everything. It's slow going until I figure out how to better structure things in GitHub and LFS on my end. My GitHub LFS transfer speed is about 2MB/s out of 100,000 MB. This issue crept on me and it is now very apparent when I need a fresh copy of everything. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2308 | [NoesisGUI] C# SDK | major | always | 2022-03-14 11:59 | 2022-03-15 13:14 |
Reporter: | darthmaule2 | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.3 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.4 | ||
Target Version: | 3.1.4 | ||||
Platform: | Any | ||||
Summary: | Binding to a PolyLineSegment's Points property doesn't work | ||||
Description: |
Binding to a PolyLineSegment's Points property results in this error: 2022-03-11 16:57:21.0651|ERROR|Noesis|Can't add a 'Boxed<Point>' to a 'PointCollection' 2022-03-11 16:57:21.0651|ERROR|Noesis|Can't add a 'Boxed<Point>' to a 'PointCollection' |
||||
Tags: | |||||
Steps To Reproduce: |
This XAML doesn't work: <UserControl x:Class="Modules.Measurement.LineControl" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:local="clr-namespace:Modules.Measurement" Visibility="{Binding Visibility}"> <UserControl.Resources> <ResourceDictionary> <ResourceDictionary.MergedDictionaries> <ResourceDictionary Source="MeasurementResources.xaml"/> </ResourceDictionary.MergedDictionaries> <DataTemplate DataType="{x:Type local:Line}"> <Grid> <Path x:Name="line" Stroke="White" StrokeThickness="1" > <Path.Data> <PathGeometry> <PathFigure StartPoint="{Binding Start.Position}"> <PathFigure.Segments> <PolyLineSegment Points="{Binding Points}" /> </PathFigure.Segments> </PathFigure> </PathGeometry> </Path.Data> </Path> </Grid> <DataTemplate.Triggers> <DataTrigger Binding="{Binding Path=Dotted}" Value="True"> <Setter TargetName="line" Property="StrokeDashArray" Value="5,5"/> </DataTrigger> </DataTemplate.Triggers> </DataTemplate> </ResourceDictionary> </UserControl.Resources> <UserControl.Template> <ControlTemplate TargetType="{x:Type UserControl}"> <ContentPresenter Content="{Binding}"/> </ControlTemplate> </UserControl.Template> </UserControl> |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2303 | [NoesisGUI] Unity3D | minor | always | 2022-03-09 17:41 | 2022-03-09 20:44 |
Reporter: | stonstad | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.3 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.4 | ||
Target Version: | 3.1.4 | ||||
Platform: | Any | ||||
Summary: | ScrollViewer Scrolling Disabled if Contained Element Has Focus | ||||
Description: |
Video: https://tonstad.blob.core.windows.net/media/ToggleScrollBehavior.mp4 The cursor is not shown in the video but I am attempting to scroll. I'm seeing that scroll viewers fail to scroll (via mouse drag and arrow keys) if a container within has a focused element. In the video you can see that scrolling works while no elements have focus. As soon as I switch to a keyboard (or gamepad) and focus is set scrolling stops working. I see this behavior on other screens which use a ListBox with embedded scroll viewer. I can confirm this behavior exists in 3.0.12 and 3.0.13. Perhaps this is a change that reflects accepted WPF behavior and it should not have worked previously? |
||||
Tags: | |||||
Steps To Reproduce: |
XAML1: <ScrollViewer Grid.Row="1"> <WrapPanel x:Name="_WrapPanel" /> </ScrollViewer> XAML2: <ListBox x:Name="_AssetsCollection" Grid.Row="1" ScrollViewer.HorizontalScrollBarVisibility="Auto" BorderBrush="Transparent" Background="Transparent"/> |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2301 | [NoesisGUI] Unity3D | major | always | 2022-03-09 16:30 | 2022-03-09 17:09 |
Reporter: | stonstad | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.3 | ||
Product Build: | Resolution: | duplicate | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Runtime Error: key is needed to add an object to a dictionary | ||||
Description: |
<UserControl.Resources> <Storyboard x:Name="_ScrollDownAnimation"> <DoubleAnimation Storyboard.TargetName="_Mediator" Storyboard.TargetProperty="ScrollableHeightMultiplier" From="0" To="1" Duration="0:0:0.5"> <DoubleAnimation.EasingFunction> <ExponentialEase EasingMode="EaseInOut"/> </DoubleAnimation.EasingFunction> </DoubleAnimation> </Storyboard> ... Do resources now need a key in addition to a name? [NOESIS/E] Assets/User Interface/Screens/Game/Static/Profile/ProfileScreen.xaml(10): Key is needed to add an object to a dictionary. UnityEngine.Debug:LogError (object,UnityEngine.Object) NoesisUnity:UnityLog (int,string) (at C:/Users/stons/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.1.3/Runtime/NoesisUnity.cs:357) Noesis.GUI:LoadComponent (object,string) (at C:/Users/stons/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.1.3/Runtime/API/Core/NoesisGUI.cs:322) StellarConquest.Presentation.Unity.UI.ProfileScreen:InitializeComponent () (at Assets/User Interface/Screens/Game/Static/Profile/ProfileScreen.cs:66) StellarConquest.Presentation.Unity.UI.ProfileScreen:.ctor () (at Assets/User Interface/Screens/Game/Static/Profile/ProfileScreen.cs:61) |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007837)
jsantos 2022-03-09 16:35 |
x:Name inside resource dictionaries is not WPF compliant, you need to use x:Key (0002231) |
(0007839)
stonstad 2022-03-09 17:08 |
Confirmed. Thank you. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2231 | [NoesisGUI] Unity3D | minor | always | 2022-01-10 00:37 | 2022-03-09 16:34 |
Reporter: | C4ustic | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.3 | ||
Target Version: | 3.1.3 | ||||
Platform: | Any | ||||
Summary: | Styles in Grid.Resources not automatically applied | ||||
Description: |
This is a minor thing that I don't even need I just run into it after trying out some styles I found online, and though you might want to look at it. In windows it seems like if you have this: <Style x:Key="{x:Type ComboBox}" TargetType="{x:Type ComboBox}"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type ComboBox}"> <Grid> <Grid.Resources> <Style TargetType="ToggleButton" x:Name="comboToggleStyle"> or <Style TargetType="{x:Type ToggleButton"} x:Name="comboToggleStyle"> </Grid.Resources> ...... <ToggleButton> ....... All Toggle buttons within that Grid in the template will apply the comboToggleStyle instead of the global one in windows but in NoesisGUI I get my normal style. I tried this on a combo box style in Unity but I assume that this is the case for all usages of <Grid.Resources> with a type style like that in NoesisGUI, but that is only a guess. I'm not even sure if I like that construction but you probably aim to get as close as normal windows behavior as possible in NoesisGUI. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007770)
sfernandez 2022-02-02 15:50 |
What is happening is that our xaml parser is interpreting the x:Name specified in the Style as the Key for the dictionary. We had to do that to be compatible with how Blend added animations in Silverlight projects in the past. But Blend no longer supports Silverlight projects so we should probably remove that and be more compatible with WPF projects. |
(0007774)
sfernandez 2022-02-03 12:30 |
We decided to follow WPF behavior and x:Name is no longer used as key in Resources. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1377 | [NoesisGUI] C++ SDK | minor | have not tried | 2018-12-18 14:18 | 2022-03-07 20:08 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Default type converters provided by the corresponding type | ||||
Description: |
We need something similar to C# TypeDescriptor to get a default converter for each type:TypeConverter converter = TypeDescriptor.GetConverter(typeof(float)); |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1239 | [NoesisGUI] Unity3D | block | always | 2018-02-17 11:29 | 2022-03-07 19:59 |
Reporter: | charouze | Platform: | Unity3d | ||
Assigned To: | jsantos | OS: | Linux | ||
Priority: | high | OS Version: | unbutu 17.10 | ||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Unable to make noesisgui work in unity linux editor | ||||
Description: |
When i try to use noesisgui with the linux editor, i get this error : DllNotFoundException: Noesis Noesis.GUI.GetBuildVersion () (at Assets/NoesisGUI/Plugins/API/Core/NoesisGUI.cs:13) NoesisVersion.RestartNeeded () (at Assets/NoesisGUI/Plugins/Editor/NoesisVersion.cs:50) NoesisUpdater.CheckVersion () (at Assets/NoesisGUI/Plugins/Editor/NoesisUpdater.cs:32) UnityEditor.EditorApplication.Internal_CallUpdateFunctions () (at /home/builduser/buildslave/unity/build/Editor/Mono/EditorApplication.cs:127) I tried to reimport all but it makes unity to freeze and i'm force to kill it. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
Capture d’écran de 2018-02-17 11-28-11.png (369,975 bytes) 2018-02-17 11:29 https://www.noesisengine.com/bugs/file_download.php?file_id=888&type=bug |
||||
Notes | |
(0007835)
jsantos 2022-03-07 19:59 |
This is fixed in 3.1 |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1247 | [NoesisGUI] Unity3D | feature | always | 2018-03-06 18:03 | 2022-03-07 19:58 |
Reporter: | MrJul | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 2.1.0rc3 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2.0 | ||||
Platform: | Any | ||||
Summary: | Support for stroke outside shape | ||||
Description: |
When using a shape (here, a Path), in Noesis as well as in WPF the stroke is applied on the "center" of the shape's border. I'd like to request a Noesis option to have the stroke completely outside or completely inside the shape (ideally a 3-states enum). For example, the Stroke property you added to TextBlock is already an "outside" one, which is a much better default IMHO. The primary reason for this is that centered outlines look quite bad while using a semi-transparent brush. It also reduces the effective background of the shape. Thanks! |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1390 | [NoesisGUI] C++ SDK | feature | N/A | 2019-01-17 20:31 | 2022-03-07 19:52 |
Reporter: | samzanemesis | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.0 | ||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Windows | ||||
Summary: | D3D9RenderDevice implementation for NoesisGUI 2.x | ||||
Description: |
Hello After experience with CEF and other frameworks for UI we have evaluated NoesisGUI for our project and it seems to fit our requirements better. I am implementing NoesisGUI for the Source Engine, unfortunately the engine only supports DX9 outside of Linux and OSX targets making bringing it to the engine harder due to the extra engineering effort needed to make a new RenderDevice class for D3D9. Jesus mentioned a client donated their D3D9 implementation of RenderDevice for NoesisGUI 2.x, I would be very interested to evaluate it. I plan to make this implementation public if possible (MIT Licensed) so it can benefit people who want to use Noesis technology with Source :) |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
NoesisRendererD3D9.zip (22,156 bytes) 2019-01-17 20:35 https://www.noesisengine.com/bugs/file_download.php?file_id=959&type=bug |
||||
Notes | |
(0005398)
jsantos 2019-01-17 20:35 |
Please, find attached a D3D9 renderer implementation that one of our clients used for Ogre. It is not exactly your scenario but I think it may be a good starting point. |
(0005403)
samzanemesis 2019-01-20 20:40 |
Hello I have managed to make a working implementation to the Source Engine from Spivi's work, I would like to know what what is the license they have released that code under to know what to do next, including possibility to release this publicly |
(0005404)
jsantos 2019-01-21 14:35 |
The are no restrictions attached to that code so I would upload it to Github under the MIT license. That way, more people can contribute and whenever we have time we can also improve it. We have an internal XamlTester at Noesis that takes image captures from hundreds of XAMLs to compare against image references. That's the first thing I would do. Could you please do that? |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1995 | [NoesisGUI] Unity3D | minor | always | 2021-04-30 17:07 | 2022-03-07 19:38 |
Reporter: | KeldorKatarn | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | low | OS Version: | |||
Status: | resolved | Product Version: | 3.0.11 | ||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1 | ||||
Platform: | Any | ||||
Summary: | Configurable Enter Play Mode results in missing XAMLs | ||||
Description: |
The new Configurable Enter Play Mode causes Noesis to fail. it reports the XAML Assets missing. This only happens on the first load of the editor, however some errors have been observed also on later loads but so far are not clearly to pinpoint. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007202)
ncosentino 2021-04-30 21:48 |
I just wanted to add that I *VERY* regularly experience this and it's quite frustrating. I have XAML files located in many different resource folders, and the only way I temporarily resolve this is manually right clicking and "reimporting" the contents of the directory. But seemingly randomly things revert back after some time and I have to repeat this process. It makes it nearly unusable when you're spending 30% of your dev time just reimporting XAML. |
(0007208)
jsantos 2021-05-03 12:18 |
Are those XAMLs properly grabbed by the currently active scene? |
(0007211)
KeldorKatarn 2021-05-03 14:31 |
In my case they were yes. |
(0007216)
ncosentino 2021-05-04 07:52 |
In my case, I am programmatically assigning assets to the NoesisView. The result is that it fails to show anything related to WPF, but the rest of my scene still operates (i.e. not a hard crash). If I right click in the resource folder that has my xaml/assets and select "re-import", then I can visually see the asset get recreated and have an icon that shows a preview. Then pressing play again seems to work. (then randomly at some point in the future it fails again) Since I have these in different resource folders throughout my Unity project, I essentially have to chase all of these down when it occurs. |
(0007217)
jsantos 2021-05-04 11:00 (Last edited: 2021-05-04 11:00) |
If you are programmatically assigning assets to NoesisView make sure those assets are hard-referenced by Unity, by having them in the chain of dependencies of the scene. For example, adding each one to a public property of a MonoBehaviour. We have plans to better report these issues, when a XAML not correctly referenced is being loaded. But that's a different topic regarding this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2057 | [NoesisGUI] Unity3D | major | always | 2021-07-07 20:06 | 2022-03-07 19:37 |
Reporter: | stonstad | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1 | ||
Product Build: | Resolution: | unable to reproduce | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1 | ||||
Platform: | Any | ||||
Summary: | Noesis Dependency Logic Breaking Change | ||||
Description: |
XamlDependencies.cs NoesisGuiExtensions.Dependency.Source This property checks for the existence of a file using File.Exists(path). In prior versions of Noesis I use the following syntax: <noesis:Dependency Source="/Assets/User Interface/Controls/ProductMenuControl.xaml"/> This throws "[noesis] Dependency not found" errors. An alternative syntax shown below does not work either. <noesis:Dependency Source="Assets/User Interface/Controls/ProductMenuControl.xaml"/> Using a relative path does not eliminate the error, either: <noesis:Dependency Source="../Assets/User Interface/Controls/ProductMenuControl.xaml"/> Is this breaking change an intended behavior? The only workaround at present is to disable the File.Exists check. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007318)
jsantos 2021-07-07 22:11 (Last edited: 2021-07-07 22:13) |
This is not the intended behavior but it is part of the things we needed to change in the new version. So maybe we broke things. The syntax "<noesis:Dependency Source="Assets/User Interface/Controls/ProductMenuControl.xaml"/>" should work, I don't understand why File.Exists is failing. The file does exist, right? |
(0007319)
jsantos 2021-07-07 22:12 |
I assume this is 3.1 right? (this was originally marked as a 3.0.12 issue) |
(0007322)
sfernandez 2021-07-08 00:55 |
Could you open Unity C# project in Visual Studio, attach to Unity to put a breakpoint in XamlDependencies.cs, and check System.IO.Directory.GetCurrentDirectory() when debugger stops. It should point to the opened Unity project, so calling File.Exist on paths like "Assets/Path/To/Some/Control.xaml" have to work if the file is there. I just did some tests with absolute paths (starting with "/Assets/...") and relative paths and both worked fine in my project. |
(0007323)
stonstad 2021-07-08 17:00 |
I uncommented the lines in XamlDependencies.cs which performs the check and this time I received errors for three user controls instead of all referenced user controls. I can confirm the three user controls listed were not present and the errors shown are valid. Previously, I received errors for all user controls referenced. I removed the incorrect dependencies and upon reimport I observed a NullReferenceException from OnInitialized, which appears to be due to invalid state in my code which is referenced during XAML preview. I added if (!Application.isPlaying) return; to OnInitialized and observed no further errors. The current behavior looks bug free and correct. I am positive I received errors for all XAML dependencies initially, including the example cited above ("Assets/User Interface/Controls/ProductMenuControl.xaml") -- that one remains valid. This is Noesis 3.0.12. It is MBI, and so they are not using the newest version of Noesis, yet. I'll be upgrading Stellar Conquest to 3.1 soon, and this will be an opportunity for me to retest the initial upgrade/import process again. Environment.CurrentDirectory is correctly reported as the top-level directory of the Unity project, above .\Assets. I am OK, because it is working. |
(0007834)
jsantos 2022-03-07 19:37 |
Closing this for now. Please, reopen if necessary. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1722 | [NoesisGUI] C++ SDK | feature | always | 2020-06-11 11:24 | 2022-03-07 19:27 |
Reporter: | jsantos | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.0 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Reduce Color Banding when rendering gradients | ||||
Description: |
The following articles propose using dithering in the pixel shader to reduce banding artifacts: https://observablehq.com/@mattdesl/perceptually-smooth-multi-color-linear-gradients http://www.visualextract.com/posts/color-banding/ The first one also comments about using spline interpolation to improve smoothness. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007141)
jsantos 2021-04-05 17:19 |
Shadertoy doing dithering https://www.shadertoy.com/view/ll2GD3 |
(0007743)
jsantos 2022-01-17 20:46 |
Oklab space gradients https://aras-p.info/blog/2021/11/29/Gradients-in-linear-space-arent-better https://raphlinus.github.io/color/2021/01/18/oklab-critique.html |
(0007833)
jsantos 2022-03-07 19:26 (Last edited: 2022-03-07 19:27) |
somehow related, our app framework could expose a resource dictionary with named "gradients". https://webgradients.com/ And our color picker, could expose collections like this https://coolors.co/palettes/trending |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2196 | [NoesisGUI] C++ SDK | feature | have not tried | 2021-11-18 14:42 | 2022-03-04 12:05 |
Reporter: | lowprofile | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Create a callback allows loading UserControl xamls when the Control type is not found while parsing xamls hierarchy | ||||
Description: |
Currently we need to create C++ class for all UserControls that we use in the hierarchy. And usually that C++ class only do loading the corresponding UserControl xaml. Could we have a solution that there is a callback that developer can handle, that is called when there is a control type found undefined during parsing xamls? Details are described in this forum thread. https://www.noesisengine.com/forums/viewtopic.php?f=3&t=2477&p=13589#p13589 |
||||
Tags: | C#, C++, xaml | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
Factory.patch (2,230 bytes) 2021-12-06 17:30 https://www.noesisengine.com/bugs/file_download.php?file_id=1557&type=bug noesis.diff.txt (1,908 bytes) 2022-01-17 18:16 https://www.noesisengine.com/bugs/file_download.php?file_id=1577&type=bug |
||||
Notes | |
(0007591)
jsantos 2021-11-19 11:04 |
Thanks for the report, you have access to the source code right? I mean, I can send you a patch for testing things. |
(0007592)
lowprofile 2021-11-19 12:27 |
Yes, we have the source code. We could test if you send a patch. |
(0007656)
jsantos 2021-12-06 17:30 (Last edited: 2022-01-05 15:52) |
Something as simple as the attached patch should work. Right now, there is a bit of inefficiency because for the implementation of Factory::IsComponentRegistered we need to also invoke the custom callback just for checking the returned object and then just discard. I think we could get rid of IsComponentRegistered. But let's experiment with this first. |
(0007724)
lowprofile 2022-01-11 14:27 (Last edited: 2022-01-11 14:28) |
After applying the patch, I noticed that the callback is not called. I investigated the source code and saw that there is an early return if Reflection::GetType(typeId) returns nullptr in XmlContext.cpp line 823. I fixed this part by adding if IsComponentRegistered. Then the callback was called properly. I was using Noesis::GUI::LoadXaml in the callback. But it wasn't showing the loaded xaml in the hierarchy. Would be great if you could test it. I think we should have 2 callbacks. One is for to be used in the IsComponentRegistered that checks if view xaml could be loaded (without loading it). And the second callback from Factory::CreateComponent to load the xaml. |
(0007731)
lowprofile 2022-01-13 13:45 |
I have changed the source code in XamlContext.cpp and It works now. I will send the solution to you. You might want to check it if it has any side effects. |
(0007732)
jsantos 2022-01-13 17:23 (Last edited: 2022-01-13 17:24) |
We want to remove all kind of "IsComponentRegistered" or "IsTypeRegistered" API to simplify everything a bit but I still didn't have time to think about it. Yes, please, if you could attach a patch with the changes in all your files, that will definitely help toward having this feature officially supported. Thank you! |
(0007741)
lowprofile 2022-01-17 18:16 (Last edited: 2022-01-21 14:22) |
I made very minimal changes and it works. I shouldn't put Assert for typeId. Because type will be always come from the loaded xaml root element. Which is mostly UserControl. |
(0007759)
jsantos 2022-01-31 16:07 |
Thanks for the patch, I will review it as soon as possible. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2235 | [NoesisGUI] Unity3D | minor | always | 2022-01-10 19:24 | 2022-03-03 17:23 |
Reporter: | stonstad | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.3 | ||
Target Version: | 3.1.3 | ||||
Platform: | Any | ||||
Summary: | Create Noesis Inspector Flag for Automatic DPI Scaling | ||||
Description: | Flag determines whether code at NoesisView 1349, _uiView.SetScale... executes. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2220 | [NoesisGUI] Unity3D | feature | always | 2021-12-27 19:28 | 2022-03-03 15:11 |
Reporter: | jsantos | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.3 | ||
Target Version: | 3.1.3 | ||||
Platform: | Any | ||||
Summary: | [Unity] Update Emscripten to 2.0.19 | ||||
Description: |
https://docs.unity.cn/2021.2/Documentation/Manual/UpgradeGuide20212.html In Unity 2021.2, the underlying Emscripten compiler used by the WebGL platform was updated to version 2.0.19. Previous versions of Unity were using 1.38.11. This is a breaking change, changing this will make our library incompatible with previous versions of Unity (or we can provide two separate libraries). |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007824)
EnergyNick 2022-02-22 09:03 |
Hi! Do you have any updates when Noesis will update the Emscripten version? |
(0007826)
jsantos 2022-02-23 17:02 |
Problem we have is that if we update Emscripten version we are going to break Unity versions previous to 2021.2. We are trying to find alternative ways (providing both versions of Noesis, inside the package or in a private folder). For now the only workaround is using a version of Noesis before Unity 2021.2 |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2246 | [NoesisGUI] Unity3D | block | always | 2022-01-23 12:44 | 2022-03-03 15:11 |
Reporter: | EnergyNick | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.2 | ||
Product Build: | Resolution: | duplicate | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.3 | ||
Target Version: | 3.1.3 | ||||
Platform: | WebGL | ||||
Summary: | Unity 2021.2.8f build issue | ||||
Description: |
Can't build to Unity 2021.2.8f with Noesis 3.1 and 3.1.2 for WebGL. Exception on build: Building Library\Bee\artifacts\WebGL\build\debug_WebGL_wasm\build.js failed with output: wasm-ld: error: C:\\Users\\nsika\\AppData\\Local\\Temp\\tmptwgboul7Noesis.a(Noesis_wrap.o): machine type must be wasm32 or wasm64 wasm-ld: error: C:\\Users\\nsika\\AppData\\Local\\Temp\\tmptwgboul7Noesis.a(Extend_wrap.o): machine type must be wasm32 or wasm64 wasm-ld: error: C:\\Users\\nsika\\AppData\\Local\\Temp\\tmptwgboul7Noesis.a(UnityBindings.o): machine type must be wasm32 or wasm64 wasm-ld: error: C:\\Users\\nsika\\AppData\\Local\\Temp\\tmptwgboul7Noesis.a(ExtendBindings.o): machine type must be wasm32 or wasm64 wasm-ld: error: C:\\Users\\nsika\\AppData\\Local\\Temp\\tmptwgboul7Noesis.a(Events_wrap.o): machine type must be wasm32 or wasm64 wasm-ld: error: C:\\Users\\nsika\\AppData\\Local\\Temp\\tmptwgboul7Noesis.a(CoreBindings.o): machine type must be wasm32 or wasm64 wasm-ld: error: C:\\Users\\nsika\\AppData\\Local\\Temp\\tmptwgboul7Noesis.a(SWIGDefinitions.o): machine type must be wasm32 or wasm64 wasm-ld: error: C:\\Users\\nsika\\AppData\\Local\\Temp\\tmptwgboul7Noesis.a(RenderBindings.o): machine type must be wasm32 or wasm64 wasm-ld: error: C:\\Users\\nsika\\AppData\\Local\\Temp\\tmptwgboul7Noesis.a(UnityDeviceGL.o): machine type must be wasm32 or wasm64 emcc2: error: '"C:/Program Files/Unity/Hub/Editor/2021.2.8f1/Editor/Data/PlaybackEngines/WebGLSupport/BuildTools/Emscripten/llvm\wasm-ld.exe" @C:\Users\nsika\AppData\Local\Temp\emscripten_e3ckgxre.rsp' failed (1) UnityEditor.GenericMenu:CatchMenu (object,string[],int) |
||||
Tags: | Unity, Unity URP | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
settings2.png (14,038 bytes) 2022-01-23 12:44 https://www.noesisengine.com/bugs/file_download.php?file_id=1579&type=bug settings1.png (39,809 bytes) 2022-01-23 12:44 https://www.noesisengine.com/bugs/file_download.php?file_id=1580&type=bug |
||||
Notes | |
(0007755)
jsantos 2022-01-24 12:05 |
We are going to update or plugin to Emscripten to 2.0.19 to be compatible with Unity 2021.2+ For now, the workaround is using Unity 2021.1 or earlier. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2206 | [NoesisGUI] C++ SDK | feature | N/A | 2021-12-03 10:10 | 2022-03-02 13:15 |
Reporter: | pdx_lysannschlegel | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.3 | ||
Target Version: | 3.1.3 | ||||
Platform: | Any | ||||
Summary: | Expose StringFormat and the global CultureInfo object | ||||
Description: |
From this forum thread: https://www.noesisengine.com/forums/viewtopic.php?f=3&t=2468 When making a markup extension/converter I realized that I cannot easily provide a property to the user that behaves like StringFormat in a binding, as in, actually implementing the formatting itself. Since there is an implementation for it in the C++ SDK to support it for Bindings, it would be nice to have it available in the SDK, so my usage of it behaves the same as in the rest of Noesis, and in XAML we can just use the familiar syntax without having to reinvent the wheel on the C++ side. Not sure how the CultureInfo would be best passed in. Converteres seem to be lacking it right now. Even outside of converters it would be nice to get access to the global CultureInfo we can set via Noesis::GUI::SetCulture, but this could worked around if necessary. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007828)
jsantos 2022-03-02 13:15 |
Solved in r11236 and r11237 - StringFormat.h is now a public header - Added Noesis::GUI::GetCulture() |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1961 | [NoesisGUI] Unreal | major | always | 2021-04-09 05:03 | 2022-03-02 12:32 |
Reporter: | Tadinu | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.11 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.3 | ||
Target Version: | 3.1.3 | ||||
Platform: | Linux | ||||
Summary: | Font not found in Linux UE4 | ||||
Description: |
Hi Noesis, Regarding these warnings as running in Linux UE 4.26.1: [2021.03.31-10.26.54:161][ 0]LogNoesis: Warning: Theme/NoesisTheme.Fonts.xaml(6): Font not found 'Fonts/#PT Root UI' [2021.03.31-10.26.57:020][ 0]LogNoesis: Warning: UserControls/MainWindow.xaml(1): Font not found './#Aero Matics' https://github.com/Noesis/Tutorials/blob/master/Samples/UserControl/UE4/Assets/UserControl/MainWindow.xaml#L8 And this function keeps returning False: https://github.com/Noesis/UE4Plugin/blob/master/Source/NoesisRuntime/Private/NoesisResourceProvider.cpp#L111 But somehow, this project here could still display the fonts fine. https://github.com/Noesis/Tutorials/tree/master/Samples/UserControl/UE4 However, on my custom project with I put all of fonts under a Plugin's Content folder (instead of directly under Project/Content folder), my fonts could not be found. Specifically, these are what I found: * It looks like the font folder path registration here: https://github.com/Noesis/UE4Plugin/blob/master/Source/NoesisRuntime/Private/NoesisResourceProvider.cpp#L99 is required to be consistent with font fallback family registration here: https://github.com/Noesis/UE4Plugin/blob/master/Source/NoesisRuntime/Private/NoesisSettings.cpp#L157 * For some reason, the font fallback registration: https://github.com/Noesis/UE4Plugin/blob/master/Source/NoesisRuntime/Private/NoesisSettings.cpp#L186 seems to automatically chop off the leading slash character if being present in the family name path. => This seems to be not in line with the font path expansion in XAML file, since when I tried using "../" in the font path specified here: https://github.com/Noesis/Tutorials/blob/master/Samples/UserControl/UE4/Assets/UserControl/MainWindow.xaml#L8 , it resolves to an absolute path with the leading slash character (if it reaches the Content folder in a Plugin) thus cause a "Font not found" warning. I then have to do some post processing to the path check in FamilyExist() function that also chops off the leading slash if present, just to adapt to the above mentioned behavior. I'm not sure about the internal implementation, but to make it simple & consistent I would suggest: * To allow both absolute path (if explicit clarity-favored) and relative font family path (if portability-favored) to be specified in XAML. It will then be resolved to the absolute path anyway I suppose. * Always the absolute UE asset package path to be added into Noesis::GUI::SetFontFallbacks() and Noesis::CachedFontProvider::RegisterFont(), to make it match the resolved absolute path from XAML. Thanks. |
||||
Tags: | C++, UE4, xaml | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1951 | [NoesisGUI] Unreal | major | always | 2021-03-26 15:29 | 2022-03-02 12:31 |
Reporter: | Tadinu | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.11 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.3 | ||
Target Version: | 3.1.3 | ||||
Platform: | Linux | ||||
Summary: | XAML assets not recognized as placed in Plugin's Content | ||||
Description: |
In various places of NoesisGUI plugin sources, `/Game/` prefix is hardcoded, meaning the asset is presumed to reside under the Content folder of Project, however it does not work for ones in Plugin's Contents, notably these ones: https://github.com/Noesis/UE4Plugin/blob/master/Source/NoesisEditor/Private/NoesisXamlFactory.cpp#L341 https://github.com/Noesis/UE4Plugin/blob/master/Source/NoesisRuntime/Private/NoesisResourceProvider.cpp#L34 https://github.com/Noesis/UE4Plugin/blob/master/Source/NoesisRuntime/Private/NoesisResourceProvider.cpp#L63 https://github.com/Noesis/UE4Plugin/blob/master/Source/NoesisRuntime/Private/NoesisResourceProvider.cpp#L79 (1) I would recommend the argument being passed into `LoadXAML()` function be just the xaml asset name, and by using AssetRegistry, a `FAssetData` could be fetched based on that name as the key. Then that `FAssetData` could be converted to `UObject*`, in our case as `UNoesisXaml*` as noted here: https://docs.unrealengine.com/en-US/ProgrammingAndScripting/ProgrammingWithCPP/Assets/Registry/#convertingfassetdatatouobject* That operation actually also invokes `LoadObject()` under the hood. https://github.com/EpicGames/UnrealEngine/blob/master/Engine/Source/Runtime/CoreUObject/Public/AssetRegistry/AssetData.h#L248 That way, we would not have to preprocess the path with `/Game/`, regardless of where the asset resides, either in Project's Content or Plugin's Content folder. Besides, it would be great if you could make the loading asynchronous as recommended here in case we have numerous xaml asset widgets: https://docs.unrealengine.com/en-US/ProgrammingAndScripting/ProgrammingWithCPP/Assets/AsyncLoading/index.html (2) Otherwise, it looks like in here: https://github.com/Noesis/UE4Plugin/blob/master/Source/NoesisRuntime/Private/NoesisXaml.cpp#L13 We could pass the UE asset path as it is directly like these: Noesis::GUI::LoadXaml(TCHARToNsString(*(GetPackage()->GetPathName())).Str()); Noesis::GUI::LoadComponent(Component, TCHARToNsString(*(GetPackage()->GetPathName())).Str()); If so, that path could be forwarded to FNoesisXamlProvider::LoadXaml() and fed well to `LoadObject`, without having to use AssetRegistry I guess. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2214 | [NoesisGUI] C++ SDK | feature | N/A | 2021-12-10 14:39 | 2022-03-01 19:07 |
Reporter: | jsantos | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.3 | ||
Target Version: | 3.1.3 | ||||
Platform: | Any | ||||
Summary: | Video support on Switch | ||||
Description: |
I would like to have video support on PS4 and Switch. Could you please figure out when we can have this feature on those platform? Thanks, Ryan |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2250 | [NoesisGUI] C++ SDK | minor | always | 2022-01-26 17:39 | 2022-03-01 19:07 |
Reporter: | ext.mnawrot | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.3 | ||
Target Version: | 3.1.3 | ||||
Platform: | Switch | ||||
Summary: | Nintendo Switch: NoesisApp Window doesn't utilize available screen resolution | ||||
Description: |
Nintendo Switch integrated screen has 720p however when docked and plugged to TV the output resolution is 1080p. Currently the NXDisplay and NVNRenderContext use hardcoded 720p which makes Noesis UI to appear blurry on TVs. We bypassed this limitation by extending the original implementation of NXDisplay and NVNRenderContext with the following code: nn::oe::Initialize(); nn::oe::GetDefaultDisplayResolution(&clientWidth, &clientHeight); |
||||
Tags: | |||||
Steps To Reproduce: | Use SDev Cradle / dock and 1080p TV / Monitor | ||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2295 | [NoesisGUI] C++ SDK | feature | have not tried | 2022-02-28 15:46 | 2022-02-28 15:47 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1.2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2.0 | ||||
Platform: | Any | ||||
Summary: | Add NoesisTheme to App.xaml in all our samples | ||||
Description: |
Now adding controls that are not styled in the sample will result in the undesired magenta templates. We should add the theme in the App.xaml to avoid confusion to users modifying existing samples. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2293 | [NoesisGUI] C++ SDK | major | always | 2022-02-24 20:38 | 2022-02-25 15:39 |
Reporter: | Logris | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.3 | ||
Target Version: | 3.1.3 | ||||
Platform: | Windows | ||||
Summary: | SizeToContent crashes | ||||
Description: | https://www.noesisengine.com/forums/viewtopic.php?f=3&t=2556&sid=764aeb7ca119bbb6169599d08467c27e | ||||
Tags: | C++ | ||||
Steps To Reproduce: |
set Window flag SizeToContent="Height" |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1505 | [NoesisGUI] C++ SDK | feature | have not tried | 2019-06-21 17:12 | 2022-02-23 22:48 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.3 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.0 | ||
Target Version: | 3.0.0 | ||||
Platform: | Any | ||||
Summary: | Can't get access to application resource dictionary | ||||
Description: |
Add a GetApplicationResources() function to IntegrationAPI to access the global application dictionary. In C# (and Unity) the API should be the same as in WPF: Application.Current.Resources = resources; ... ResourceDictionary resources = Application.Current.Resources; |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0005762)
sfernandez 2019-06-25 11:43 (Last edited: 2019-06-25 11:44) |
We should make Application.Resources a modifiable dictionary as it is in WPF (so new resources can be added), currently it is read-only in Noesis (improve that error message also). |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2290 | [NoesisGUI] Unity3D | minor | always | 2022-02-21 17:12 | 2022-02-23 12:54 |
Reporter: | stonstad | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.3 | ||
Target Version: | 3.1.3 | ||||
Platform: | Any | ||||
Summary: | Noesis Package Should Specify Dependency on Unity.UI | ||||
Description: | Class NoesisView has a dependency on UnityEngine.EventSystems. This class is contained within Unity.UI, The Noesis package does not specify a dependency for Unity.UI. | ||||
Tags: | |||||
Steps To Reproduce: | Remove Unity.UI from a standard 3D project with Noesis package installed. A compilation error in NoesisView.cs occurs. | ||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007823)
jsantos 2022-02-21 17:23 |
Thanks for reporting this! |
(0007825)
sfernandez 2022-02-23 12:54 |
Added compilation macros to detect if user's project includes Unity.UI package to enable that code path. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2291 | [NoesisGUI] Documentation | text | always | 2022-02-22 22:45 | 2022-02-23 10:31 |
Reporter: | Armitage1982 | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | none | OS Version: | |||
Status: | resolved | Product Version: | 3.1.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.3 | ||
Target Version: | 3.1.3 | ||||
Platform: | Any | ||||
Summary: | A suffixe is missing from the Unity Tutorial | ||||
Description: |
Head to : https://www.noesisengine.com/docs/Gui.Core.Unity3DTutorial.html#shader-assets The second bullet point read : The node <local: Noise scale="2"/> generates a dependency to the asset 'Noise.noesisbrush' I guess it should be: <local:NoiseBrush scale="2"/> |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2286 | [NoesisGUI] Unity3D | block | always | 2022-02-16 20:06 | 2022-02-21 16:09 |
Reporter: | stonstad | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.3 | ||
Target Version: | 3.1.3 | ||||
Platform: | Any | ||||
Summary: | GamePad Analog Thumbstick Cannot Navigate Dense UI | ||||
Description: |
1. See the enclosed sample project with 4x4 grid of buttons. (GamePadBehavior.zip) 2. Navigating from button 1 to button N around the perimeter using a gamepad is easy when using the D-Pad (DPad Works.mp4). 3. Navigating from button 1 to button N around the perimeter is impossible using the left analog thumbstick from (Analog Thumbstick Broken.mp4). 4. Open the Windows 11 settings menu and navigate UI via the same left analog thumbstick. It works as expected. (Windows 11 Works.mp4). |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
GamePadBehavior.zip (53,548 bytes) 2022-02-16 20:06 https://www.noesisengine.com/bugs/file_download.php?file_id=1592&type=bug DPad Works.mp4 (238,170 bytes) 2022-02-16 20:06 https://www.noesisengine.com/bugs/file_download.php?file_id=1593&type=bug Windows 11 Works.mp4 (4,563,508 bytes) 2022-02-16 20:06 https://www.noesisengine.com/bugs/file_download.php?file_id=1594&type=bug Analog Thumbstick Broken.mp4 (263,814 bytes) 2022-02-16 20:06 https://www.noesisengine.com/bugs/file_download.php?file_id=1595&type=bug |
||||
Notes | |
(0007813)
sfernandez 2022-02-16 21:34 |
I was able to reproduce this issue with the following xaml:<Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Background="Black"> <UniformGrid Width="300" Height="300" Columns="4" Rows="4" KeyboardNavigation.DirectionalNavigation="Contained"> <Button Content="1" Margin="5"/> <Button Content="2" Margin="5"/> <Button Content="3" Margin="5"/> <Button Content="4" Margin="5"/> <Button Content="5" Margin="5"/> <Button Content="6" Margin="5"/> <Button Content="7" Margin="5"/> <Button Content="8" Margin="5"/> <Button Content="9" Margin="5"/> <Button Content="10" Margin="5"/> <Button Content="11" Margin="5"/> <Button Content="12" Margin="5"/> <Button Content="13" Margin="5"/> <Button Content="14" Margin="5"/> <Button Content="15" Margin="5"/> <Button Content="16" Margin="5"/> </UniformGrid> </Grid> The problem is that gamepad input actions configuration is missing the deadzones settings (Processors > Axis Deadzone), so it is not filtering out minimal movements of the stick. |
(0007815)
stonstad 2022-02-16 23:09 |
Thank you! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2283 | [NoesisGUI] C++ SDK | crash | always | 2022-02-16 04:48 | 2022-02-21 13:44 |
Reporter: | ralspaugh | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.0.11 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Windows | ||||
Summary: | Older Intel HD Graphics Crashing on Init/Shader Compile | ||||
Description: |
Ivy Bridge Intel HD Graphics Crashing on Init/Shader Compile We are seeing crashes with certain Intel HD GPU's on Windows. So far, we have encountered crashes on - Intel HD Graphics 4000 - Intel HD Graphics 2500 - Intel HD Graphics 505 - Intel HD Graphics 400 Our theory is only certain generations of these cards are impacted, ie: Ivy Bridge. Stack Trace NoesisApp::GLRenderDevice::ActivateProgram (GLRenderDevice.cpp:1952) NoesisApp::GLRenderDevice::DrawBatch (GLRenderDevice.cpp:345) Noesis::VGLContext::DrawGPUBatches (vglcontext.cpp:3484) Noesis::VGLContext::Flush (vglcontext.cpp:1472) Noesis::RenderTreeHelper::Render (rendertreehelper.cpp:125) Noesis::RenderTree::Render (rendertree.cpp:294) Noesis::Renderer::Render (renderer.cpp:221) Noesis::Renderer::Render (renderer.cpp:187) NoesisLib::NoesisGUI::OnscreenRender (NoesisGUI.cpp:178) |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007811)
jsantos 2022-02-16 21:08 (Last edited: 2022-02-16 21:08) |
Do you have access to this HW? Any chance to have a debug build with log running? We need GLSL 140 (OpenGL 3.1) since Noesis 3.1. Could it be that this are very old drivers? |
(0007814)
ralspaugh 2022-02-16 21:34 |
We do not have direct access to the hardware unfortunately - this is coming from our crash reporting. We are working to roll out additional logging for the error, and expect to have that data available in the next week or so. It does seem possible these devices have very old drivers. |
(0007819)
jsantos 2022-02-17 11:44 (Last edited: 2022-02-21 13:44) |
As in 0002285, GLRenderDevice.cpp seems to be different from the official 3.0.11 By the way, I assume you are using GL in all your platforms on purpose, and I assume you don't want to use D3D on windows, right? In our experience, D3D drivers are much more robust on Windows than GL ones. |
(0007821)
ralspaugh 2022-02-17 23:45 |
Yeah, we are using GL currently. This is changing but we will be using OpenGL for a while. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2285 | [NoesisGUI] C++ SDK | crash | sometimes | 2022-02-16 19:15 | 2022-02-21 13:43 |
Reporter: | ralspaugh | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | feedback | Product Version: | 3.0.11 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Windows | ||||
Summary: | Crash - Noesis::VGLContext::PackPath | ||||
Description: |
Crashes on certain Intel HD GPU's when sending vertex data So far, we have seen this crash on the following cards - Intel(R) HD Graphics 4000 - Intel(R) HD Graphics 2500 Stack trace EXCEPTION_ACCESS_VIOLATION_WRITE: Fatal Error: EXCEPTION_ACCESS_VIOLATION_WRITE File "vglcontext.cpp", line 2284, in Noesis::VGLContext::PackPath File "vglcontext.cpp", line 3314, in Noesis::VGLContext::UploadGPUGeometry File "vglcontext.cpp", line 1463, in Noesis::VGLContext::Flush File "rendertreehelper.cpp", line 706, in Noesis::RenderTreeHelper::RenderOffscreenNodes File "rendertree.cpp", line 280, in Noesis::RenderTree::RenderOffscreen Possibly related, we are also seeing the following crash w/ stack trace EXCEPTION_ACCESS_VIOLATION_READ: Fatal Error: EXCEPTION_ACCESS_VIOLATION_READ File "GLRenderDevice.cpp", line 651, in NoesisApp::GLRenderDevice::MapBuffer File "vglcontext.cpp", line 3224, in Noesis::VGLContext::UploadGPUGeometry File "vglcontext.cpp", line 1463, in Noesis::VGLContext::Flush File "vglcontext.cpp", line 3197, in Noesis::VGLContext::FlushBatchesIfNeeded File "vglcontext.cpp", line 2900, in Noesis::VGLContext::BatchTriangles |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007812)
jsantos 2022-02-16 21:09 |
Are these machines the same having issues in 0002283 ? Is it possible to execute Noesis in debug? |
(0007816)
ralspaugh 2022-02-16 23:14 |
There is some overlap of devices between the two issues. Here's a random sampling of hardware details from devices experiencing both Noesis::VGLContext::PackPath and GLRenderDevice::ActivateProgram crashes. Device 1: Intel(R) Core(TM) i5-3470 CPU @ 3.20GHz; GL 3.1.0 - Build 10.18.10.4358; Intel(R) HD Graphics 2500 Device 2: Intel(R) Core(TM) i7-3537U CPU @ 2.00GHz; GL 3.1.0 - Build 10.18.10.4358; Intel(R) HD Graphics 4000 Device 3: Intel(R) Core(TM) i5-3340M CPU @ 2.70GHz; GL 3.1.0 - Build 10.18.10.4252; Intel(R) HD Graphics 4000 |
(0007818)
jsantos 2022-02-17 11:36 (Last edited: 2022-02-17 11:36) |
Is the indicated product version (3.0.11) correct? Because, I see discrepancies between line numbers and functions in GLRenderDevice.cpp or maybe you have local changes to that file? But it seems driver is returning a bad pointer when locking the the vertex or index buffer |
(0007820)
ralspaugh 2022-02-17 23:39 |
There were some small changes made to the source, but agree, it does appear to be a bad return value from OpenGL mapping the buffer. Is there a fallback value that can be used when we hit this scenario? |
(0007822)
jsantos 2022-02-21 13:42 (Last edited: 2022-02-21 13:43) |
Problem is, the driver is returning a trash pointer, so probably can be detected with IsBadWritePointer and try to disable the extension, but I need to understand what extension is being active on these cards. If possible I would need a minidump with your .exe + noesis.dll (if you are not using static library) and your pdbs + your GLRenderDevice.cpp We have a Intel HD4000 here, but it not reproducing the issue. I will try with different drivers to see if I am lucky |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2284 | [NoesisGUI] Inspector | minor | always | 2022-02-16 18:24 | 2022-02-18 16:32 |
Reporter: | satorp | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.3 | ||
Target Version: | 3.1.3 | ||||
Platform: | Any | ||||
Summary: | Inspector not showing selected View's Xaml path | ||||
Description: | Xaml path is not displayed on the View combo box (see screen capture below). Probably related to the addition of AdornerDecorator in 3.1.2? | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
NoesisInspector-NoViewXaml.png (33,983 bytes) 2022-02-16 18:24 https://www.noesisengine.com/bugs/file_download.php?file_id=1591&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2255 | [NoesisGUI] C++ SDK | trivial | always | 2022-02-01 03:39 | 2022-02-15 15:10 |
Reporter: | steveh | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | feedback | Product Version: | 3.2.0 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2.0 | ||||
Platform: | Any | ||||
Summary: | Stroke bug - bad path generation | ||||
Description: |
Hi guys, we're seeing bad strokes caused by our fonts. It seems that the path it rasterises does not match the font glyph shape. I've attached a ZIP which you can use to see our font. Pay attention to the "A", you can see that the stroke in the centre looks odd. Some glyphs are worse than others. We can play about with the stroke thickness to improve things somewhat, but I'm wondering if something is going wrong in the stroke generation code where it's generating bad paths. I've also uploaded an image of this in case you didn't want to build the sample. Cheers, -Steven |
||||
Tags: | |||||
Steps To Reproduce: |
1. Extract the ZIP into the Native Noesis SDK folder. 2. Generate the config I attached 3. Build and run the "FontStrokeBug" sample I added 4. Notice the artifacts in the strokes around the font glyphs. The fonts are pixel perfect but the strokes have artifacts in them where they "bleed" into other strokes and don't match the font path exactly |
||||
Additional Information: | |||||
Attached Files: |
StrokeBug.zip (59,217 bytes) 2022-02-01 03:39 https://www.noesisengine.com/bugs/file_download.php?file_id=1581&type=bug BadStroke.png (214,540 bytes) 2022-02-01 03:39 https://www.noesisengine.com/bugs/file_download.php?file_id=1582&type=bug |
||||
Notes | |
(0007762)
jsantos 2022-02-01 10:57 |
Hi Steve, This seems to be SDF imprecisions. I will analyze it carefully, but probably we will need to increase SDF resolution. Is this happening on trunk or in the Arabic branch? |
(0007763)
steveh 2022-02-01 11:03 |
Hey Jesus, yes, this is in the Arabic branch, but I'm pretty sure this issue was present in the build prior to integrating the Arabic branch as well. |
(0007764)
jsantos 2022-02-01 11:06 |
Yes, that makes sense. I am finishing an important crash you have in the Arabic branch (VGLTextLayout::HitTestTextPosition) and will jump to this ASAP. |
(0007765)
steveh 2022-02-01 11:09 |
Awesome, much appreciated. And yes, those HitTestTextPosition bugs take precedence over this issue for us, this is just a slight graphical issue that's fairly low priority, the other issues are causing glyphs to be rendered in the incorrect location so we're getting overlapping prompts which will cause compliancy failures. Thank you for your help Jesús! Much appreciated. |
(0007809)
jsantos 2022-02-15 15:09 (Last edited: 2022-02-15 15:10) |
Hi Steve, I see similar artifacts even without stroking. This is a limitation of the current technique we are using for rendering text, each font is internally rasterized to a distance field of size 54. If you double this size, you will see everything improves:Index: VGLContext.cpp =================================================================== --- VGLContext.cpp (revision 11207) +++ VGLContext.cpp (working copy) @@ -3709,7 +3709,7 @@ #if 1 // Render glyph SDF at a fixed resolution NS_UNUSED(scale); - float renderSize = 54.0f; + float renderSize = 54.0f * 2; #else // Render glyph SDF at the next power of two needed resolution float renderSize = (float)Clip(NextPow2(uint32_t(p.size * scale)), 1U, 54U); But doing this has tricky implications. Right now, by default our glyph cache uses an internal texture of 1024 x 1024 with tiles of 512 x 512 (tiles are entirely discarded when there is not enough space in the atlas using a LRU algorithm). The resolution of 1024 x 1024 can be changed by clients (not sure if your game is doing that), but the 512 x 512 is hardcoded in a macro (TILE_SIZE). The patch provided above should probably also increase TILE_SIZE. But this also depends on how heavy is your game about text. Not sure yet what's the best way to expose this to client code. Tile size can be exposed the same as atlas size, and probably we can expose a size threshold for glyphs, if the size of the glyph (in your case is 200) is greater than that we can increase the rasterized distance field. I need to think more about this, but feedback is welcome. PS: thanks for the amazing repro-case, as always, you always make things so easy for us :) |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2265 | [NoesisGUI] Unreal | tweak | always | 2022-02-08 16:38 | 2022-02-15 13:25 |
Reporter: | LightwordJoel | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.3 | ||
Target Version: | 3.1.3 | ||||
Platform: | Windows | ||||
Summary: | Importer unable to create references to assets | ||||
Description: |
Copy-paste of my mail to Jesús: I noticed a bug in the UE4 plugin, precisely in the importer routines. While evaluating Noesis and did some packaging tests I noticed that the importer tries to create asset references in the NoesisXamlFactory.cpp. However, there are several issues that sit in the dlls so I can't give you a full patch to fix the issue, but I try to be as precise and helpful as possible explaining the bug(s). The code I'm talking about is the UNoesisXamlFactory::FactoryCreateBinary function (in my code, NoesisXamlFactory.cpp:256). However, the issue can be narrowed down to the DependencyCallback lambda (:333). The lambda (which is wrapped into another short lambda DependencyCallbackAdaptor, line 487) expects three parameters: UserData (which is unused), the URI to the resource, and the XamlDependencyType. First of all (because it's short and easy to explain), if the dependency is a custom shader, the XamlDependencyType is mentioned as another xaml document. This triggers the IsUserControl condition (:385), however this is not relevant in the further evaluation (the .xaml suffix is dropped to find the asset and everything works as expected). The real issue is the asset path: It is possible to access assets in subdirectories using a proper namespace declaration in the xaml, for example: xmlns:k="clr-namespace:MySource.Shaders". However, the path I get in the lambda (from Noesis::GUI::GetXamlDependencies) is always in the same directory as the xaml itself. This happens because I only get the last path, e.g. if I use the brush <k:MyShader/> I only get "MyShader" as the URI, not the full relative URI "Shaders/MyShader" or an absolute path "/MySource/Shaders/MyShader". This incomplete URI is then appended to the path of the xaml package, which results in a bad path and the asset registry can't find the asset, resulting in missing references between Unreal assets if the referenced material is in another directory than the imported xaml. However, it should be mentioned that loading the referenced assets at runtime works perfectly fine, the materials show up in the UI. Also since I'm new to Noesis it is possible I forgot some detail somewhere, and I hope my explanation can help you further polish your product. Let me know if you need more details and thank you in advance. |
||||
Tags: | C++, UE4 | ||||
Steps To Reproduce: |
Unreal material in Content/MySource/Shaders/MyMaterial In xaml: xmlns:k="clr-namespace:MySource.Shaders" <noesis:Brush.Shader> <k:MyMaterial/> </noesis:Brush.Shader> Then, (re)import the xaml. The material will show up at runtime, however there is no asset reference in the Unreal sense. Therefore the referenced material will not automatically show up in a packaged build via references, developers have to assign referenced assets in the packaging system, eg using asset labels or by manually packaging the whole directory. |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2263 | [NoesisGUI] C++ SDK | crash | random | 2022-02-08 03:43 | 2022-02-14 19:56 |
Reporter: | nikobarli | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.3 | ||
Target Version: | 3.1.3 | ||||
Platform: | Windows | ||||
Summary: | Crash when running Debug build (HashMap entry is not correctly updated inside AddLoadedXaml) | ||||
Description: |
We experienced crashes when running Debug build of Noesis. The callstack is as follows: CallStack[27280]: 7FF9A9538EB6h : Noesis.dll (7FF9A8E80000h) : Noesis::BaseVector<Noesis::BaseComponent *>::Erase + 96h : Vector.inl (561) + 30h CallStack[27280]: 7FF9A952E269h : Noesis.dll (7FF9A8E80000h) : OnDependencyObjectDestroyed + E9h : UI.cpp (763) + 0h CallStack[27280]: 7FF9A953AC6Ch : Noesis.dll (7FF9A8E80000h) : Noesis::Delegate<void __cdecl(Noesis::DependencyObject *)>::FreeFuncStub<void (__cdecl*)(Noesis::DependencyObject *)>::Invoke + 3Ch : Delegate.inl (397) + 0h CallStack[27280]: 7FF9A8F5D973h : Noesis.dll (7FF9A8E80000h) : Noesis::Delegate<void __cdecl(Noesis::DependencyObject *)>::operator() + 53h : Delegate.inl (173) + 0h CallStack[27280]: 7FF9A8F85DAAh : Noesis.dll (7FF9A8E80000h) : Noesis::Delegate<void __cdecl(Noesis::DependencyObject *)>::MultiDelegate::Invoke + CAh : Delegate.inl (573) + 0h CallStack[27280]: 7FF9A8F5D973h : Noesis.dll (7FF9A8E80000h) : Noesis::Delegate<void __cdecl(Noesis::DependencyObject *)>::operator() + 53h : Delegate.inl (173) + 0h CallStack[27280]: 7FF9A8F519DCh : Noesis.dll (7FF9A8E80000h) : Noesis::DependencyObject::OnDestroy + 4Ch : DependencyObject.cpp (557) + 0h CallStack[27280]: 7FF9A91BC7DEh : Noesis.dll (7FF9A8E80000h) : Noesis::FrameworkElement::OnDestroy + EEh : FrameworkElement.cpp (1632) + 0h CallStack[27280]: 7FF9A8F22941h : Noesis.dll (7FF9A8E80000h) : Noesis::BaseRefCounted::Release + 91h : BaseRefCounted.inl (41) + 10h CallStack[27280]: 7FF9A8F7804Bh : Noesis.dll (7FF9A8E80000h) : Noesis::FrameworkElement::Release + 3Bh : FrameworkElement.h (542) + 11h Debugging the issue, we found the root problem is inside AddLoadedXaml. The problematic sequence is as follows: - "objects" reference is initialized as gLoadedXamls[uri.Str()]; - "OnDependencyObjectDestroyed(object);" is called -> internally it may erase entry inside gLoadedXamls, and the internal implementation of gLoadedXamls (HashMap) may reorganize its physical storage - "objects.PushBack(component);" is called -> if gLoadedXamls is reorganized in the previous step, the "objects" reference we retrieved before is no longer valid, thus storing the component into it is not correctly updated gLoadedXamls. static void AddLoadedXaml(BaseComponent* component, const Uri& uri) { DependencyObject* object = DynamicCast<DependencyObject*>(component); ResourceDictionary* dictionary = DynamicCast<ResourceDictionary*>(component); if (object || dictionary) { Vector<BaseComponent*>& objects = gLoadedXamls[uri.Str()]; if (objects.Find(component) == objects.End()) { if (object != nullptr) { OnDependencyObjectDestroyed(object); object->Destroyed() += &OnDependencyObjectDestroyed; objects.PushBack(component); gComponentXamls[component] = uri.Str(); } else if (dictionary != nullptr) { OnResourceDictionaryDestroyed(dictionary); dictionary->Destroyed() += &OnResourceDictionaryDestroyed; objects.PushBack(component); gComponentXamls[component] = uri.Str(); } } } } |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2223 | [NoesisGUI] Unity3D | tweak | always | 2021-12-31 04:42 | 2022-02-14 17:48 |
Reporter: | asusralis | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.2 | ||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.3 | ||
Target Version: | 3.1.3 | ||||
Platform: | Any | ||||
Summary: | 'Binding Log Level' set to Warning will instead create Unity errors. | ||||
Description: |
I have Binding Log Level set to Warning, but when a binding fails it instead creates a unity error. https://i.imgur.com/MWtvjVk.png |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007702)
sfernandez 2022-01-03 10:41 |
Hi, If you want to hide binding errors you have to set the Binding log level to 'Off'. Selecting 'Warning' level will show warning and error messages (as it does Visual Studio by default). |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2124 | [NoesisGUI] C# SDK | major | always | 2021-09-20 19:12 | 2022-02-14 17:04 |
Reporter: | aschmitt | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.3 | ||
Target Version: | 3.1.3 | ||||
Platform: | Any | ||||
Summary: | UIElement is missing TranslatePoint method | ||||
Description: | https://docs.microsoft.com/en-us/dotnet/api/system.windows.uielement.translatepoint?view=net-5.0 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2030 | [NoesisGUI] C# SDK | minor | always | 2021-05-25 11:39 | 2022-02-14 17:04 |
Reporter: | KeldorKatarn | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | high | OS Version: | |||
Status: | resolved | Product Version: | 3.0.12 | ||
Product Build: | Resolution: | duplicate | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.3 | ||
Target Version: | 3.1.3 | ||||
Platform: | Any | ||||
Summary: | WPF Inconsistency: UIElement.TranslatePoint is missing | ||||
Description: | UIElement.TranslatePoint is missing | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2118 | [NoesisGUI] C# SDK | feature | always | 2021-09-17 16:37 | 2022-02-14 17:01 |
Reporter: | aschmitt | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.3 | ||
Target Version: | 3.1.3 | ||||
Platform: | Any | ||||
Summary: | WPF Inconsistency: IDataObject is missing GetDataPresent() method | ||||
Description: | https://docs.microsoft.com/en-us/dotnet/api/system.windows.idataobject.getdatapresent?view=net-5.0 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2119 | [NoesisGUI] C# SDK | feature | always | 2021-09-17 16:38 | 2022-02-14 17:01 |
Reporter: | aschmitt | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.3 | ||
Target Version: | 3.1.3 | ||||
Platform: | Any | ||||
Summary: | WPF Inconsistency: DataObject should be public and have a public constructor | ||||
Description: | https://docs.microsoft.com/en-us/dotnet/api/system.windows.dataobject?view=net-5.0 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2280 | [NoesisGUI] C# SDK | minor | always | 2022-02-14 10:26 | 2022-02-14 10:57 |
Reporter: | sumel007 | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1.2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1 | ||||
Platform: | Any | ||||
Summary: | Invoking animation on VisibilityProperty from code behind throws an exception | ||||
Description: |
Changing targets of an animation in code behind works properly for DoubleAnimations, but throws an System.InvalidOperationException when I do it on ObjectAnimationUsingKeyFrames on Visibility property. Details and code samples are in this thread: https://www.noesisengine.com/forums/viewtopic.php?f=3&t=2549 |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2277 | [NoesisGUI] Unity3D | block | always | 2022-02-11 19:39 | 2022-02-11 20:36 |
Reporter: | stonstad | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.2 | ||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1.3 | ||||
Platform: | Any | ||||
Summary: | GamePad Input Not Responding | ||||
Description: |
This feels like user error but I wanted to confirm I am not missing anything. In 3.1.x I have Active Input Handling set to "Both" and Enable GamePad enabled. Should my gamepad be able to navigate Buttons using the left thumb stick? This worked previously in 3.0.x, and I don't know if this is an upgrade issue. The GamePad Actions option is set to "None". If GamePad Actions is none, this means default mappings are used? Thanks, Shaun |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007802)
jsantos 2022-02-11 20:36 |
It is an upgrade issue. GamePad Actions option cannot be set to None. Just reset the component to get default values or copy the asset that we are assigning by default to a new view. If you need a different mapping you can create your own version but by default it should work fine. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2269 | [NoesisGUI] Unity3D | crash | always | 2022-02-10 19:53 | 2022-02-11 20:27 |
Reporter: | stonstad | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.2 | ||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.3 | ||
Target Version: | 3.1.3 | ||||
Platform: | Any | ||||
Summary: | Noesis_View_Update Crashes Editor (Update: It's a Unity Bug) | ||||
Description: |
================================================================= Native Crash Reporting ================================================================= Got a UNKNOWN while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= ================================================================= Managed Stacktrace: ================================================================= at <unknown> <0xffffffff> at Noesis.View:Noesis_View_Update <0x0010c> at Noesis.View:Update <0x00192> at NoesisView:ExternalUpdateInternal <0x00492> at NoesisView:LateUpdate <0x000da> at System.Object:runtime_invoke_void__this__ <0x00187> ================================================================= |
||||
Tags: | |||||
Steps To Reproduce: | TBD. It crashes Unity before the editor is able to produce a stack dump. All I have at this point is the editor log file attached to this ticket. It is reproducible based on a specific screen appearing. I am investigating the XAML and code-behind to see the cause. It is new to 3.1.2 and does not exist in 3.0.4. | ||||
Additional Information: | |||||
Attached Files: |
Editor-prev.log (40,761 bytes) 2022-02-10 19:53 https://www.noesisengine.com/bugs/file_download.php?file_id=1588&type=bug |
||||
Notes | |
(0007799)
stonstad 2022-02-10 21:36 |
OK, although it reports as originating from View_Update this is a Unity bug. When I changed the signature of two methods Unity stopped crashing on instantiation of the Noesis object. public void SetText(params string[] textCollection) public void SetText(IList<string> textCollection) The issue is resolved on my end. I likely picked this up in Unity 2021.2.x. This is a candidate for closure. Thanks! |
(0007801)
sfernandez 2022-02-11 20:27 |
Thanks for the update, closing this. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2278 | [NoesisGUI] C++ SDK | minor | always | 2022-02-11 19:44 | 2022-02-11 19:45 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.3 | ||
Target Version: | 3.1.3 | ||||
Platform: | Any | ||||
Summary: | PasswordBox inside a ListBoxItem loses focus | ||||
Description: | When placing a PasswordBox inside a ListBoxItem, if you click it the focus will be lost on mouse button up. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2268 | [NoesisGUI] Unity3D | minor | always | 2022-02-10 13:14 | 2022-02-10 14:21 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.3 | ||
Target Version: | 3.1.3 | ||||
Platform: | Any | ||||
Summary: | ImageSourceConverter not working for Uri properties | ||||
Description: | Binding Image.Source to a Uri property is not working because the converter doesn't support it, only works when value is a strings. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2264 | [NoesisGUI] Unreal | feature | always | 2022-02-08 14:00 | 2022-02-08 14:00 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1.2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1 | ||||
Platform: | Any | ||||
Summary: | Improve xaml import process to check errors when dependencies change | ||||
Description: |
As it happens with latest Unity plugin, when a dictionary changes, all xamls using it are reimported to check errors are fixed or new errors appeared. We can probably use bool UAssetRegistryImpl::GetReferencers(const FAssetIdentifier& AssetIdentifier, TArray<FAssetIdentifier>& OutReferencers, EAssetRegistryDependencyType::Type InReferenceType) const in Unreal to do something similar. Implementing this could make import process inefficient so we should be very careful. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2239 | [NoesisGUI] C++ SDK | feature | N/A | 2022-01-13 18:10 | 2022-02-07 14:12 |
Reporter: | jsantos | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Hot-Reloading improvements | ||||
Description: | We are using this ticket as a place holder for all improvements and ideas we have to improve current Hot-Reloading implementation. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007733)
sfernandez 2022-01-13 18:24 |
Add a virtual method to FrameworkElement equivalent to ConnectEvent for the FindNames, something in the line of: - virtual void ConnectName(BaseComponent* source, const char* name); |
(0007734)
sfernandez 2022-01-13 18:25 |
Consider deprecating Reloaded event in favor of a more friendly cycle of events for the user: - Unloaded - "load and parse xaml" - Initialized - Loaded |
(0007735)
jsantos 2022-01-13 18:31 |
We are also keeping an internal list of "named" elements to avoid dangling pointers on the client that is probably unnecessary as it doesn't cover all scenarios. |
(0007736)
stonstad 2022-01-13 22:05 |
I understand the desire to encourage users to use DataContext. But I think forcing users to adopt this path when it is not required in WPF, UWP, and prior versions of Noesis is not sensible. I need a mechanism to opt out because data binding is not always the right solution. The targeting system for my game should not use data contexts. The proposed Noesis solution is that I port controls over to an opinionated design or live with runtime breakage each time I modify XAML during Unity playback. A sensible interim solution is an opt out flag, i.e. "Disable Runtime Reload". |
(0007738)
jsantos 2022-01-17 11:10 |
I think the only way to retain the state is using Data Context. The improvements commented in this ticket are in the line of fixing as much as possible to avoid breakage (not using DataContext). This is the approach closer to WPF also (if you hot-reload in Visual Studio). To understand more about your scenario could you tell us more about why are you editing XAML during play if you don't expect it to reload? Anyway, @sfernandez is is extremely confusing that editing a resource dictionary reload all dependencies and reset the state of all its XAML even when hot-reloading is not supported in ResourceDictionaries, |
(0007740)
stonstad 2022-01-17 16:44 |
I edit XAML during playback for the same reason I edit code -- to correct bugs and apply fixes. There are scenarios in which I purposefully do not use data context. Is there a Noesis Unity CS file I may modify to disable this behavior? |
(0007742)
jsantos 2022-01-17 18:45 |
I know, yes, but I am trying to understand, if you want to disable XAML reloading what's the purpose of editing xaml while in Play mode? It will behave exactly as not editing xaml. |
(0007744)
stonstad 2022-01-18 15:46 |
Hot reload is a great feature that I intend to use but at present this isn't possible. With regard to my daily workflow -- the reason I make changes during runtime is because Unity has a slow iteration time -- this is the time between editor stop and subsequent playback. I could take notes of necessary product changes as I play the game or I can just make the changes directly. Which one seems easier to you? When I am developing I am usually working on multiple changes at once. For each editor iteration, I am likely testing two changes (which can only be confirmed through visual play) and working on new code for a subsequent change. Having Noesis forcibly remove control state which was previously set in the game breaks this development workflow. |
(0007748)
Faerdan 2022-01-19 16:26 |
I have had to disable hot reloading (by modifiying the code) in our project for reasons similar to stonstad. As well as breaking some elements, it was also triggering XAML imports during play, which was frustrating as you have to wait for it to complete before doing anything in the Editor. |
(0007750)
jsantos 2022-01-20 12:07 |
In 3.1.2 we added two important improvements to Hot-Reloading - ResourceDictionaries do not reload. So if you touch them, nothing happens - Reimport times are now an order of magnitude faster. From second to milliseconds. We also observed that setting 'Preferences > General > Script Changes While Playing' to 'Recompile After Finished Playing' disables Hot-Reloading (because it disables import for all assets) |
(0007752)
stonstad 2022-01-20 16:29 |
> We also observed that setting 'Preferences > General > Script Changes While Playing' to 'Recompile After Finished Playing' disables Hot-Reloading I'm not sure this is the case for many Unity versions. I'm running Unity 2021.2.5f1 with Recompile After Finished Playing set and Noesis still hot reloads. See https://issuetracker.unity3d.com/issues/a-false-pup-up-appears-when-modifying-a-script-and-having-recompile-after-finished-playing-set |
(0007768)
stonstad 2022-02-01 22:49 |
Any updates on whether this will be a supported feature, i.e. disabling hot reload via noesis configuration? |
(0007769)
jsantos 2022-02-02 12:34 |
We need to discuss about this, but definitely is not happening on 3.1.3 that we plan to release very soon. Could you disable this by code for now? (NoesisPostProcessor.cs) |
(0007778)
stonstad 2022-02-04 15:59 |
Yes, a work-around is fine. Do I add an Editor.isPlaying check to OnPostprocessAllAssets? |
(0007782)
jsantos 2022-02-07 14:12 |
yes, something like that should work for now |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2234 | [NoesisGUI] C++ SDK | major | always | 2022-01-10 18:26 | 2022-02-07 12:38 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.3 | ||
Target Version: | 3.1.3 | ||||
Platform: | Any | ||||
Summary: | Bindings in resources not resolving | ||||
Description: |
From forum posts: https://www.noesisengine.com/forums/viewtopic.php?f=3&t=2500 https://www.noesisengine.com/forums/viewtopic.php?f=3&t=2502 |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2233 | [NoesisGUI] C# SDK | major | always | 2022-01-10 18:16 | 2022-02-04 16:09 |
Reporter: | jsantos | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.3 | ||
Target Version: | 3.1.3 | ||||
Platform: | Android | ||||
Summary: | Missing libEGL.so.1 in Android | ||||
Description: |
Android Runtime Problems: ======================= When I was using the older NuGet packages as defined in the original download (3.0.something), and when I had commented out the Interaction.Triggers code, I could get the Android project to build and run on a physical Android phone. With the 3.1.2 packages, the Android project builds, but at runtime it fails with this exception: System.DllNotFoundException Message=libEGL.so.1 assembly:<unknown assembly> type:<unknown type> member:(null) |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2258 | [NoesisGUI] C++ SDK | minor | have not tried | 2022-02-03 17:04 | 2022-02-03 17:05 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1.2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2.0 | ||||
Platform: | Any | ||||
Summary: | Support moving focus to Hyperlink inlines | ||||
Description: |
In WPF Hyperlink inlines inside a TextBlock can be focused and keyboard can navigate through them (both Tab and Directional navigation). We should add support for that in Noesis. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2257 | [NoesisGUI] C++ SDK | major | always | 2022-02-03 01:09 | 2022-02-03 10:43 |
Reporter: | steveh | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.2.0 | ||
Product Build: | Resolution: | duplicate | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.3 | ||
Target Version: | |||||
Platform: | Any | ||||
Summary: | VIsual::PointFromScreen called from a button click - zero determinent, invalid matrix inverse | ||||
Description: |
Hi guys, we're getting an assert when trying to invert a matrix with a zero determinent from seemingly valid inputs when we click a button: Noesis::Inverse(const Noesis::Matrix4 & m, float determinant) Line 860 C++ Symbols loaded. Noesis::Inverse(const Noesis::Matrix4 & m) Line 854 C++ Symbols loaded. > Noesis::Visual::PointFromScreen(const Noesis::Point & point) Line 204 C++ Symbols loaded. Noesis::BaseButton::OnMouseMove(const Noesis::MouseEventArgs & e) Line 359 C++ Symbols loaded. To get the view projection we're using the default calculated one (i.e. NOT a user projection matrix). My view resolution is 1920 x 1011 (a maximized window on a 1080p monitor, so the actual render target height is only 1011 pixels instead of 1080, so this is not perfectly 16:9 aspect ratio). t (InternalTransformToRoot()) is the following: - t {mVal=0x0000000003dce9a8 {{x=0.468055546 y=0.000000000 z=0.000000000 }, {x=0.000000000 y=0.468055546 ...}, ...} } Noesis::Transform3 - mVal 0x0000000003dce9a8 {{x=0.468055546 y=0.000000000 z=0.000000000 }, {x=0.000000000 y=0.468055546 z=0.000000000 }, ...} Noesis::Vector3[4] + [0] {x=0.468055546 y=0.000000000 z=0.000000000 } Noesis::Vector3 + [1] {x=0.000000000 y=0.468055546 z=0.000000000 } Noesis::Vector3 + [2] {x=0.000000000 y=0.000000000 z=1.00000000 } Noesis::Vector3 + [3] {x=93.6111069 y=210.625000 z=0.000000000 } Noesis::Vector3 Projection Matrix is as follows: - proj {mVal=0x0000000003dcea20 {{x=1.00000000 y=0.000000000 z=0.000000000 ...}, {x=-0.000000000 y=1.00000000 ...}, ...} } Noesis::Matrix4 - mVal 0x0000000003dcea20 {{x=1.00000000 y=0.000000000 z=0.000000000 ...}, {x=-0.000000000 y=1.00000000 z=-0.000000000 ...}, ...} Noesis::Vector4[4] - [0] {x=1.00000000 y=0.000000000 z=0.000000000 ...} Noesis::Vector4 x 1.00000000 float y 0.000000000 float z 0.000000000 float w 0.000000000 float - [1] {x=-0.000000000 y=1.00000000 z=-0.000000000 ...} Noesis::Vector4 x -0.000000000 float y 1.00000000 float z -0.000000000 float w -0.000000000 float - [2] {x=0.960000038 y=0.505500019 z=0.00100000005 ...} Noesis::Vector4 x 0.960000038 float y 0.505500019 float z 0.00100000005 float w 0.00100000005 float - [3] {x=0.000000000 y=0.000000000 z=0.999499977 ...} Noesis::Vector4 x 0.000000000 float y 0.000000000 float z 0.999499977 float w 1.00000000 float mtx (t * proj) is as follows - mtx {mVal=0x0000000003dcea60 {{x=0.468055546 y=0.000000000 z=0.000000000 ...}, {x=0.000000000 y=0.468055546 ...}, ...} } Noesis::Matrix4 - mVal 0x0000000003dcea60 {{x=0.468055546 y=0.000000000 z=0.000000000 ...}, {x=0.000000000 y=0.468055546 z=...}, ...} Noesis::Vector4[4] - [0] {x=0.468055546 y=0.000000000 z=0.000000000 ...} Noesis::Vector4 x 0.468055546 float y 0.000000000 float z 0.000000000 float w 0.000000000 float - [1] {x=0.000000000 y=0.468055546 z=0.000000000 ...} Noesis::Vector4 x 0.000000000 float y 0.468055546 float z 0.000000000 float w 0.000000000 float - [2] {x=0.960000038 y=0.505500019 z=0.00100000005 ...} Noesis::Vector4 x 0.960000038 float y 0.505500019 float z 0.00100000005 float w 0.00100000005 float - [3] {x=93.6111069 y=210.625000 z=0.999499977 ...} Noesis::Vector4 x 93.6111069 float y 210.625000 float z 0.999499977 float w 1.00000000 float These are the properties inside the Determinent method: - m {mVal=0x0000000003dcea60 {{x=0.468055546 y=0.000000000 z=0.000000000 ...}, {x=0.000000000 y=0.468055546 ...}, ...} } const Noesis::Matrix4 & - mVal 0x0000000003dcea60 {{x=0.468055546 y=0.000000000 z=0.000000000 ...}, {x=0.000000000 y=0.468055546 z=...}, ...} Noesis::Vector4[4] - [0] {x=0.468055546 y=0.000000000 z=0.000000000 ...} Noesis::Vector4 x 0.468055546 float y 0.000000000 float z 0.000000000 float w 0.000000000 float - [1] {x=0.000000000 y=0.468055546 z=0.000000000 ...} Noesis::Vector4 x 0.000000000 float y 0.468055546 float z 0.000000000 float w 0.000000000 float - [2] {x=0.960000038 y=0.505500019 z=0.00100000005 ...} Noesis::Vector4 x 0.960000038 float y 0.505500019 float z 0.00100000005 float w 0.00100000005 float - [3] {x=93.6111069 y=210.625000 z=0.999499977 ...} Noesis::Vector4 x 93.6111069 float y 210.625000 float z 0.999499977 float w 1.00000000 float v0 154.879593 float v1 0.865908921 float v2 0.866388917 float v3 0.294622242 float v4 0.294875026 float v5 5.00003807e-07 float t00 2.34029557e-07 float t10 -0.000000000 float t20 -0.405518144 float t30 0.405293465 float The v5 is pretty much zero and when multiplied through the matrix's first column it ends up returning zero for each component: |
||||
Tags: | |||||
Steps To Reproduce: |
Use this function to use the same properties as me and then click a button. Point PointFromScreenTest(/*const Point& point*/) { Point point(302.0f, 401.0f); //Transform3 t = InternalTransformToRoot(); Transform3 t( 0.468055546f, 0.0f, 0.0f, 0.0f, 0.468055546f, 0.0f, 0.0f, 0.0f, 1.0f, 93.6111069f, 210.625f, 0.0f); float det = Determinant(t.Rotation()); if (fabsf(det) < FLT_EPSILON) { return Point(FLT_INF, FLT_INF); } //Matrix4 proj = GetViewProjectionMatrix(mView); Matrix4 proj( 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.96f, 0.5055f, 0.001f, 0.001f, 0.0f, 0.0f, 1.0f, 1.0f ); Matrix4 mtx = t * proj; Matrix4 invMtx = Inverse(mtx); Vector4 dir = Vector4(point, 1.0f, 1.0f) * invMtx; Vector4 p = Vector4(0.0f, 0.0f, 0.0f, 1.0f) * invMtx; p /= p.w; return IntersectPlane(p, dir, Matrix4::Identity()).first; } |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007771)
steveh 2022-02-03 01:20 |
Ah, sorry, I think this is a dupe of 0002202 and have fixed in r11159 and r11170 |
(0007772)
steveh 2022-02-03 01:31 |
Just to confirm, I've integrated r11159 and r11170 into our version of 3.1.2 (with the Arabic branch merged in as well), and it fixed out reliable repro case. |
(0007773)
sfernandez 2022-02-03 10:43 |
Thanks for the confirmation Steve, marking this as solved. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2202 | [NoesisGUI] C++ SDK | block | always | 2021-11-30 08:02 | 2022-02-03 10:43 |
Reporter: | krupitskas | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.3 | ||
Target Version: | 3.1.3 | ||||
Platform: | Any | ||||
Summary: | 3D UI interaction broken | ||||
Description: |
Hello! I'm trying to implement 3D ui elements, which I want to click and drag around. Imagine "image placer" in 2D world. What I've did is created a canvas with custom name, obtained it through: [code] application_text_tool = Noesis::Ptr<AppTextTool>{Noesis::DynamicCast<AppTextTool*>(noesis_3d_view->GetContent())}; auto content_text_tool = Noesis::DynamicCast<Noesis::FrameworkElement*>(application_text_tool->GetContent()); world_space_canvas = Noesis::Ptr(content_text_tool->FindName<Noesis::Canvas>("TextToolCanvas")); noesis_3d_view->SetSize(static_cast<uint16_t>(p.win_width), static_cast<uint16_t>(p.win_height)); [/code] Later I render it: [code] const auto viewport = Noesis::Matrix4::Viewport(window_w, window_h); const auto view = Noesis::Matrix4(glm::value_ptr(camera.get_view())); const auto proj = Noesis::Matrix4(glm::value_ptr(camera.get_proj())); Noesis::Matrix4 offset = Noesis::Transform3::Trans(0.0, static_cast<float>(-window_h), 0.0).ToMatrix4(); const auto prod = offset * view * proj * viewport; noesis_3d_view->SetProjectionMatrix(prod); noesis_3d_view->GetRenderer()->RenderOffscreen(prod); noesis_3d_view->GetRenderer()->Render(prod); [/code] Element itself: [code] <Canvas x:Name="TextToolCanvas"> <Viewbox Stretch="Uniform" StretchDirection="Both"> <Rectangle Opacity="0.8" Width="736" Height="951" Fill="Red"> <i:Interaction.Behaviors> <ei:MouseDragElementBehavior ConstrainToParentBounds="False" /> </i:Interaction.Behaviors> </Rectangle> </Viewbox> </Canvas> [/code] So result looks like this: [url]http://www.giphy.com/gifs/HyE5flQi9qF40jmQ3t[/url] But if I insert rectangle into 2D ui, everything works perfect. [url]http://www.giphy.com/gifs/JMkTe0Rms1CqDyoJi5[/url]\ Forum post: https://www.noesisengine.com/forums/viewtopic.php?f=3&t=2482 |
||||
Tags: | C++ | ||||
Steps To Reproduce: | Create two views, provide world space matrix to one of them, add rectangle with mouseinteraction behaviour, try to click and move. | ||||
Additional Information: | |||||
Attached Files: |
Main.cpp (11,012 bytes) 2021-12-27 19:26 https://www.noesisengine.com/bugs/file_download.php?file_id=1570&type=bug |
||||
Notes | |
(0007687)
sfernandez 2021-12-20 11:20 |
Just to confirm, are you able to reproduce these issues with NoesisGUI 3.1.1 version? |
(0007688)
jsantos 2021-12-20 12:24 |
The following XAML is working fine in XamlToy. Also we tried this same XAML in a local example changing the perspective projection of the camera (this cannot be done in xamltoy)<Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:ei="http://schemas.microsoft.com/expression/2010/interactions" xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity" xmlns:noesis="clr-namespace:NoesisGUIExtensions;assembly=Noesis.GUI.Extensions"> <noesis:Element.Transform3D> <noesis:CompositeTransform3D RotationY="50" /> </noesis:Element.Transform3D> <Canvas x:Name="TextToolCanvas"> <Viewbox Stretch="Uniform" StretchDirection="Both" Canvas.Left="200" Canvas.Top="200"> <Rectangle Opacity="0.8" Width="100" Height="200" Fill="Red"> <i:Interaction.Behaviors> <ei:MouseDragElementBehavior ConstrainToParentBounds="False" /> </i:Interaction.Behaviors> </Rectangle> </Viewbox> </Canvas> </Grid> |
(0007692)
krupitskas 2021-12-27 19:26 |
Hello. I've reproduced this issue with glut example. Attaching file Main.cpp + Also try to increase or decrease size of the window in `glutInitWindowSize(1000, 600);` For some reason clicking become broken. P.S. const uint8_t AppGlut_xaml[] is ``` <Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:ei="http://schemas.microsoft.com/expression/2010/interactions" xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity" xmlns:noesis="clr-namespace:NoesisGUIExtensions;assembly=Noesis.GUI.Extensions"> <Canvas x:Name="TextToolCanvas"> <Viewbox Stretch="Uniform" StretchDirection="Both" Canvas.Left="200" Canvas.Top="200"> <Rectangle Opacity="0.8" Width="1000" Height="2000" Fill="Red"> <i:Interaction.Behaviors> <ei:MouseDragElementBehavior ConstrainToParentBounds="False" /> </i:Interaction.Behaviors> </Rectangle> </Viewbox> </Canvas> </Grid> ``` |
(0007726)
krupitskas 2022-01-11 17:22 |
Hey guys, any update? It's a blocker for us for the next release unfortunately :( |
(0007727)
sfernandez 2022-01-12 10:43 |
Hello, sorry for the delay, we've been on holidays the past weeks. We are now working on the issue, related to float precision on the world-screen operations when the z range is big. I guess the projection matrix you are setting is the same you have in your 3D scene, right? |
(0007730)
hcpizzi 2022-01-12 17:43 |
Could you paste the values from view matrix taken from your application? I want to make sure the fix doesn't just work with the kind of matrices that we use when none is set. Thanks. |
(0007737)
krupitskas 2022-01-14 10:54 |
GLM projection matrix: mat4x4((1.014229, 0.000000, 0.000000, 0.000000), (0.000000, 1.732051, 0.000000, 0.000000), (-0.000000, -0.000000, 1.000000, 1.000000), (0.000000, 0.000000, -0.010000, 0.000000)) GLM view matrix: mat4x4((1.000000, 0.000000, 0.000000, 0.000000), (0.000000, 1.000000, 0.000000, 0.000000), (0.000000, 0.000000, 1.000000, 0.000000), (-0.000000, -0.000000, 16525.679688, 1.000000)) Yes, I use multiplication of these two matrices for my props and for a Noesis UI 3d view. |
(0007757)
hcpizzi 2022-01-28 16:05 |
Hi, Sorry this is taking so long. We think we have a robust solution now, and would like to build a library with the fix for you to test. Which version of the Noesis SDK are you using, and what platform would you like the library for? Thank you for your patience. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2211 | [NoesisGUI] Unity3D | feature | always | 2021-12-07 13:22 | 2022-02-02 13:54 |
Reporter: | JinFox | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.3 | ||
Target Version: | 3.1.3 | ||||
Platform: | Any | ||||
Summary: | Implementation of VisualStateManager events : CurrentStateChanging and CurrentStateChanged | ||||
Description: |
Hello, According to our conversation, it would seem that Noesis currently doesn't have the following function implemented in VisualStateManager VisualStateGroup.CurrentStateChanged : https://docs.microsoft.com/en-us/uwp/api/windows.ui.xaml.visualstategroup.currentstatechanged?view=winrt-22000 VisualStateGroup.CurrentStateChanging : https://docs.microsoft.com/en-us/uwp/api/windows.ui.xaml.visualstategroup.currentstatechanging?view=winrt-22000 So I would like to do a feature request to have these event implemented so we can use them as event trigger. |
||||
Tags: | C# Storyboard | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2227 | [NoesisGUI] Unity3D | minor | always | 2022-01-02 18:03 | 2022-02-01 15:30 |
Reporter: | stonstad | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.3 | ||
Target Version: | 3.1.3 | ||||
Platform: | Any | ||||
Summary: | Noesis 3.1.2 Compiler Warnings | ||||
Description: | Noesis 3.1.2 shows compiler warnings during project compilation. "<filename> could not be added to the project. Cannot add a link to the file <filename>". See enclosed screenshot. | ||||
Tags: | |||||
Steps To Reproduce: |
1. Upgraded project from 3.0.X to 3.1.2. 2. Compiled Unity project in Visual Studio 2020 3. Error List shows compiler warnings which do not resolve. |
||||
Additional Information: | |||||
Attached Files: |
Compile Warnings.png (112,309 bytes) 2022-01-02 18:03 https://www.noesisengine.com/bugs/file_download.php?file_id=1572&type=bug |
||||
Notes | |
(0007766)
sfernandez 2022-02-01 15:30 |
We had files with the same name in different folders but Unity add them all to the same level producing conflicts. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2225 | [NoesisGUI] C# SDK | major | sometimes | 2021-12-31 15:36 | 2022-01-31 13:41 |
Reporter: | darthmaule2 | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.3 | ||
Target Version: | 3.1.3 | ||||
Platform: | Linux | ||||
Summary: | Offscreen rendering sometimes does not render everything | ||||
Description: | Saving a measurement, which is just some lines and circles and text, offscreen sometimes render nothing or just part of the measurement. | ||||
Tags: | |||||
Steps To Reproduce: |
1.) From live, save an image 2.) Recall it (global menu > file manager > tap on it) 3.) Add a point-to-line measurement (measure > select a tip > add ref. cursors > add point-to-line measurement 4.) Done 5.) Save the image --> Sometimes the measurement will disappear or partially disappear This seems to only happen on our hardware. I cannot reproduce it in Windows. |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007758)
sfernandez 2022-01-31 13:41 |
Resolved in 3.1.3b1 nugets. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2236 | [NoesisGUI] C++ SDK | minor | always | 2022-01-11 16:52 | 2022-01-31 13:34 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.3 | ||
Target Version: | 3.1.3 | ||||
Platform: | Any | ||||
Summary: | Incorrect Rectangle geometry when only setting one of RadiusX or RadiusY | ||||
Description: | The following xaml should render a simple Rectangle because only RadiusX is set, but it renders a skewed rectangle instead. | ||||
Tags: | |||||
Steps To Reproduce: |
<Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <Rectangle Width="200" Height="200" Fill="Red" RadiusX="20"/> </Grid> |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2245 | [NoesisGUI] C# SDK | minor | always | 2022-01-20 00:34 | 2022-01-31 12:17 |
Reporter: | asthomas | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.3 | ||
Target Version: | 3.1.3 | ||||
Platform: | Any | ||||
Summary: | Application.FindResource not implemented | ||||
Description: |
Application.Resources is available in Application.OnStartup. This would be a good place to set the default font characteristics. For this, we need to search the resources, so Application.FindResource would be handy. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2240 | [NoesisGUI] C++ SDK | major | always | 2022-01-14 11:32 | 2022-01-31 12:00 |
Reporter: | DavidJefferies | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.3 | ||
Target Version: | 3.1.3 | ||||
Platform: | Any | ||||
Summary: | Path doesn't stretch when Viewbox expands | ||||
Description: |
I've got a Viewbox that contains a background Path and some collapsed TextBlocks. When the visibility of the TextBlocks gets changed to Visible the whole control is meant to expand. This works as expected in Blend but in Noesis (3.1.2) the Viewbox expands but the Path doesn't. (However, if the TextBlocks are initially set to Visible then the Path is expanded as expected.) |
||||
Tags: | |||||
Steps To Reproduce: |
Reproducible in xamltoy using the xaml from this post: https://www.noesisengine.com/forums/viewtopic.php?f=3&p=13818&sid=edd9d9fd011da1ac27fd0e238b8812db#p13818 |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2216 | [NoesisGUI] C++ SDK | feature | always | 2021-12-16 20:53 | 2022-01-28 16:29 |
Reporter: | arjunc007 | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.3 | ||
Target Version: | 3.1.3 | ||||
Platform: | Any | ||||
Summary: | StaticResourceExtension not in the public API | ||||
Description: | The StaticResourceExtension class does not have an implementation in the C++ API | ||||
Tags: | C++ | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2229 | [NoesisGUI] C# SDK | trivial | always | 2022-01-02 20:31 | 2022-01-26 20:35 |
Reporter: | stonstad | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.3 | ||
Target Version: | 3.1.3 | ||||
Platform: | Any | ||||
Summary: | System.Windows.Media.PathSegmentCollection Runtime Compatibility | ||||
Description: |
Trivial -- *PathSegmentCollection PathSegmentCollection.Segments is initialized to an empty collection in the PresentationCore assembly. PathSegmentCollection.Segments is initialized to null In Noesis. *PathFigureCollection PathFigureCollection.Figures is initialized to an empty collection in the PresentationCore assembly. PathFigureCollection.Figures is initialized to null In Noesis. I don't know if this is by design. I'm just calling attention to the departure in behavior. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007705)
sfernandez 2022-01-03 11:49 |
You mean PathGeometry.Figures and PathFigure.Segments collections, right? This happens when creating a PathGeometry or PathFigure in code. |
(0007708)
jsantos 2022-01-03 18:01 |
https://www.noesisengine.com/forums/viewtopic.php?f=3&t=2503 |
(0007711)
stonstad 2022-01-04 17:39 |
Re: Sergio, yes. Creating an instance of PathGeometry or PathFigure results in a null collection. I believe WPF behavior is different due to code examples showing these collections being initialized to empty instead of null. This has no impact on my projects -- I'm reporting this if code parity with WPF is desired. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2178 | [NoesisGUI] Unity3D | major | always | 2021-11-04 22:24 | 2022-01-23 16:58 |
Reporter: | stonstad | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.12 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.3 | ||
Target Version: | 3.1.3 | ||||
Platform: | Any | ||||
Summary: | Text Wrapping Algorithm Breaks Words Strangely | ||||
Description: |
The text "Genesis Torpedo" is wrapped as: "Genesis T orpedo" OK. But then "Genesis XTorpedo" is wrapped as "Genesis XTorpedo". See attached screenshots. |
||||
Tags: | |||||
Steps To Reproduce: |
Can be reproduced with the following xaml<Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Background="White"> <Border Width="200" VerticalAlignment="Center" Background="LightGreen"> <TextBlock HorizontalAlignment="Center" VerticalAlignment="Center" TextAlignment="Center" TextWrapping="Wrap" Text="Genesis Torpedo" FontSize="30" FontFamily="Arial" Foreground="Black"/> </Border> </Grid> |
||||
Additional Information: | |||||
Attached Files: |
Genesis Torpedo.png (4,510,409 bytes) 2021-11-04 22:24 https://www.noesisengine.com/bugs/file_download.php?file_id=1535&type=bug Genesis XTorpedo.png (4,395,399 bytes) 2021-11-04 22:25 https://www.noesisengine.com/bugs/file_download.php?file_id=1536&type=bug Poppins-Regular.zip (70,118 bytes) 2022-01-19 19:41 https://www.noesisengine.com/bugs/file_download.php?file_id=1578&type=bug |
||||
Notes | |
(0007722)
stonstad 2022-01-10 19:22 |
Are there any possible work-arounds for this behavior? i.e. no break tags or some way to predict when the behavior might manifest? Thank you! |
(0007729)
jsantos 2022-01-12 13:04 |
Sorry, we didn't find time for this so far. I will tell you something soon |
(0007749)
sfernandez 2022-01-19 19:41 |
Another related issue with text wrapping and trimming can be reproduced with the following xaml, it is incorrectly applying trimming to "Keyboard":<Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <Border Width="190" Background="WhiteSmoke" HorizontalAlignment="Center" VerticalAlignment="Center"> <TextBlock Text="Show Keyboard" HorizontalAlignment="Center" TextAlignment="Center" TextWrapping="Wrap" TextTrimming="CharacterEllipsis" MaxWidth="171" FontSize="22" FontFamily="./#Poppins" Foreground="Black"/> </Border> </Grid> |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2243 | [NoesisGUI] Unity3D | major | always | 2022-01-19 11:28 | 2022-01-19 11:31 |
Reporter: | CaptainCatSparrow | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.2 | ||
Product Build: | Resolution: | duplicate | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.3 | ||
Target Version: | 3.1.3 | ||||
Platform: | Any | ||||
Summary: | UI not rendered in Unity with URP | ||||
Description: |
Tested with next versions: 1) Unity 2021.2.8f1 + URP 12.1.3 2) Unity 2020.3.26f1 LTS + URP 10.8 |
||||
Tags: | Unity, Unity URP | ||||
Steps To Reproduce: |
1) Download Scoreboard sample from git. 2) Open the project using Unity version mentioned in the description 3) Install URP into project using official guide (https://docs.unity3d.com/Packages/com.unity.render-pipelines.universal@13.1/manual/InstallURPIntoAProject.html) 4) Press the play button Result: UI is not rendered in play mode. |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007747)
jsantos 2022-01-19 11:31 (Last edited: 2022-01-19 11:31) |
Duplicate of 0002219 |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2219 | [NoesisGUI] Unity3D | major | always | 2021-12-27 13:56 | 2022-01-19 11:30 |
Reporter: | Phodopus | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.3 | ||
Target Version: | 3.1.3 | ||||
Platform: | macOS | ||||
Summary: | When running NoesiGUI examples with Unity 2021.2.7f under MacOS rendering artefacts occur | ||||
Description: |
When using a new URP project, only a black screen is rendered on play but I can hear sounds when I move the cursor. When using an HDRP template, random artifacts occur. |
||||
Tags: | Unity HDRP URP | ||||
Steps To Reproduce: |
Hardware: Macbook Pro M1 Max OS: macOS Monterey Version 12.1 Unity Version 2021.2.7f (apple silicon) Render: Metal 1) start a new project from Unity Hub 2) choose either 3D (URP) or 3D (HDRP) 3) install/import NoesisGUI 3.1.2 with Unity package manager 4) install Noesis Examples 5) load example (e.g. buttons) 6) play 7) rendering artifacts occur (HDRP) or the screens stays black while sounds can be heard (URP) |
||||
Additional Information: | |||||
Attached Files: |
Unity HDRP.png (570,858 bytes) 2021-12-27 13:56 https://www.noesisengine.com/bugs/file_download.php?file_id=1568&type=bug Unity URP.png (376,143 bytes) 2021-12-27 13:56 https://www.noesisengine.com/bugs/file_download.php?file_id=1569&type=bug |
||||
Notes | |
(0007701)
somebarrel 2022-01-03 05:40 (Last edited: 2022-01-03 05:55) |
Same URP issue occurs in Windows 11 with 2021.2.7f1 Hardware: Core i9-10900KF/1060 6GB OS: Windows 11 22000.376 Renderer: DX11 Exact same steps to reproduce (URP tested only) |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2241 | [NoesisGUI] Inspector | feature | N/A | 2022-01-17 12:43 | 2022-01-17 12:47 |
Reporter: | jsantos | Platform: | |||
Assigned To: | OS: | ||||
Priority: | normal | OS Version: | |||
Status: | new | Product Version: | 3.1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Inspector profiling improvements | ||||
Description: |
Right now the inspector is assuming a render thread operating in lock-step with the main thread. But or architecture allows both threads being executed independently and at different frequencies. We propose a new layout, were both threads are presented in different windows and a timeline below. Clicking on a frame of the Update or Render Window will select the box in the timeline giving a clear vision of the ordering of both threads. Also below the timeline we will display a tree-view with all profiling events that happened in that frame. See attached screenshot. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
IMG_20220114_185531.jpg (488,261 bytes) 2022-01-17 12:43 https://www.noesisengine.com/bugs/file_download.php?file_id=1576&type=bug |
||||
Notes | |
(0007739)
jsantos 2022-01-17 12:47 |
Our CPU profiler must be changed to expose callbacks for profiling events. The inspector will connect to those events from both threads. We need a way to send the current view (if inside a view) with each event. If we do this, we no longer need timings in ViewStats and we should expose a new method in IRenderer to get the stats for the last frame. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2230 | [NoesisGUI] C# SDK | feature | N/A | 2022-01-06 22:40 | 2022-01-12 13:01 |
Reporter: | stonstad | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.3 | ||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Contrast Shader Effect | ||||
Description: |
This is a feature request for a contrast shader effect! In the example below (example.png), you can see how a UI may take a sprite with alpha and increase contrast to create a shape of a sprite. A general purpose contrast and brightness shader could help create some awesome effects! |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
example.png (442,987 bytes) 2022-01-06 22:40 https://www.noesisengine.com/bugs/file_download.php?file_id=1575&type=bug |
||||
Notes | |
(0007718)
jsantos 2022-01-10 13:45 |
In Noesis 3.1, now you can create your own shaders for effect and brushes. Not sure if you tried the VideoEffect and BruishShaders examples included with he package. For now, only working in HLSL but we are working on supporting all platforms. |
(0007721)
stonstad 2022-01-10 19:21 |
Thank you. I'll take a look! |
(0007728)
jsantos 2022-01-12 13:01 |
https://www.noesisengine.com/docs/Gui.Core.ShadersTutorial.html |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2238 | [NoesisGUI] Unreal | crash | random | 2022-01-12 10:34 | 2022-01-12 10:36 |
Reporter: | sergey_sitnikov_ninjatheory | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1.2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2.0 | ||||
Platform: | Any | ||||
Summary: | NoesisTextBoxTextInputMethodContext | ||||
Description: |
It is possible that the TextBox pointer in the NoesisTextBoxTextInputMethodContext can become invalid (TextBox has been destroyed) but the context itself hasn’t been deactivated for whatever reason. That situation causes crash trying to call functions on invalid pointer. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2160 | [NoesisGUI] C++ SDK | major | always | 2021-10-26 11:14 | 2022-01-11 16:27 |
Reporter: | frochet38 | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.0 | ||
Target Version: | 3.1.2 | ||||
Platform: | Windows | ||||
Summary: | Crash when using multi-line TextBox with more than 1300 lines | ||||
Description: |
A text box with a very-long text (more than 1300 lines) will crash in Window.cpp when the user scrolls at the end of the text: in void Window::Render(double time) { ... mRenderContext->EndRender(); <-- here ... } Seems the rendercontext is corrupted. |
||||
Tags: | |||||
Steps To Reproduce: |
add a TextBox with 1300+ lines of text scroll to the end of the text |
||||
Additional Information: |
XAML extract: <TextBox Canvas.Left="-175.5" Canvas.Top="207.5" Text="{Binding Text_CGV, FallbackValue=Sample_Value_CGV}" Width="666" Height="261" RenderTransformOrigin="0.5,0.5" Foreground="Black" Background="#00000000" TextWrapping="Wrap" ScrollViewer.CanContentScroll="True" VerticalScrollBarVisibility="Visible" IsReadOnly="True" UseLayoutRounding="True" AcceptsReturn="True" AcceptsTab="True" BorderBrush="#00000000"> <TextBox.RenderTransform> <TransformGroup> <ScaleTransform/> <SkewTransform/> <RotateTransform Angle="270"/> <TranslateTransform/> </TransformGroup> </TextBox.RenderTransform> </TextBox> |
||||
Attached Files: |
Crash_Noesis_TextBox.dmp (218,309 bytes) 2021-10-26 14:16 https://www.noesisengine.com/bugs/file_download.php?file_id=1530&type=bug |
||||
Notes | |
(0007536)
frochet38 2021-10-26 11:19 |
the crash is independent of the content of the text, depends only on the number of lines displayed on the TextBox |
(0007538)
sfernandez 2021-10-26 14:04 |
Hi, I tried to reproduce the crash in NoesisGUI 3.0.12 and 3.1.1 but it is working fine for me. Could you please attach the crash dump? You should be able to generate one from Visual Studio, in the Debug menu select "Save Dump As...". Thanks for your help. |
(0007539)
frochet38 2021-10-26 14:16 |
I used a workaround to split the text in pages, so I lowered the bug priority to "major". Here is the attached minidump. |
(0007543)
sfernandez 2021-10-27 11:30 |
Looking at the crash dump it points to some code dealing with emojis, is it possible that it crashed when you were adding emojis to your text? |
(0007552)
frochet38 2021-10-30 12:41 |
It's possible (that's my customer EULA and I don't know what is the exact text) but I can also reproduce the crash with a text composed of 1500 lines of 'AAAAAAAAAAAAAA'... |
(0007556)
sfernandez 2021-11-03 13:19 |
I can't reproduce it even with 3.0.2 version, or using "AAAA..." to fill the TextBox. Can you attach a new crash dump when using the "AAA.." text? I want to verify if it is crashing in the same code. |
(0007557)
sfernandez 2021-11-03 13:19 |
Anyway, have you tried with a newer version of Noesis? 3.0.2 is quite old now. |
(0007669)
sfernandez 2021-12-10 14:22 |
This must be resolved in 3.1.X, please upgrade. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2218 | [NoesisGUI] C# SDK | major | always | 2021-12-21 22:07 | 2022-01-11 14:40 |
Reporter: | ARGeaslin | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1.3 | ||||
Platform: | Any | ||||
Summary: | WebBrowser Caching Information | ||||
Description: |
WebBrowser isn't going to the correct version of a page after closing and reopening. I suspect the device is somehow caching information that's preventing a that page from loading fresh. Previously we were calling Cef.DeleteCookies("", "") prior to navigating. I tried intentionally caching information by setting WebBrowser.CachePath and then clearing that manually, but the files in the cache were always in use and threw exceptions, even when the view containing the WebBrowser was unloaded. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007710)
hcpizzi 2022-01-04 12:41 |
If WebBrowser.CachePath is not set, all the cahed data is held in memory, which means it would be reset when the application closes. Is that the behavior you want? Or would you like to be able to just clear the cookies on demand? |
(0007725)
hcpizzi 2022-01-11 14:40 |
A new static function WebBrowser.DeleteCookies has been added. It must be called after setting WebBrowser.CachePath. It deletes the cookes for the specified URL, or all of them if the URL is empty. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2224 | [NoesisGUI] C++ SDK | major | always | 2021-12-31 14:26 | 2022-01-11 13:08 |
Reporter: | darthmaule2 | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1.3 | ||||
Platform: | Any | ||||
Summary: | WebBrowser InputText always appends | ||||
Description: | The WebBrowser's InputText API always appends. We need a way to clear the text and probably know what is already in the text box if that's possible. Let's discuss more in email. | ||||
Tags: | C# | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007723)
hcpizzi 2022-01-11 13:08 |
InsertText still only inserts text, but we've made two changes: The current text is passed with the event, so that the virtual keyboard can be prepopulated, and the text in the TextBox is selected, so that inserting the contents of the virtual keyboard will replace the contents. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2193 | [NoesisGUI] C++ SDK | tweak | always | 2021-11-17 13:16 | 2022-01-10 13:55 |
Reporter: | ext.smichalak | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.2 | ||
Target Version: | 3.1 | ||||
Platform: | Any | ||||
Summary: | Reducing memory allocation without shutting down Noesis | ||||
Description: |
As we discussed in this forum thread: https://www.noesisengine.com/forums/viewtopic.php?f=3&t=2474&p=13573#p13573, we should investigate more how we could reduce the memory allocation without fully shutting down Noesis and being able to "restart" the rest of the components, dependencies, etc. As mentioned earlier, that's the current memory allocation in our case during shutdown steps: [code] void Noesis::Shutdown() { if (gKernelState == KState::Initialized) { NS_LOG_INFO("Noesis Shutdown"); // Memory allocation: 2 721 711 bytes UnregisterPackages(); // Memory allocation: 417 177 bytes Boxing::Shutdown(); // Memory allocation: 188 512 bytes SymbolManager::Shutdown(); // Memory allocation: 0 bytes } } [/code] The above values were tested on Windows in Unreal Editor. We're looking into reducing that 2.7MB to as little as possible. |
||||
Tags: | |||||
Steps To Reproduce: | Cleaning up as much memory as possible without calling `Noesis::Shutdown()`. I used `Noesis::GetMemoryAllocation()` helper to get the above-mentioned values. | ||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007581)
jsantos 2021-11-17 16:35 |
Thanks for this, there are many small tasks to be solved with this ticket: 1. Have a separate macro for the inspector (now it is the same as NS_PROFILE) 2. The inspector should consume 0 memory if it is not enabled at runtime (we don't have ways to disabled it on Unity and Unreal, only the C++ SDK) 3. Integration API should offer a way to release all internal memory to the point after the invocation of Init 4. Analyze memory consumed by the reflection, it seems it is more than expected and find a way to free it as much as possible before shutdown. |
(0007678)
jsantos 2021-12-15 21:21 (Last edited: 2021-12-17 21:16) |
A few improvements added in r11039. These are the number I have right now (important you should at least measure this invoking UI::DisableInspector before UI::Init(), but in general you shouldn't release apps in profile configuration). Uninstalling everything from IntegrationAPI (removing providers, removing resource dictionary), before UI::Shutdown() we have: [pre] = 1.054.854 bytes = [/pre] This memory mostly belongs to [pre] = Boxing 51 Kb = = Symbols 184 Kb = = Factory 34 Kb = = Reflection 761 Kb = [/pre] Reflection + Symbols cannot be unloaded, at least without heavy modifications that we cannot apply on 3.1. Boxing and Factory could be unloaded, but probably not in 3.1 because I think we need a better API for Init and Shutdown Symbols could be optimized in general to take half that memory (we need to improve our reflection macros for Dependency Properties in C++) Reflection can be optimized also, and we are working on it, but this is not happening soon as it is a huge breaking change. |
(0007685)
ext.smichalak 2021-12-17 21:14 |
Thank you @jsantos for the work and thorough answer. Feel free to close this ticket, once we're able to get back to that topic and something is unclear, we're going to let you know. Thanks again! |
(0007719)
jsantos 2022-01-10 13:54 (Last edited: 2022-01-10 13:55) |
Closing this and leaving 0002232 as related Thank you for your feedback! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2232 | [NoesisGUI] C++ SDK | feature | always | 2022-01-10 13:52 | 2022-01-10 13:53 |
Reporter: | jsantos | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Use symbols with static strings in Dependency properties | ||||
Description: |
Right now, symbols created by dependency properties are copying the string to the internal table. For the reflection macros used in C++ we are using static symbols, the string is not copied, only the pointer. We should do the same for Dependency properties and events (and probably more things). This should save a few KB (see 0002193) |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2228 | [NoesisGUI] Unity3D | major | always | 2022-01-02 20:19 | 2022-01-05 15:47 |
Reporter: | stonstad | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.2 | ||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1.3 | ||||
Platform: | Any | ||||
Summary: | XAML Not Found Error and Unicode Characters | ||||
Description: |
XAML containing certain Unicode characters causes Noesis to throw a cryptic XAML not found 'filename' error. The actual cause is the presence of certain Unicode characters. Example 1: <TextBlock Text="Å"/> Example 2: <!-- Å --> [NOESIS/E] Assets/User Interface/UIStateMachine.xaml(27): Xaml not found 'filename' C:/Users/stons/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.1.2/Runtime/NoesisUnity.cs:357) Noesis.GUI:LoadComponent (object,string) (at C:/Users/stons/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.1.2/Runtime/API/Core/NoesisGUI.cs:322) |
||||
Tags: | |||||
Steps To Reproduce: |
Add one of the following to an XAML file: <TextBlock Text="Å"/> OR <!-- Å --> I'm using default file encoding. |
||||
Additional Information: | |||||
Attached Files: |
UIStateMachine.xaml (2,248 bytes) 2022-01-04 17:46 https://www.noesisengine.com/bugs/file_download.php?file_id=1573&type=bug Encoding.png (23,558 bytes) 2022-01-04 17:46 https://www.noesisengine.com/bugs/file_download.php?file_id=1574&type=bug |
||||
Notes | |
(0007706)
sfernandez 2022-01-03 12:21 |
I'm not able to reproduce this issue, could you attach a file that fails for you? |
(0007707)
jsantos 2022-01-03 13:28 |
Also, make sure the XAML is saved with UTF8 encoding |
(0007712)
stonstad 2022-01-04 17:46 |
Encl. associated XAML and VS encoding configuration for file. |
(0007713)
jsantos 2022-01-04 17:48 |
Changing the encoding to UTF8 should fix the issue. We are only compatible with that encoding. |
(0007714)
stonstad 2022-01-04 21:45 |
Understood. Thank you. |
(0007715)
jsantos 2022-01-05 10:31 |
Please, let us know if we can close this. Thank you! |
(0007716)
stonstad 2022-01-05 15:01 |
Yes, and thank you! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2141 | [NoesisGUI] Unity3D | major | always | 2021-10-06 20:17 | 2022-01-03 11:17 |
Reporter: | stonstad | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.2 | ||
Target Version: | 3.1.2 | ||||
Platform: | Any | ||||
Summary: | Noesis 3.1.1 Upgrade Stuck in Import Loop | ||||
Description: | Not sure if this is intended or if it will ever end. I'm on "iteration 43" 24 minutes into an asset upgrade (screenshot). Eventually I am going to kill it but I'm not sure if it is actually doing work. I doubt any kind of import process for XAML would take longer than 20 seconds. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
import.PNG (26,253 bytes) 2021-10-06 20:17 https://www.noesisengine.com/bugs/file_download.php?file_id=1511&type=bug import2.PNG (5,274 bytes) 2021-10-06 21:13 https://www.noesisengine.com/bugs/file_download.php?file_id=1512&type=bug connection.png (93,668 bytes) 2021-10-06 21:27 https://www.noesisengine.com/bugs/file_download.php?file_id=1513&type=bug N1.PNG (136,764 bytes) 2021-10-06 21:30 https://www.noesisengine.com/bugs/file_download.php?file_id=1514&type=bug N2.PNG (161,872 bytes) 2021-10-06 21:30 https://www.noesisengine.com/bugs/file_download.php?file_id=1515&type=bug N3.PNG (210,875 bytes) 2021-10-06 21:30 https://www.noesisengine.com/bugs/file_download.php?file_id=1516&type=bug N4.PNG (42,896 bytes) 2021-10-06 21:30 https://www.noesisengine.com/bugs/file_download.php?file_id=1517&type=bug SlowUnityUpgrade.diff (1,960 bytes) 2021-11-24 16:18 https://www.noesisengine.com/bugs/file_download.php?file_id=1543&type=bug a.png (21,345 bytes) 2021-12-03 18:27 https://www.noesisengine.com/bugs/file_download.php?file_id=1551&type=bug b.png (220,069 bytes) 2021-12-03 18:27 https://www.noesisengine.com/bugs/file_download.php?file_id=1552&type=bug c.png (39,147 bytes) 2021-12-03 18:27 https://www.noesisengine.com/bugs/file_download.php?file_id=1553&type=bug |
||||
Notes | |
(0007505)
stonstad 2021-10-06 21:27 |
I force quit unity and I'm continuing w/ the upgrade. New Error: I'm going through the Unity console errors generated by Noesis. First one is below. |
(0007506)
stonstad 2021-10-06 21:30 |
Next error appears to be related to the prior behavior I saw in a 3.x upgrade. It says XAML is not found, but clearly it exists and should be found, maybe. |
(0007508)
sfernandez 2021-10-08 11:16 |
Hi, we fixed several things regarding upgrade in 3.1.1 but it seems there are still more issues. Would it be possible to get a copy of your project before upgrading, so we can debug what is happening during the upgrade process? |
(0007509)
sfernandez 2021-10-08 11:18 |
And just as a confirmation, I guess you are installing NoesisGUI 3.1.1 using the Package Manager with our plugin unzipped outside your project Assets/ folder, right? |
(0007511)
stonstad 2021-10-08 18:43 |
> And just as a confirmation, I guess you are installing NoesisGUI 3.1.1 using the Package Manager with our plugin unzipped outside your project Assets/ folder, right? Yes, I did it correctly this time around. > Would it be possible to get a copy of your project before upgrading, so we can debug what is happening during the upgrade process? Yes. I made a mistake rolling back changes and I'm pulling down my game repository (100+GB) from GitHub and it going to take a long time... After it completes I'll see if I can provide a version that is the game with just XAML and image assets + scripts. Not sure what that would look like yet in terms of size. |
(0007573)
sfernandez 2021-11-16 13:12 |
Hello, would still be possible to get a copy of your project before the upgrade to analyze this problem? |
(0007578)
stonstad 2021-11-17 00:12 (Last edited: 2021-11-17 22:27) |
Yes, thank you for reaching out. I will work to upload a project. |
(0007587)
sfernandez 2021-11-18 10:11 |
Thanks a lot for the project, we will investigate what is happening to fix it as soon as possible. |
(0007607)
sfernandez 2021-11-24 16:17 |
Hi, I've been testing the upgrade with your project and detected a few issues that were invalidating the same items many times, causing the process to take a lot of time to finish. I managed to fix those problems, could you please test it yourself with the attached patch (changes only affect the scripts included in the Unity plugin). |
(0007646)
stonstad 2021-12-03 16:15 |
Hey Sergio -- I am circling back to this problem. Do you know if this fix is likely to address the issue of XAML files not being found by GUI.LoadComponent("path")? |
(0007647)
sfernandez 2021-12-03 16:23 |
The fix is only related to the upgrade process taking forever to finish. The problem with xaml files not found it is more likely to be xamls that are being loaded in code and not referenced by the scene, so they are not available in the XamlProvider. Are you instantiating UserControls in code? |
(0007648)
stonstad 2021-12-03 18:27 |
I'm instantiating user controls in code while making sure to forward declare an XAML dependency. With 3.1.x it seems like I received a large number of 'XAML not found' errors, when in fact the file path is correct. If pathing doesn't change between 3.0.x and 3.1.x, why would I get these errors? Yesterday, I started getting the same behavior in 3.0.x, which is new for me. (screenshot below). You can see the XAML declaration, and the associated error message. What is perplexing is that if I manually reimport the asset it works until the next time Unity restarts. I am posting screenshots of pathing so that I can double-check. Maybe it is a path length issue. |
(0007649)
stonstad 2021-12-03 18:31 (Last edited: 2021-12-03 18:33) |
It is easy to misspell 'Communications' but if it is misspelled I am just not seeing it. To test pathing and rule out spelling I copied each path shown above and pasted them into the explorer to open the associated XAML file while navigated at the root folder of the project -- it works each time. The complete file path length (C:\Users\stons\Source\StellarConquest\StellarConquest.Presentation.Unity\Assets\User Interface\Screens\Game\Overlay\Communications\CommunicationsControl.xaml.meta) is 163 characters. I guess we can rule that out. |
(0007650)
stonstad 2021-12-03 18:37 (Last edited: 2021-12-03 18:44) |
OK, when I reimported the single control, this time Noesis dumped runtime (not compile time) exceptions to the window caused by bad runtime logic. The logic is not invariant -- and fails on XAML preview. So I think my reproduction workflow is something like this: 1) A user control exists in a working state. 2) I introduce a code change which messes up compilation or runtime logic during preview. 3) A code change kicks off reimport of the user control, but the bug associated with #2 is hit 4) The XAML for the user control cannot be found, due to #2. 5) It fails silently and I am hunting down unrelated pathing issues. 6) Lastly, if I manually reimport the error is shown, and I can fix it OR the error only occurs in preview, in which case I am required to reimport the control. Lastly, in 3.1.x, maybe more of my controls are failing during the preview stage, and that is why I had so many XAML not found errors. Note that all of the above is on 3.0.x, not 3.1.x. I am commenting on a behavior that I see in both 3.0.x and 3.1.x. Update: the bad logic was when I called _Root.FindName("name") with an invalid name. This happens easily due to refactoring or changes in XAML. It is something of an error prone workflow and I think the take away here is that a failed preview or incremental import -- whatever it is -- should not prevent the XAML from generating. Or if generation previously failed, it should continue to report that XAML cannot be generated. |
(0007660)
sfernandez 2021-12-07 17:31 |
I think we should close this ticket about the import process. And regarding the "XAML not found" issue, could you create a new ticket for that? If you can provide reproduction steps in 3.1 version it would be better, becasue the code changed a lot from 3.0 and the import process is not the same. |
(0007697)
stonstad 2022-01-02 18:08 |
Specific to this issue, I can confirm the upgrade from 3.0.x to 3.1.2 worked smoothly. All XAML controls were properly upgraded and the XAML not found behavior is resolved. Thank you! |
(0007704)
sfernandez 2022-01-03 11:17 |
Glad to hear! thanks for the update. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2226 | [NoesisGUI] Unity3D | minor | always | 2021-12-31 21:37 | 2022-01-02 20:02 |
Reporter: | stonstad | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.2 | ||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Noesis 3.1.2 Behavior | ||||
Description: |
I'm seeing new behavior in UIs which use code to assign X/Y positioning of elements within a canvas. I'm trying to understand what might be different in Noesis 3.1.x. It could be a user error on my part that is somehow manifest in Noesis 3.1.x. - Did viewbox functionality change, or is there new scaling behavior? - Did the behavior of FrameworkElement.LayoutTransform or FrameworkElement.RenderTransform change? - Did behavior of ScaleTransform change? - Does the NoesisPostprocessor import process behave differently than the prior importer, re: image centralization or transparent pixels? - Did handling of negative margin values change? I'll keep testing to see if I can identify a cause on my end. Thanks, Shaun |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
example.png (442,987 bytes) 2021-12-31 21:37 https://www.noesisengine.com/bugs/file_download.php?file_id=1571&type=bug |
||||
Notes | |
(0007693)
stonstad 2021-12-31 22:00 (Last edited: 2022-01-02 18:05) |
OK, disabling Noesis code (NoesisView 1349, _uiView.SetScale...) reverts behavior back to 3.0.x. What is the correct approach for disabling automatic scaling? Separately, this raises other questions that I could not find answers to in documentation. - How do I read the current scale factor used by the UI? - Does the scale factor update dynamically when device scaling also changes (i.e. resolution change)? - Do I have the ability to override this automatic scaling behavior via API, i.e. if I allow the end user to configure scaling behavior? - Can this scaling behavior be disabled or is modification of Noesis source code the best approach? Thanks, Shaun |
(0007700)
jsantos 2022-01-02 20:02 (Last edited: 2022-01-02 20:02) |
Hi Shaun, as this is not a bug can we move this to the forums to continue the discussion? If there is something specific to be solved, then let's create a ticket. Thank you! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2197 | [NoesisGUI] Unity3D | crash | random | 2021-11-19 18:25 | 2022-01-02 19:30 |
Reporter: | stonstad | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.12 | ||
Product Build: | Resolution: | unable to reproduce | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1.3 | ||||
Platform: | Any | ||||
Summary: | Runtime Crash on KeyEventArgs_IsToggled | ||||
Description: |
Runtime crash occurred while playing game via editor. Stack Trace: Received signal SIGSEGV Obtained 110 stack frames 0x00007ffffa7388b8 (Noesis) KeyEventArgs_IsToggled_get 0x00007ffffa737977 (Noesis) QueryContinueDragEventArgs_GetKeyStatesHelper 0x00007ffffa7457b5 (Noesis) BaseComponent_GetStaticType 0x00007ffffa737699 (Noesis) QueryContinueDragEventArgs_GetKeyStatesHelper 0x00007ffffa738531 (Noesis) KeyEventArgs_IsToggled_get 0x00007ffffa772046 (Noesis) DependencyProperty_GetOwnerTypeHelper 0x00007ffffa77231d (Noesis) DependencyProperty_GetOwnerTypeHelper 0x00007ffffa7b3113 (Noesis) Color_GetStaticType 0x00007ffffa81aaf3 (Noesis) ItemsControl_ContainerFromElement__SWIG_0 0x00007ffffa7c4fad (Noesis) Noesis_GetPlatformID 0x00007ffffa7b3113 (Noesis) Color_GetStaticType 0x00007ffffa77e737 (Noesis) DependencyProperty_GetOwnerTypeHelper 0x00007ffffa7b3113 (Noesis) Color_GetStaticType 0x00007ffffa81aaf3 (Noesis) ItemsControl_ContainerFromElement__SWIG_0 0x00007ffffa7c4fad (Noesis) Noesis_GetPlatformID 0x00007ffffa7b3113 (Noesis) Color_GetStaticType 0x00007ffffa7bb542 (Noesis) BindingOperations_SetBinding 0x00007ffffa7b17ab (Noesis) Color_GetStaticType 0x00007ffffa7b65a4 (Noesis) BindingOperations_GetBindingExpression 0x00007ffffa89d484 (Noesis) SizeChangedInfo_WidthChanged_get 0x00007ffffa8bf149 (Noesis) Boxed_VirtualizationCacheLength_GetStaticType 0x00007ffffa8bf24f (Noesis) Boxed_VirtualizationCacheLength_GetStaticType 0x00007ffffa7b67ce (Noesis) BindingOperations_GetBindingExpression 0x00007ffffa89d484 (Noesis) SizeChangedInfo_WidthChanged_get 0x00007ffffa7b6a36 (Noesis) BindingOperations_GetBindingExpression 0x00007ffffa852e51 (Noesis) DragEventArgs_SetEffectsHelper 0x00007ffffa7b67ce (Noesis) BindingOperations_GetBindingExpression 0x00007ffffa89d484 (Noesis) SizeChangedInfo_WidthChanged_get 0x00007ffffa7c75e9 (Noesis) Noesis_GetPlatformID 0x00007ffffa7c6490 (Noesis) Noesis_GetPlatformID 0x00007ffffa7c775a (Noesis) Noesis_GetPlatformID 0x00007ffffa7b67ce (Noesis) BindingOperations_GetBindingExpression 0x00007ffffa89d484 (Noesis) SizeChangedInfo_WidthChanged_get 0x00007ffffa759126 (Noesis) Uri_GetStaticType 0x00007ffffa7b67ce (Noesis) BindingOperations_GetBindingExpression 0x00007ffffa89d484 (Noesis) SizeChangedInfo_WidthChanged_get 0x00007ffffa8569f0 (Noesis) DragEventArgs_SetEffectsHelper 0x00007ffffa7b67ce (Noesis) BindingOperations_GetBindingExpression 0x00007ffffa89d484 (Noesis) SizeChangedInfo_WidthChanged_get 0x00007ffffa7b6a36 (Noesis) BindingOperations_GetBindingExpression 0x00007ffffa7b67ce (Noesis) BindingOperations_GetBindingExpression 0x00007ffffa89d484 (Noesis) SizeChangedInfo_WidthChanged_get 0x00007ffffa7c75e9 (Noesis) Noesis_GetPlatformID 0x00007ffffa7c6490 (Noesis) Noesis_GetPlatformID 0x00007ffffa7c775a (Noesis) Noesis_GetPlatformID 0x00007ffffa7b67ce (Noesis) BindingOperations_GetBindingExpression 0x00007ffffa89d484 (Noesis) SizeChangedInfo_WidthChanged_get 0x00007ffffa7b6a36 (Noesis) BindingOperations_GetBindingExpression 0x00007ffffa7b67ce (Noesis) BindingOperations_GetBindingExpression 0x00007ffffa89d484 (Noesis) SizeChangedInfo_WidthChanged_get 0x00007ffffa7c75e9 (Noesis) Noesis_GetPlatformID 0x00007ffffa7c642a (Noesis) Noesis_GetPlatformID 0x00007ffffa7c775a (Noesis) Noesis_GetPlatformID 0x00007ffffa7b67ce (Noesis) BindingOperations_GetBindingExpression 0x00007ffffa89d484 (Noesis) SizeChangedInfo_WidthChanged_get 0x00007ffffa7c879e (Noesis) Noesis_GetPlatformID 0x00007ffffa7c77a9 (Noesis) Noesis_GetPlatformID 0x00007ffffa7b67ce (Noesis) BindingOperations_GetBindingExpression 0x00007ffffa89d484 (Noesis) SizeChangedInfo_WidthChanged_get 0x00007ffffa7b6a36 (Noesis) BindingOperations_GetBindingExpression 0x00007ffffa7b67ce (Noesis) BindingOperations_GetBindingExpression 0x00007ffffa89d484 (Noesis) SizeChangedInfo_WidthChanged_get 0x00007ffffa759126 (Noesis) Uri_GetStaticType 0x00007ffffa7b67ce (Noesis) BindingOperations_GetBindingExpression 0x00007ffffa89d484 (Noesis) SizeChangedInfo_WidthChanged_get 0x00007ffffa7b6a36 (Noesis) BindingOperations_GetBindingExpression 0x00007ffffa930bc6 (Noesis) ManipulationCompletedEventArgs_FinalVelocities_get 0x0000022d184a8960 (Mono JIT Code) (wrapper managed-to-native) object:wrapper_native_00007FFFFA930BB0 (System.Runtime.InteropServices.HandleRef,Noesis.Size&,Noesis.Size&) 0x0000022d184a9fff (Mono JIT Code) (wrapper delegate-invoke) <Module>:invoke_void_HandleRef_Size&_Size& (System.Runtime.InteropServices.HandleRef,Noesis.Size&,Noesis.Size&) 0x0000022d184a9404 (Mono JIT Code) [FrameworkElementExtend.cs:45] Noesis.FrameworkElement:MeasureOverride (Noesis.Size) 0x0000022d184a9158 (Mono JIT Code) [FrameworkElementExtend.cs:89] Noesis.FrameworkElement:CallMeasureOverride (Noesis.Size,Noesis.FrameworkElement/MeasureBaseCallback) 0x0000022d184a8d03 (Mono JIT Code) [Extend.cs:1974] Noesis.Extend:FrameworkElementMeasure (intptr,Noesis.Size&,Noesis.Size&,Noesis.FrameworkElement/MeasureBaseCallback) 0x0000022d177df083 (Mono JIT Code) (wrapper native-to-managed) Noesis.Extend:FrameworkElementMeasure (intptr,Noesis.Size&,Noesis.Size&,Noesis.FrameworkElement/MeasureBaseCallback) 0x00007ffffa9236c3 (Noesis) UnbindEvent_Clock_Completed 0x00007ffffa94379b (Noesis) ManipulationCompletedEventArgs_FinalVelocities_get 0x00007ffffa7b67ce (Noesis) BindingOperations_GetBindingExpression 0x00007ffffa89d484 (Noesis) SizeChangedInfo_WidthChanged_get 0x00007ffffa7c879e (Noesis) Noesis_GetPlatformID 0x00007ffffa7c77a9 (Noesis) Noesis_GetPlatformID 0x00007ffffa7b67ce (Noesis) BindingOperations_GetBindingExpression 0x00007ffffa89d484 (Noesis) SizeChangedInfo_WidthChanged_get 0x00007ffffa8a6cd1 (Noesis) ContentControl_Content_get 0x00007ffffa8a6aab (Noesis) ContentControl_Content_get 0x00007ffffa8a5250 (Noesis) ContentControl_Content_get 0x00007ffffa8a513a (Noesis) ContentControl_Content_get 0x0000022d184d942d (Mono JIT Code) (wrapper managed-to-native) Noesis.View:Noesis_View_Update (System.Runtime.InteropServices.HandleRef,double) 0x0000022d184c9bc3 (Mono JIT Code) [View.cs:333] Noesis.View:Update (double) 0x0000022d184a63ab (Mono JIT Code) [NoesisView.cs:910] NoesisView:ExternalUpdateInternal () 0x0000022d184a546b (Mono JIT Code) [NoesisView.cs:880] NoesisView:LateUpdate () 0x0000022d18078ac8 (Mono JIT Code) (wrapper runtime-invoke) object:runtime_invoke_void__this__ (object,intptr,intptr,intptr) 0x00007fffd9d7e034 (mono-2.0-bdwgc) [mini-runtime.c:3445] mono_jit_runtime_invoke 0x00007fffd9cbe724 (mono-2.0-bdwgc) [object.c:3064] do_runtime_invoke 0x00007fffd9cbe8bc (mono-2.0-bdwgc) [object.c:3111] mono_runtime_invoke 0x00007ff69b03bda4 (Unity) scripting_method_invoke 0x00007ff69b036a24 (Unity) ScriptingInvocation::Invoke 0x00007ff69b004464 (Unity) MonoBehaviour::CallMethodIfAvailable 0x00007ff69b00456c (Unity) MonoBehaviour::CallUpdateMethod 0x00007ff69ab0a8d8 (Unity) BaseBehaviourManager::CommonUpdate<LateBehaviourManager> 0x00007ff69ab11d2a (Unity) LateBehaviourManager::Update 0x00007ff69ad1f17d (Unity) `InitPlayerLoopCallbacks'::`2'::PreLateUpdateScriptRunBehaviourLateUpdateRegistrator::Forward 0x00007ff69ad0604c (Unity) ExecutePlayerLoop 0x00007ff69ad06123 (Unity) ExecutePlayerLoop 0x00007ff69ad0bd39 (Unity) PlayerLoop 0x00007ff69bc31a48 (Unity) PlayerLoopController::UpdateScene 0x00007ff69bc2fc97 (Unity) Application::TickTimer 0x00007ff69c06a13a (Unity) MainMessageLoop 0x00007ff69c06e95b (Unity) WinMain 0x00007ff69d37d602 (Unity) __scrt_common_main_seh 0x00007ff8c18454e0 (KERNEL32) BaseThreadInitThunk 0x00007ff8c286485b (ntdll) RtlUserThreadStart Encl. logs and dump. |
||||
Tags: | |||||
Steps To Reproduce: | TBD. This is the first time I have seen a crash at this stack location. | ||||
Additional Information: | |||||
Attached Files: |
Crash_2021-11-19_172103638.zip (1,653,607 bytes) 2021-11-19 18:25 https://www.noesisengine.com/bugs/file_download.php?file_id=1539&type=bug Noesis.dll (4,571,136 bytes) 2021-11-22 16:17 https://www.noesisengine.com/bugs/file_download.php?file_id=1542&type=bug |
||||
Notes | |
(0007595)
sfernandez 2021-11-22 11:49 |
Are you using the official 3.0.12 libraries, or this happened using a patched library we provided? Do you recall which one? |
(0007596)
stonstad 2021-11-22 14:26 |
Patched, I believe. I will attach the DLL when I am in the office. |
(0007667)
sfernandez 2021-12-10 13:53 |
This is related to deleted textures (its native pointer), something we thought it was fixed: 0001871 Do you have a way to reproduce this now that we have your project to test it? |
(0007675)
jsantos 2021-12-15 16:45 (Last edited: 2021-12-15 16:46) |
Hi stonstad, 3.1.2 is almost ready. If you could indicate a way to reproduce this I think this will be included in the pre xmas release :) |
(0007696)
stonstad 2022-01-02 18:07 |
I don't have a way to easily reproduce this behavior -- it appears randomly , unfortunately. I have migrated to 3.1.2. |
(0007698)
jsantos 2022-01-02 19:30 |
Thank you, I am going to close this, please reopen or create a new ticket if you find the issue again. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2215 | [NoesisGUI] C# SDK | major | always | 2021-12-16 17:43 | 2021-12-21 13:08 |
Reporter: | ARGeaslin | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.2 | ||
Target Version: | 3.1.3 | ||||
Platform: | Windows | ||||
Summary: | WebBrowser v1.0.6 VKB | ||||
Description: | There is no way at the moment to inject a value from the virtual keyboard into the focused web element of the web browser. | ||||
Tags: | |||||
Steps To Reproduce: |
- Navigate to a webpage with a text box, click to start entering text - WebBrowser_VirtualKeyboardRequested fires as expected Nothing in WebBrowser or VirtualKeyboardRequestedEventArgs gives a place to inject the string taken from our virtual keyboard |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007691)
hcpizzi 2021-12-21 13:08 |
I've added a function public void InputText(string text) to WebBrowser. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2210 | [NoesisGUI] C++ SDK | minor | always | 2021-12-06 14:39 | 2021-12-20 21:27 |
Reporter: | asusralis | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.2 | ||
Target Version: | 3.1.2 | ||||
Platform: | Any | ||||
Summary: | Hot reloading a control, losing focus of Unity, and going back into Unity reimports files again and breaks the UI | ||||
Description: | Hot reloading works, but once I tab out and back into Unity, importing will happen again. This will always make my UI disappear, making hot reloading unusable for some controls. This does not happen with all controls. | ||||
Tags: | |||||
Steps To Reproduce: |
https://files.catbox.moe/45oh9s.mp4 Once I do the hot reload I then tab out and back into unity, triggering another import. |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007674)
asusralis 2021-12-15 04:49 |
Is there any info on this? It actually gets really bad in larger projects. Changing a single value in an XAML forces the import for 10 - 15 files, and then losing and gaining focus of Unity does this again. This exactly project had none of these issues in 2.x. https://files.catbox.moe/378irf.mp4 |
(0007680)
sfernandez 2021-12-16 12:05 |
Hi, we are currently studying this problem as we still have access to your project. The first thing I noticed is that you have a folder named Unused with lots of xamls that are giving errors, and from the name of the folder it seems to me those are old files, couldn't you take them outside Assets to avoid getting undesired error messages? Regarding the modification of CustomViews.xaml that triggers the import of the rest of xamls, that is happening because that xaml is a dependency of your ApplicationResources (Resources.xaml), and whenever that xaml gets reimported, all xamls need to be reimported as it is a dependency of all of them. The imports occurring after you regain focus on Unity is because Unity processes the import of dependencies in background processes when it determines it is appropriate. Anyway, we'll investigate the hot-reloading of xamls after the reimport because we should be able to restore the state of the game without breaking things. |
(0007681)
sfernandez 2021-12-17 14:18 |
We fixed a problem with hot-reloading initializing elements before setting its properties. Apart from that your game logic is adding elements in code that get destroyed when xaml is reloaded. For example, your MainGameBehavior is adding the MainMenu to the View on Start. You can hook to the Reloaded event there to add the menu again: if (MainView?.Content != null) { MainView.Content.Reloaded += (s, e) => { FrameManager.Get("Main").Push("MainMenu", new NavParams(hasAnimation: false, canBack: false)); }; } And those dynamic elements added to the NavFrame, when that control gets reloaded will also be removed them from the "ContentRoot" grid because it gets filled with the "Overlay" button defined in the xaml. Wouldn't be better in that control to add the dynamic elements to a sibling of the "Overlay" button, something like this: <Grid> <Button x:Name="Overlay" Click="Overlay_Click" Visibility="Collapsed"> <Button.Style> <Style BasedOn="{StaticResource {x:Type Button}}" TargetType="Button"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="Button"> <Grid Background="{TemplateBinding Background}" /> </ControlTemplate> </Setter.Value> </Setter> </Style> </Button.Style> <Button.Background> <SolidColorBrush Opacity=".4" Color="Black" /> </Button.Background> </Button> <Grid x:Name="ContentRoot"/> </Grid> This way you don't even need to change the ZIndex of the Overlay button because the dynamic elements will always be added on top. |
(0007682)
jsantos 2021-12-17 15:17 |
One of the things we have new in 3.X is that when the Application resources is modified (or any of its dependencies) *ALL* xamls are reimported (to get errors and thumbnails). I don't know if we should consider having a way to disable this... |
(0007683)
asusralis 2021-12-17 15:20 |
Sorry, I wasn't sure how to reply without reopening this ticket. Thanks for the help! I didn't know about Reloaded, I will try to implement this for NavFrame to automatically recreate the page stack. About the overlay, it is possible for some pages to behind the overlay. For example, if there are three pages and the top page has an overlay, the overlay would have to be between the second and third page. This is why I found it easier to set the ZIndex in the code behind. If this doesn't relate to what you were suggesting, can you explain how your example would be different? Thanks again! |
(0007684)
jsantos 2021-12-17 15:46 |
We are measuring times again, probably reloading all XAMLs when the global dictionary changes was not a good idea... |
(0007690)
jsantos 2021-12-20 21:27 |
Reloading of Xamls, including dependencies from Application resources should be now much faster. Thanks for your feedback. Please, let us know about all issues you find with hot-reloading. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2217 | [NoesisGUI] C++ SDK | major | always | 2021-12-18 22:03 | 2021-12-20 19:49 |
Reporter: | mdube | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.2 | ||
Target Version: | 3.1.2 | ||||
Platform: | Any | ||||
Summary: | Rendering artifacts after tabbing in tab controls | ||||
Description: |
Code that was working fine with 3.0.10 is now showing icons all over the place when toggling tabs with 3.1.1 I'm able to reproduce a variant in the xamltoy, please see attached files. |
||||
Tags: | |||||
Steps To Reproduce: | Run the attached code (xamltoy.xaml) in XamlToy, click on the tabs (numbered 1 and 2) in the attached screenshot. After toggling a few times, incorrectly sized and positioned icons will show in the red circled areas from the same screenshot. | ||||
Additional Information: | |||||
Attached Files: |
xamltoy.xaml (426,500 bytes) 2021-12-18 22:03 https://www.noesisengine.com/bugs/file_download.php?file_id=1566&type=bug Screenshot 2021-12-18 160011.png (612,888 bytes) 2021-12-18 22:03 https://www.noesisengine.com/bugs/file_download.php?file_id=1567&type=bug |
||||
Notes | |
(0007689)
sfernandez 2021-12-20 19:49 |
There was a problem with Path geometry transforms we introduced in 3.1 version, we fixed it for the following release. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2128 | [NoesisGUI] C++ SDK | feature | N/A | 2021-09-23 12:32 | 2021-12-19 13:07 |
Reporter: | Ryan | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.2 | ||
Target Version: | 3.1.2 | ||||
Platform: | Any | ||||
Summary: | Video support on PlayStation | ||||
Description: |
I would like to have video support on PS4 and Switch. Could you please figure out when we can have this feature on those platform? Thanks, Ryan |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007671)
jsantos 2021-12-10 14:55 |
I created a related ticket for Switch (targeting 3.1.3) as we already finished the implementation of video for PS4 for the version we are going to release next week. |
(0007686)
jsantos 2021-12-19 13:07 |
PlayStation 4 and PlayStation 5 implemented |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2173 | [NoesisGUI] C# SDK | major | always | 2021-10-29 04:04 | 2021-12-16 12:29 |
Reporter: | DavidYawCSpeed | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.2 | ||
Target Version: | 3.1.3 | ||||
Platform: | Linux | ||||
Summary: | MediaPlayer: Unable to detect corrupt/invalid files | ||||
Description: |
When a corrupt file is loaded, the MediaFailed event is not fired. MediaOpened is fired instead. I think that after setting the Source of a MediaElement, it should be a hard requirement that either MediaOpened or MediaFailed events be fired (this might already be the case). Also, detecting files that cannot be handled should be enhanced, and MediaOpened should only be raised if successfully read and it contains valid data. |
||||
Tags: | |||||
Steps To Reproduce: |
I did my testing with a zero-byte file. ("touch empty.mp4".) When I attempt to play it back, here's the result I get. Note that this is a mix of the Noesis logger, my logger (I'm logging all the events that MediaElement raises), and raw console output from 'mp'. Also note that MediaOpened event is raised, but MediaFailed is not. 2021-10-27 17:00:21.2142|TRACE|VideoPlaybackViewModel|MediaElementInitialized() 2021-10-27 17:00:21.2557|TRACE|VideoPlaybackViewModel|Initialize(empty.mp4) <--- This method sets MediaElement.Source 2021-10-27 17:00:21.2845|TRACE|VideoPlaybackViewModel|MediaElementHasLoaded() <--- This method calls my Play() method. 2021-10-27 17:00:21.2893|TRACE|VideoPlaybackViewModel|Play() <-- This method calls MediaElement.Play. 2021-10-27 17:00:21.3167|INFO|Noesis|'media/Internal/empty.mp4' loaded (mp:10719): GLib-GObject-CRITICAL **: 17:00:21.419: g_object_set: assertion 'G_IS_OBJECT (object)' failed (mp:10719): GLib-GObject-WARNING **: 17:00:21.421: invalid (NULL) pointer instance (mp:10719): GLib-GObject-CRITICAL **: 17:00:21.421: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed (mp:10719): GLib-GObject-WARNING **: 17:00:21.421: invalid (NULL) pointer instance (mp:10719): GLib-GObject-CRITICAL **: 17:00:21.421: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed (mp:10719): GStreamer-CRITICAL **: 17:00:21.421: gst_object_unref: assertion 'object != NULL' failed (mp:10719): GStreamer-CRITICAL **: 17:00:21.421: gst_pad_get_current_caps: assertion 'GST_IS_PAD (pad)' failed (mp:10719): GStreamer-CRITICAL **: 17:00:21.421: gst_object_unref: assertion 'object != NULL' failed 2021-10-27 17:00:21.4732|TRACE|VideoPlaybackViewModel|MediaElement_MediaOpened() ERROR Stream contains no data. ERROR debug information: ../../../git/plugins/elements/gsttypefindelement.c(1132): gst_type_find_element_loop (): /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstTypeFindElement:typefind: Can't typefind empty stream |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2035 | [NoesisGUI] C++ SDK | minor | have not tried | 2021-05-25 12:44 | 2021-12-16 01:09 |
Reporter: | jsantos | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0 | ||
Product Build: | Resolution: | unable to reproduce | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.2 | ||
Target Version: | 3.1.2 | ||||
Platform: | Any | ||||
Summary: | WindowState Maximized not working | ||||
Description: |
In the Application Framework for Windows there is the problem that a window that should be maximised at startup (WindowState=Maximized) is not correctly displayed maximized. If you maximize it later (e.g. due to an event) it works correctly. I have already checked the code, but could not find the error quickly. https://www.noesisengine.com/forums/viewtopic.php?f=3&t=2318 |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007679)
jsantos 2021-12-16 01:08 |
At least in 3.1.2, I am not able to reproduce this in, for example, the HelloWorld sample. This must have fixed, please reopen if necessary. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2201 | [NoesisGUI] C++ SDK | crash | always | 2021-11-28 09:43 | 2021-12-15 19:53 |
Reporter: | asusralis | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.2 | ||
Target Version: | 3.1.2 | ||||
Platform: | Any | ||||
Summary: | Crash when applying style to custom control. | ||||
Description: | Unity will crash once the editor imports everything - it doesn't need to use the control in-game. Removing ApplyTemplate() will avoid crashes after importing but will crash when showing the control (I'm pretty sure at least...?). I'm kind of getting random crashes everywhere while using this control. | ||||
Tags: | |||||
Steps To Reproduce: |
public class ExpeditionMap : Control { public ExpeditionMap() { Loaded += (s, e) => { ApplyTemplate(); }; DataContextChanged += (s, e) => { }; } static ExpeditionMap() { DefaultStyleKeyProperty.OverrideMetadata(typeof(ExpeditionMap), new FrameworkPropertyMetadata(typeof(ExpeditionMap))); } } <Style TargetType="local:ExpeditionMap"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="local:ExpeditionMap"> <Grid> <TextBlock Text="Hello!" /> </Grid> </ControlTemplate> </Setter.Value> </Setter> </Style> |
||||
Additional Information: | |||||
Attached Files: |
Crash_2021-11-28_083712163.7z (377,343 bytes) 2021-11-28 09:43 https://www.noesisengine.com/bugs/file_download.php?file_id=1548&type=bug |
||||
Notes | |
(0007676)
sfernandez 2021-12-15 18:05 |
Hi, I see in the log the following error message while trying to run the static constructor for Shelter.Views.ExpeditionMap.:[NOESIS/E] DependencyProperty 'NodeStyle' already registered to type 'Shelter.Views.LocationView' Can you verify that the call to DependencyProperty.Register() has all the parameters fine? It seems that you are using typeof(LocationView) as owner instead of typeof(ExpeditionMap). Anyway, I'll check our code to see why it is crashing when trying to register a duplicate property. |
(0007677)
sfernandez 2021-12-15 19:53 |
I was able to reproduce the crash by defining 2 dependency properties with the same string name. It will be fixed for the next release. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2212 | [NoesisGUI] C# SDK | crash | always | 2021-12-07 18:27 | 2021-12-15 11:47 |
Reporter: | ttermeer-rcg | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.2 | ||
Target Version: | 3.1.2 | ||||
Platform: | Any | ||||
Summary: | Extending GridViewColumnHeader cause Unity to crash | ||||
Description: | When using a custom class for GridViewColumnHeader, Unity Editor crashes when the screen using the custom GridViewColumnHeader is displayed. | ||||
Tags: | C#, Unity | ||||
Steps To Reproduce: |
* Create a new class that extends GridViewColumnHeader * Use it inside a Grid View |
||||
Additional Information: | |||||
Attached Files: |
Editor.log (47,487 bytes) 2021-12-07 18:27 https://www.noesisengine.com/bugs/file_download.php?file_id=1560&type=bug crash.dmp (1,062,958 bytes) 2021-12-07 18:27 https://www.noesisengine.com/bugs/file_download.php?file_id=1561&type=bug SampleProject.zip (45,468 bytes) 2021-12-07 18:27 https://www.noesisengine.com/bugs/file_download.php?file_id=1562&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2213 | [NoesisGUI] Unreal | feature | always | 2021-12-09 10:44 | 2021-12-14 13:31 |
Reporter: | sergey_sitnikov_ninjatheory | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.2 | ||
Target Version: | 3.1.2 | ||||
Platform: | Any | ||||
Summary: | No way to call RaiseCanExecuteChanged for wrapped commands in UE4 | ||||
Description: | It seems, there is no obvious way to get a NoesisFunctionWrapper for a MVVM command and call RaiseCanExecuteChanged for it. | ||||
Tags: | C++, UE4 | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007673)
hcpizzi 2021-12-14 13:31 |
Two native functions have been added: NOESISRUNTIME_API void NoesisNotifyCanExecuteFunctionChanged(class UObject*, FName); NOESISRUNTIME_API void NoesisNotifyCanExecuteFunctionChanged(class UObject*, class UFunction*); It's also been exposed for Blueprints in NoesisFunctionLibrary as: void NotifyCanExecuteFunctionChanged(UObject* Owner, FName FunctionName); The functions get the wrapper for the command and invoke RaiseCanExecuteChanged. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2147 | [NoesisGUI] C# SDK | crash | always | 2021-10-13 10:50 | 2021-12-10 15:16 |
Reporter: | relife87 | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.2 | ||
Target Version: | 3.1.2 | ||||
Platform: | Any | ||||
Summary: | Unable to start .NET 5 app in linux (XDisplay) | ||||
Description: |
From forum post https://www.noesisengine.com/forums/viewtopic.php?f=3&t=2446 |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
2021-10-14 025315.jpg (124,480 bytes) 2021-10-14 01:53 https://www.noesisengine.com/bugs/file_download.php?file_id=1518&type=bug |
||||
Notes | |
(0007512)
hcpizzi 2021-10-13 11:09 |
Sorry, just to clarify a few points: - You're using WSL, right? Is it WSL 1 or 2? - You can run other GUI applications on WSL. - Which Linux distribution are you using? Thanks |
(0007513)
relife87 2021-10-13 17:32 (Last edited: 2021-10-13 18:31) |
- version 2 - yes, i'm configured Xming and check this on default x11 programs - xcalc, xclock and firefox - Ubuntu 20.04.3 LTS (GNU/Linux 5.10.16.3-microsoft-standard-WSL2 x86_64) message in forum contains two problems, - XDisplay return zero if you not change parameter XOpenDisplay(null); to content output from $DISPLAY variable from console command - library .dll not correct working call on linux please say me if second problem need created to another thread - this critical for my project, i'm cannot testing application Thanks |
(0007514)
hcpizzi 2021-10-13 23:17 |
Another question: Are you able to run OpenGL applications, such as glxgears? |
(0007515)
relife87 2021-10-14 01:53 (Last edited: 2021-10-14 02:01) |
yes.... may-be i'm run app from VS 2022 (target WSL for debug) and this make problem display cannot auto identity x11, i'm tryed first run application from Virtual Box VM on Ubuntu, but after crash without exception - using debug with WSL from VS 2022 |
(0007516)
hcpizzi 2021-10-14 16:57 (Last edited: 2021-10-14 16:59) |
I've been able to run our samples using WSL2 and our 3.1.1 NuGet packages. However, even though it worked for me, I've made two changes that will be part of the next release: - We were passing "" as an argument to XOpenDisplay. I've changed the parameter to null. When a null pointer is passed to XOpendDisplay it uses the value of the DISPLAY environment variable. It is working for me using "", but the new code is more correct. - I've made changes to the OpenGL/GLX/X11 DllImports to explicitly state the version of the so, so that you don't need libGLX.so, just libGLX.so.0 and so on. I could get around this by creating the symlinks, but it's more correct this way. I didn't see any problems with Noesis_GetCurrentThreadId. The version of libNoesis.so has those functions and they work correctly. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2126 | [NoesisGUI] Unreal | crash | unable to reproduce | 2021-09-21 11:12 | 2021-12-10 15:15 |
Reporter: | hcpizzi | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.2 | ||
Target Version: | 3.1.2 | ||||
Platform: | Any | ||||
Summary: | Cannot build the UE4 plugin 3.1.1 | ||||
Description: |
Hi guys, I'm not sure if something is wrong with my system, but I am trying to update to 3.1.1, and I cannot compile the plugin for my project. I tried with the example project, it also doesn't work. I tried reinstalling UE4.26, also didn't work. Bellow is the output log. Wondering if anyone else has this problem Fatal error: [File:D:/Build/++UE4/Sync/Engine/Source/Runtime/Core/Private/Windows/WindowsPlatformMisc.cpp] [Line: 475] Pure virtual function being called UE4Editor_Core VCRUNTIME140 UE4Editor_NoesisRuntime!NoesisNotifyArrayPropertyChanged() [D:\git\UI\Plugins\NoesisGUI\Source\NoesisRuntime\Private\NoesisTypeClass.cpp:3257] UE4Editor_NoesisRuntime!UNoesisFunctionLibrary::NotifyArrayChanged() [D:\git\UI\Plugins\NoesisGUI\Source\NoesisRuntime\Private\NoesisFunctionLibrary.cpp:35] UE4Editor_NoesisRuntime!UNoesisFunctionLibrary::execNotifyArrayChanged() [D:\git\UI\Plugins\NoesisGUI\Intermediate\Build\Win64\UE4Editor\Inc\NoesisRuntime\NoesisFunctionLibrary.gen.cpp:49] UE4Editor_CoreUObject UE4Editor_CoreUObject UE4Editor_CoreUObject UE4Editor_CoreUObject UE4Editor_CoreUObject UE4Editor_CoreUObject UE4Editor_CoreUObject UE4Editor_CoreUObject UE4Editor_CoreUObject UE4Editor_CoreUObject UE4Editor_CoreUObject UE4Editor_CoreUObject UE4Editor_CoreUObject UE4Editor_CoreUObject UE4Editor_CoreUObject UE4Editor_CoreUObject UE4Editor_CoreUObject UE4Editor_CoreUObject UE4Editor_CoreUObject UE4Editor_CoreUObject UE4Editor_CoreUObject UE4Editor_CoreUObject UE4Editor_CoreUObject UE4Editor_NoesisRuntime!NoesisFunctionWrapper::Execute() [D:\git\UI\Plugins\NoesisGUI\Source\NoesisRuntime\Private\NoesisTypeClass.cpp:1547] Noesis Noesis Noesis Noesis Noesis Noesis Noesis Noesis Noesis Noesis Noesis Noesis Noesis UE4Editor_NoesisRuntime!UNoesisInstance::NativeOnTouchEnded() [D:\git\UI\Plugins\NoesisGUI\Source\NoesisRuntime\Private\NoesisInstance.cpp:1068] UE4Editor_UMG UE4Editor_Slate UE4Editor_Slate UE4Editor_Slate UE4Editor_Slate UE4Editor_Slate UE4Editor_Slate UE4Editor_ApplicationCore UE4Editor_ApplicationCore UE4Editor_ApplicationCore UE4Editor_ApplicationCore user32 user32 UE4Editor_ApplicationCore UE4Editor UE4Editor UE4Editor UE4Editor UE4Editor kernel32 ntdll |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
NoesisTypeClass.cpp-2.patch (2,069 bytes) 2021-09-22 10:10 https://www.noesisengine.com/bugs/file_download.php?file_id=1499&type=bug NoesisTypeClass.cpp (109,579 bytes) 2021-09-27 12:08 https://www.noesisengine.com/bugs/file_download.php?file_id=1506&type=bug |
||||
Notes | |
(0007471)
hcpizzi 2021-09-22 10:10 |
Hi, We finally figured out what the real problem was that was causing this crash and could reproduce it locally. Please, try this patch and let us know if the problem still persists. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2130 | [NoesisGUI] Unreal | crash | always | 2021-09-24 13:45 | 2021-12-10 15:14 |
Reporter: | hcpizzi | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.2 | ||
Target Version: | 3.1.2 | ||||
Platform: | Any | ||||
Summary: | Crash in SetPropertyByRef when Input is null | ||||
Description: | SetPropertyByRef and the underlying setters don't do enough validation on the Input parameter, including checking for null. | ||||
Tags: | |||||
Steps To Reproduce: |
Load the Buttons sample. Open the View Blueprint Add an input parameter to the StartCommand function Run the sample and press the Start button |
||||
Additional Information: | |||||
Attached Files: |
NoesisTypeClass.cpp.patch (5,480 bytes) 2021-09-24 14:00 https://www.noesisengine.com/bugs/file_download.php?file_id=1504&type=bug |
||||
Notes | |
(0007480)
hcpizzi 2021-09-24 13:47 |
Added null Input check to SetPropertyByRef, except for UObject properties (it's OK to assign null to an UObject*). Added additional type validation to the underlying setters. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2155 | [NoesisGUI] C# SDK | major | always | 2021-10-21 17:02 | 2021-12-10 15:01 |
Reporter: | darthmaule2 | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.2 | ||
Target Version: | 3.1.2 | ||||
Platform: | Linux | ||||
Summary: | Tearing during video playback on ARM64 Ultrascale HW | ||||
Description: |
Tearing during video playback on ARM64 Ultrascale HW Waygate TFS bug #28637 |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2174 | [NoesisGUI] C# SDK | major | always | 2021-10-29 04:37 | 2021-12-10 14:59 |
Reporter: | DavidYawCSpeed | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.2 | ||
Target Version: | 3.1.3 | ||||
Platform: | Linux | ||||
Summary: | MediaPlayer: Errors when calling methods rapid-fire | ||||
Description: |
I'm getting various errors when I call various methods on MediaElement rapid-fire. I haven't tried every combination, but I have found this: - Pause() followed by setting Position: This causes playback to stop working, and the last displayed frame stays on the screen. Loading a different video seems to reset things. - Multiple sets of Position: MediaFailed event gets raised, with a null e.ErrorException. The majority of the time, a later call to Play() succeeds, but sometimes it does cause playback to stop working. I could implement a wrapper around MediaElement to check for these timing requirements, and wait until the required time is elapsed, but I would need to know which combinations of methods cannot be called rapid-fire, and I'd need some way to know when it's good to call the method again. I could just implement a hard 3 second delay between each call, but the actual time required is probably different for different video files, so a real solution would probably involve interacting with the 'mp' utility to know when it's safe to call again. |
||||
Tags: | |||||
Steps To Reproduce: |
My testing code: Start a video playing, and then run this method:public async void OddballTest() { logger.Trace("OddballTest(): About to Pause"); MediaElement.Pause(); DELAY_OF_SOME_SORT_1 TimeSpan startingPosition = MediaElement.Position; for (int i = 1; i <= 5; i++) { logger.Trace("OddballTest(): About to Position +="); MediaElement.Position = startingPosition + i * TimeSpan.FromSeconds(10); DELAY_OF_SOME_SORT_2 } logger.Trace("OddballTest(): About to Play"); MediaElement.Play(); logger.Trace("OddballTest(): Done"); } - DELAY_OF_SOME_SORT_1 = nothing, DELAY_OF_SOME_SORT_2 = nothing: Playback freezes up, always. Usually there's MediaFailed events, sometimes not. e.ErrorException is always null. - DELAY_OF_SOME_SORT_1 = await Task.Delay(10000), DELAY_OF_SOME_SORT_2 = nothing: Usually MediaFailed events, sometimes not. Sometimes the call to Play() succeeds and resumes video playback, sometimes it takes a couple calls to Play/Pause/Play/Pause/Play. - DELAY_OF_SOME_SORT_1 = await Task.Delay(3000), DELAY_OF_SOME_SORT_2 = await Task.Delay(3000): Works perfectly. Able to see the intermediate frames as it steps forward in the video 5 times, and playback resumes properly. - I tried a very short delay: ThreadSwitcher ResumeBackground followed immediately by ResumeForeground, which should be a single iteration of the main Render loop. Same behavior as no delay at all. - I tried a slightly longer delay: await Task.Delay(20), slightly longer than 1 frame. Results were the same as no delay. |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2184 | [NoesisGUI] C# SDK | minor | always | 2021-11-10 16:11 | 2021-12-10 14:20 |
Reporter: | darthmaule2 | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | feedback | Product Version: | 3.1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1 | ||||
Platform: | Any | ||||
Summary: | Rendering offscreen doesn't seem to apply styles exactly the same as rendering to the screen | ||||
Description: |
I have these styles... <Style x:Key="StandardTextStyle" TargetType="{x:Type TextBlock}"> <Setter Property="FontSize" Value="20" /> <Setter Property="Foreground" Value="{StaticResource ControlForegroundBrush}" /> <Setter Property="FontWeight" Value="Regular" /> <Setter Property="HorizontalAlignment" Value="Center" /> <Setter Property="VerticalAlignment" Value="Center" /> </Style> <Style x:Key="MeasurementTextStyle" TargetType="{x:Type TextBlock}" BasedOn="{StaticResource StandardTextStyle}"> <Setter Property="FontSize" Value="28" /> </Style> When rendering this XAML to the screen, the FontSize is correct (28) <TextBlock Text="{Binding LetterLabel}" Margin="2" Style="{StaticResource MeasurementTextStyle}"/> <TextBlock Text="{Binding FormattedResultInCurrentUnits}" Margin="2" Style="{StaticResource MeasurementTextStyle}"/> <TextBlock Text="{i18n:TranslateBinding Path=UnitsLabel}" Margin="2" Style="{StaticResource MeasurementTextStyle}"/> </StackPanel> But when rendering offscreen to save as a file, the FontSize is not correct (20) |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007566)
sfernandez 2021-11-11 11:35 |
Where are those styles defined? In the Application Resources? If they are part of the one of the application views, and the offscreen rendering is done using other root, then it won't be able to find those styles. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1669 | [NoesisGUI] Unity3D | minor | always | 2020-04-25 15:52 | 2021-12-10 03:23 |
Reporter: | tkaczz | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.6 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.2 | ||
Target Version: | 3.1.2 | ||||
Platform: | Any | ||||
Summary: | Can't use NoesisView with Unity 2019.3.x + URP's Post Processing | ||||
Description: |
Very precisely described in forum post https://www.noesisengine.com/forums/viewtopic.php?f=3&t=1950 |
||||
Tags: | Unity, Unity LWRP, Unity SRP | ||||
Steps To Reproduce: |
1. Create URP project 2. Create and save even very basic xaml file like this <Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <Border Background="Red" /> </Grid> 3. Add NoesisView component to first base camera 3.1 Set NoesisView Xaml to use that Xaml 4. Create PostProcessing asset 4.1 Add for example vignette effect 5. Add Volume component and set to use previously created PostProcessing asset 6. Be sure that NoesisView and Volume are On 7. Play scene 8. Post processing is not working with NoesisView Expected behaviour PostProcessing should be displayed over NoesisView content by default |
||||
Additional Information: | |||||
Attached Files: |
buttons-noesis.png (265,827 bytes) 2020-04-25 16:17 https://www.noesisengine.com/bugs/file_download.php?file_id=1216&type=bug URP_CameraStacking.jpg (95,740 bytes) 2021-12-10 03:23 https://www.noesisengine.com/bugs/file_download.php?file_id=1565&type=bug |
||||
Notes | |
(0006275)
tkaczz 2020-04-25 16:17 (Last edited: 2020-04-25 16:17) |
Now this is even more interesting... Used xaml <Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <StackPanel VerticalAlignment="Center" HorizontalAlignment="Center"> <Button Width="150" Height="150" Content="Sample button 1" Background="Red" /> <Button Width="150" Height="150" Content="Sample button 2" Background="Green" /> </StackPanel> </Grid> |
(0006277)
jsantos 2020-04-27 12:11 |
I didn't have time to investigate this. Will do it soon. Could you elaborate about what you mean with "interesting" ? Thanks for your feedback! |
(0006280)
tkaczz 2020-04-27 12:51 (Last edited: 2020-04-27 12:52) |
Post processing is working with xaml, but not when any image is being rendered or anything on full screen? |
(0007666)
jsantos 2021-12-10 03:23 |
We fixed this. I am attaching a preview of the documentation. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1826 | [NoesisGUI] Unity3D | major | always | 2020-10-30 19:21 | 2021-12-10 03:16 |
Reporter: | kokolihapihvi | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.6 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.2 | ||
Target Version: | 3.1.2 | ||||
Platform: | Any | ||||
Summary: | HDRP render texture overlap / stacked cameras not rendering | ||||
Description: |
I ran into 0001811 while adding a render texture view to a scene. Applying the fix provided in 0001811:0006699 fixed the overlap problem, but stopped stacked UI cameras from rendering. UI is still interactable, but not visible. We use stacked cameras to switch between multiple complex views, one being active at a time on top of the main camera. Unity 2019.4.10f1, HDRP 7.3.1 |
||||
Tags: | Unity HDRP | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0006713)
jsantos 2020-10-30 20:16 |
Thanks for reporting this, last time we tried the integration with stacked cameras we found a few bugs. I hope Unity fixed all the problems and we can have this properly solved. |
(0007663)
jsantos 2021-12-10 03:16 |
Stacking cameras are not supported in HDRP, but we added support for manually selecting the injection point (before or after the post-processing) using Custom Passes. The documentation will give more detail but basically the steps are: 1. Attach a 'Custom Pass Volume' to the camera 2. Set 'Mode' to 'Camera' 3. Set 'Target Camera' to the same camera 4. Select 'Injection Point' (only 'Before Post Process' or 'After Post Process' makes sense) 5. Add a Custom Pass of type 'NoesisCustomPass' 6. Set 'Clear Flags' to 'Stencil' If you don't need this for tweaking the post processing then we don't recommend using more than one camera. Just use a single Noesis view and add content dynamically to the root. Please, let us know (at the forums) if you need more information about this. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2192 | [NoesisGUI] Unity3D | crash | always | 2021-11-17 08:40 | 2021-12-08 11:40 |
Reporter: | nvonhertzen | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1 | ||
Product Build: | Resolution: | unable to reproduce | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.2 | ||
Target Version: | 3.1.2 | ||||
Platform: | XboxOne | ||||
Summary: | Unity xboxone crash | ||||
Description: |
Running the Hello world sample app crashes with "[0xBD87C098] ID3D12GraphicsCommandList(Graphics)::DrawIndexedInstanced: All viewports are currently invalid, as they have not been set via RSSetViewports since command list recording started." when running on xboxone. Tested with Noesis 3.1.1, Unity 2021.2.0b11, and GDK version April 2021 GXDK QFE 2. There appears to be another crash message when the view contains a DropShadowEffect ("[0xBE70402B] ID3D12CommandQueue(Graphics)::ExecuteCommandLists: Render target 0 resource (0x0000000200405D00 "Noesis_Pyramid_Up_L0") state is PIXEL_SHADER_RESOURCE (0x80) but it is expected to contain RENDER_TARGET (0x4)."), but neither render anything before crashing. |
||||
Tags: | |||||
Steps To Reproduce: |
1. Create new Unity project with the Hello World sample 2. Build and run on Xboxone, observe the crash |
||||
Additional Information: | |||||
Attached Files: |
192.168.1.121_Image_0.png (180,783 bytes) 2021-12-07 12:54 https://www.noesisengine.com/bugs/file_download.php?file_id=1558&type=bug MainWindow.xaml (20,149 bytes) 2021-12-07 12:54 https://www.noesisengine.com/bugs/file_download.php?file_id=1559&type=bug |
||||
Notes | |
(0007579)
jsantos 2021-11-17 12:38 (Last edited: 2021-11-17 12:42) |
I will check ASAP, this is weird because 'Hello World' was the example we were continuously testing when implementing D3D12 support for both Xbox One and Xbox Series on Unity. So this could be a misalignment of Unity Version / GDK Version. I will verify. And the same example works in Xbox Series? The DropShadowEffect error is a different thing we are working on (probably related to 0002190) |
(0007580)
nvonhertzen 2021-11-17 13:01 |
I haven't had a chance to test on Xbox series yet (don't have access to a kit atm). Unreal/Native xboxone/series work fine for us, just having issues with unity. |
(0007659)
jsantos 2021-12-07 12:54 (Last edited: 2021-12-07 12:54) |
Just tried this with the latest Unity plugin (https://forum.unity.com/threads/unity-2021-2-3f1-32358a8527b4.1199941/) - Unity 2021.2.3f1 - [2021.06 Update 4] - Microsoft GDK (10.0.19041.7032) and everything is working as expected. i just modified the HelloWorld sample a bit to also apply a DropShadowEffect and let the background transparent so I can verify Unity rendering is not corrupted. I am attaching both the xaml and the screenshot from the xbox_one. |
(0007661)
nvonhertzen 2021-12-08 05:48 |
Thanks, we'll try with those versions to see if we can still replicate the issue |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2125 | [NoesisGUI] C++ SDK | major | always | 2021-09-20 22:50 | 2021-12-06 18:19 |
Reporter: | Ringo | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1.1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Sample code is not energy-efficient | ||||
Description: |
Integration samples and NoesisApp framework are rendering at maximum framerate, even when nothing is changing on a screen. While I understand those are just examples and many games render at maximum framerate by design anyway, I think the code should be fixed, because: - Users will copy the code as is and do not realize it can be improved; - It is a shame sample code do not promote one of the strongest selling points of NoesisGUI; - Currently there are some subtle issues with variable framerate in NoesisGUI, probably because such code path is not tested much; |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007467)
jsantos 2021-09-21 13:49 (Last edited: 2021-09-21 13:52) |
Our application framework is doing this on purpose because this is the typical scenario for videogames. We have plans to create a specific example showcasing render on demand. For that we need extra things on the application framework (we need to detect the sync rate and sleep, this is natively available in many platforms like Choreographer in Android - we are already using it -). Could you please elaborate about 2 ( It is a shame sample code do not promote one of the strongest selling points of NoesisGUI) and 3 (Currently there are some subtle issues with variable framerate in NoesisGUI)? |
(0007638)
Ringo 2021-12-03 11:58 |
Sample code I've mentioned is ApplicationLauncher\Src\Window.cpp, it doesn't use the return value of Noesis::IRenderer::UpdateRenderTree() to skip render. As for my code, it is not easy to reproduce properly, but the issue I am having is: When rendering on demand, there are occasional spikes in performance of Noesis::IRenderer::Render()/RenderOffscreen(). Jank happens after somewhat long periods of update w/o render. The typical timeline is: * ....... * update, skipped render (0ms) * update, skipped render (0ms) * update, skipped render (0ms) * update, skipped render (0ms) * update, render (30ms) // abnormally long render * update, render (2ms) // back to normal * update, render (2ms) * update, render (2ms) * ....... |
(0007639)
Ringo 2021-12-03 12:07 |
If I do not use the return value of Noesis::IRenderer::UpdateRenderTree() to skip render, then there is no jank. The performance is consistent. |
(0007653)
jsantos 2021-12-06 14:49 |
When skipping rendering, I assume *only* Render() and RenderOffscreen() are skipped, right? You should keep invoking Update and UpdateRenderTree consistently. |
(0007658)
Ringo 2021-12-06 18:19 |
Yes, Update and UpdateRenderTree are invoked consistently on vsync signal. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2095 | [NoesisGUI] Unity3D | major | always | 2021-08-26 19:56 | 2021-12-06 17:33 |
Reporter: | nvonhertzen | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.1 | ||
Target Version: | 3.1.2 | ||||
Platform: | Switch | ||||
Summary: | Switch Unity rendering occasionally flickers | ||||
Description: | Any UI that I've tested so far seems to have an occasional flicker with Noesis on Unity Switch. See example in the video. | ||||
Tags: | |||||
Steps To Reproduce: |
1. Download Noesis Unity 3.1.0 package 2. Create a new unity project, import package 3. Import the Hello world sample |
||||
Additional Information: | |||||
Attached Files: |
flicker.mp4 (1,014,708 bytes) 2021-08-26 19:56 https://www.noesisengine.com/bugs/file_download.php?file_id=1475&type=bug |
||||
Notes | |
(0007385)
jsantos 2021-08-26 20:27 |
Could you please indicate versions for Unity and Nintendo SDK ? Thanks |
(0007388)
rg_moliver 2021-08-27 00:13 (Last edited: 2021-08-27 19:42) |
Unity 2020.3.16f1 and Nintendo SDK 11.4.3 |
(0007390)
nvonhertzen 2021-08-27 05:30 |
* Nintendo SDK 11.4.3 I've tested with both 2020.3.1f1 and 2020.3.13f1 |
(0007428)
jsantos 2021-09-10 14:08 |
I am not able to reproduce this with the latest stable SDK and Unity addon: - SDK 12.3.7 - Unity2021.1.19 I will try with 2020 |
(0007430)
jsantos 2021-09-10 16:31 (Last edited: 2021-09-10 16:31) |
I tried with SDK 11.4.3 and Unity2020.3.16f1 and still not able to reproduce the flickering... tried with both Debug and Profile versions of Noesis, with Development and Non-development Unity builds, enabling low-level graphics debugger + Draw validation with no luck. I am going to need more feedback about this. |
(0007657)
jsantos 2021-12-06 17:33 |
Please, reopen if needed. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2131 | [NoesisGUI] C++ SDK | major | always | 2021-09-24 15:55 | 2021-12-06 17:06 |
Reporter: | steveh | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.2 | ||
Target Version: | 3.1.2 | ||||
Platform: | Any | ||||
Summary: | 100KB of stack space used for parsing property paths | ||||
Description: |
Hi guys, we're getting crashes on PS4 due to runing out of stack space when parsing a path, I've attached the callstack from where the issue begins. So the issue starts when we invoke the following: bool PropertyPath::UpdatePathItems() const { if (!mPath.Empty() && mPathItems.Empty()) { Parser<> parser(mPath.Str()); PE::PropertyPathExpr expr; ParseResult pr = parser.TryParseFull(expr); mPath.Str() is "(UIElement.Opacity)" At this point, sizeof(expr) is 7072 bytes, which primarily consists of 2320 bytes of CollectionPath and 4752 bytes of CombinedPath. This then gets tripled in CombinedPath::TryParse template<class SkipExpr> ParseResult TryParse(const ParserSource<SkipExpr>& input) { typedef Seq5<AnyIdentifier, Ch<':'>, AnyIdentifier, Ch<'.'>, AnyIdentifier> PropertyWithPrefix; typedef Seq3<AnyIdentifier, Ch<'.'>, List<AnyIdentifier, Ch<'.'>, 12>> PropertyWithNamespaces; typedef Seq3<Ch<'('>, Or<PropertyWithPrefix, PropertyWithNamespaces>, Ch<')'>> QualifiedProperty; typedef Or<AnyIdentifier, QualifiedProperty> Property; List<Or<Indexer, Seq<Property, Opt<Indexer>>>, Ch<'.'>, NumItems> expr; sizeof(expr) is now 24,080 bytes. This then gets quadrupled in List::TryParse struct List { template<class SkipExpr> ParseResult TryParse(const ParserSource<SkipExpr>& input) { Seq<Item, Star<Seq<Separator, Item>>> expr; sizeof(expr) is now 99,536 bytes. This blows up our stack and we run out of space. We've recently reduced our stack from 1MB to 384KB and this issue has arisen. We can temporarily patch this up by reducing the numbers somewhat so PropertyPath isn't 7kB to begin with which is what I think we're going to try. Is there any way you could look at the usage of stack space so we don't require so much space? That would be much appreciated. Alternatively, can you suggest any workaround for the time being? Do you think it's safe to tweak the static counts in the CombinedPath and CollectionPath structs? Are there any hard limits to adhere to the WPF standards, or are these numbers ones you found worked well? Cheers, -Steven |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
callstack.txt (10,086 bytes) 2021-09-24 15:55 https://www.noesisengine.com/bugs/file_download.php?file_id=1505&type=bug |
||||
Notes | |
(0007481)
jsantos 2021-09-27 14:13 |
For efficiency purposes we are abusing the stack in many places but 100KB is too much. :) We will fix the expression. Thanks! |
(0007654)
jsantos 2021-12-06 17:05 |
The CombinedPath was taking 137776 bytes (7072 --> 7088 --> 24080 -> 99536). We fixed this to have both paths under 10 Kb (6832 -> 2464 [CombinedPath] and 6832 -> 4152 [CollectionPath]). This also brings performance optimizations as extra copies are avoided. I consider this fixed, please reopen if necessary. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2203 | [NoesisGUI] Unity3D | major | sometimes | 2021-12-02 18:53 | 2021-12-06 14:59 |
Reporter: | rachelle | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.0 | ||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Noesis DLL not found exception after 3.1.0 upgrade | ||||
Description: |
After upgrading to Noesis 3.1.0, some folks are getting this error spammed in the Unity editor. DllNotFoundException: Noesis Noesis.GUI.UpdateInspector () (at Packages/com.noesis.noesisgui/Runtime/API/Core/NoesisGUI.cs:61) NoesisEditor+<>c.<.cctor>b__0_0 () (at Packages/com.noesis.noesisgui/Editor/NoesisEditor.cs:9) UnityEditor.EditorApplication.Internal_CallUpdateFunctions () (at <97cf4a1854994d3e8abd9a503bfdbeb8>:0) |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007632)
sfernandez 2021-12-02 19:50 |
Please try with the following library: https://drive.google.com/file/d/1LPJHWLMJOsHtR91yVn79qAqBP-ci6y3T/view?usp=sharing |
(0007635)
rachelle 2021-12-03 02:01 |
Using this library resolved the issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2204 | [NoesisGUI] Unity3D | major | sometimes | 2021-12-02 18:54 | 2021-12-06 14:59 |
Reporter: | rachelle | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.0 | ||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Asset import failed error after 3.1.0 upgrade | ||||
Description: |
After upgrading to Noesis 3.1.0, some folks are getting this error spammed in the Unity editor. Asset import failed, "Packages/com.noesis.noesisgui/Theme/NoesisTheme.Brushes.LightOrange.xaml" > DllNotFoundException: Noesis Noesis.XamlProvider.Extend (System.String typeName) (at Packages/com.noesis.noesisgui/Runtime/API/Proxies/XamlProvider.cs:60) System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at <695d1cc93cca45069c528c15c9fdd749>:0) Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation. System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at <695d1cc93cca45069c528c15c9fdd749>:0) System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) (at <695d1cc93cca45069c528c15c9fdd749>:0) Noesis.Extend.RegisterNativeType (System.Type type, System.Boolean registerDP) (at Packages/com.noesis.noesisgui/Runtime/API/Core/Extend.cs:1270) Noesis.Extend.EnsureNativeType (System.Type type, System.Boolean registerDP) (at Packages/com.noesis.noesisgui/Runtime/API/Core/Extend.cs:1629) Noesis.Extend.EnsureNativeType (System.Type type) (at Packages/com.noesis.noesisgui/Runtime/API/Core/Extend.cs:1621) Noesis.Extend.NewCPtr (System.Type type) (at Packages/com.noesis.noesisgui/Runtime/API/Core/Extend.cs:4616) Noesis.BaseComponent.CreateExtendCPtr (System.Type type, System.Boolean& registerExtend) (at Packages/com.noesis.noesisgui/Runtime/API/Proxies/BaseComponentExtend.cs:85) Noesis.BaseComponent.CreateCPtr (System.Type type, System.Boolean& registerExtend) (at Packages/com.noesis.noesisgui/Runtime/API/Proxies/BaseComponentExtend.cs:79) Noesis.BaseComponent..ctor () (at Packages/com.noesis.noesisgui/Runtime/API/Proxies/BaseComponentExtend.cs:17) Noesis.XamlProvider..ctor () (at Packages/com.noesis.noesisgui/Runtime/API/Proxies/XamlProvider.cs:31) NoesisXamlProvider..ctor () (at Packages/com.noesis.noesisgui/Runtime/NoesisProviders.cs:14) NoesisXamlProvider..cctor () (at Packages/com.noesis.noesisgui/Runtime/NoesisProviders.cs:12) Rethrow as TypeInitializationException: The type initializer for 'NoesisXamlProvider' threw an exception. NoesisXaml.RegisterDependencies () (at Packages/com.noesis.noesisgui/Runtime/NoesisXaml.cs:26) NoesisXamlImporter.OnImportAsset (UnityEditor.AssetImporters.AssetImportContext ctx) (at Packages/com.noesis.noesisgui/Editor/NoesisXamlImporter.cs:311) UnityEditor.AssetImporters.ScriptedImporter.GenerateAssetData (UnityEditor.AssetImporters.AssetImportContext ctx) (at <97cf4a1854994d3e8abd9a503bfdbeb8>:0) |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007633)
sfernandez 2021-12-02 19:50 |
Please try with the following library: https://drive.google.com/file/d/1LPJHWLMJOsHtR91yVn79qAqBP-ci6y3T/view?usp=sharing |
(0007636)
rachelle 2021-12-03 02:02 |
Using this library resolved the issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2208 | [NoesisGUI] C# SDK | major | always | 2021-12-03 22:25 | 2021-12-06 14:44 |
Reporter: | stonstad | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.0.12 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Can't convert '' into a 'ResourceDictionary' object | ||||
Description: |
I'm getting the following error repeatedly on imports and Unity player start: [noesis] Assets/NoesisGUI/Theme/NoesisTheme.Brushes.DarkBlue.xaml(13): Can't convert '' into a 'ResourceDictionary' object. What is so strange about this is that my SCM shows no XAML changes today. I left my computer and when I returned this error appeared after starting unity. I can confirm no changes in the above mentioned XAML, and no changes in the XAML which references it. Is the error, "Can't convert '' into a 'ResourceDictionary' object" something you have seen before? |
||||
Tags: | |||||
Steps To Reproduce: | Attached screenshot | ||||
Additional Information: | |||||
Attached Files: |
a.png (261,822 bytes) 2021-12-03 22:25 https://www.noesisengine.com/bugs/file_download.php?file_id=1554&type=bug Line13.png (1,446,366 bytes) 2021-12-03 23:06 https://www.noesisengine.com/bugs/file_download.php?file_id=1555&type=bug |
||||
Notes | |
(0007651)
stonstad 2021-12-03 23:06 |
Regarding this error -- you can see line endings on the left. It shows CRLF consistently. On the right, you can see the stream of XAML importer or runtime errors relating to something on line 13 in the XAML. I haven't found a way to work around this -- it affects this file and one other (which comes later in the sequence). I'm currently dead in the water. Very frustrating! |
(0007652)
stonstad 2021-12-03 23:56 |
This was resolved by deleting \library and obj, and letting the project entirely rebuild. Noesis was the only component erroring out -- but as to how or why I do not know. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2150 | [NoesisGUI] C++ SDK | crash | always | 2021-10-16 05:40 | 2021-12-03 13:16 |
Reporter: | satorp | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.2 | ||
Target Version: | 3.1.2 | ||||
Platform: | Any | ||||
Summary: | Sample applications crash on startup | ||||
Description: |
I tried the 3.1.1 indie SDK on a machine and the sample applications keep crashing on startup (see the exception and call stack below). The machine GPU does not support DX12 level features, so maybe the cause is fallback failure. I'm not sure if the default renderer (D3D12) is supposed to be compatible with all DX11 GPUs (It seems to work well on another machine with DX11 GPU). I've also uploaded the DxDiag result. By the way we haven't used the D3D12 renderer in our production code, so this issue does not affect us now. ------------------------------------------------------------------------------------- Exception thrown: read access violation. page->buffer was nullptr. NoesisApp.dll!NoesisApp::D3D12RenderDevice::AllocatePage(NoesisApp::D3D12RenderDevice::DynamicBuffer & buffer) Line 1159 NoesisApp.dll!NoesisApp::D3D12RenderDevice::MapBuffer(NoesisApp::D3D12RenderDevice::DynamicBuffer & buffer, unsigned int size) Line 1297 NoesisApp.dll!NoesisApp::Window::Render(double time) Line 234 NoesisApp.dll!NoesisApp::DisplayLauncher::Run::__l2::<lambda>(NoesisApp::Display * __formal) Line 44 [Inline Frame] NoesisApp.dll!Noesis::Delegate<void __cdecl(NoesisApp::Display *)>::operator()(NoesisApp::Display *) Line 172 NoesisApp.dll!NoesisApp::Win32Display::EnterMessageLoop(bool runInBackground) Line 479 NoesisApp.dll!NoesisApp::DisplayLauncher::Run() Line 49 [Inline Frame] Samples.HelloWorld.exe!NsMain(int argc, char * * argv) Line 81 Samples.HelloWorld.exe!WinMain(HINSTANCE__ * __formal, HINSTANCE__ * __formal, char * __formal, int __formal) Line 36 --------------------------------------------------------------------------------------- |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
DxDiag-IntelHD4400.txt (19,529 bytes) 2021-10-16 05:40 https://www.noesisengine.com/bugs/file_download.php?file_id=1519&type=bug bug2150-debug-logtrace.txt (14,824 bytes) 2021-11-25 14:42 https://www.noesisengine.com/bugs/file_download.php?file_id=1546&type=bug bug2150-debug-callstack.txt (1,056 bytes) 2021-11-25 14:42 https://www.noesisengine.com/bugs/file_download.php?file_id=1547&type=bug bug2150-badalloc-NoesisHelloWorld.txt (1,748 bytes) 2021-12-01 07:54 https://www.noesisengine.com/bugs/file_download.php?file_id=1549&type=bug bug2150-badalloc-D3D12HelloTriangle.txt (1,180 bytes) 2021-12-01 07:54 https://www.noesisengine.com/bugs/file_download.php?file_id=1550&type=bug |
||||
Notes | |
(0007604)
jsantos 2021-11-23 13:39 (Last edited: 2021-11-23 13:39) |
An important issue with Intel cards has been fixed in r10929. I am not sure this is 100% related to your callstack but probably it is. Could you please try it? The minimal feature level required for the D3D12 renderer is D3D_FEATURE_LEVEL_11_0 (we check that in D3D12RenderContext) so that shouldn't be a problem. |
(0007619)
satorp 2021-11-25 12:40 |
I tried the patch but it seems to have no effect, the crash still occurs (same call stack). |
(0007620)
jsantos 2021-11-25 12:43 (Last edited: 2021-11-25 12:43) |
Could you please uncomment the two lines at the top of D3D12RenderDevice to enable extra logging#undef NS_LOG_TRACE #define NS_LOG_TRACE(...) NS_LOG_(NS_LOG_LEVEL_TRACE, __VA_ARGS__) and send me the log and call-stack again? Thank you! |
(0007621)
satorp 2021-11-25 14:42 |
Here are the trace log and call stack when HelloWorld is executed in Debug build (the trace log seems to be enabled only in Debug build?). The call stack is different from the one in Description, which was a Release build. There's a D3D12 error in the trace log which may provide a hint. ------------------------------------------------------------------------------------------------------------------------------------ D3D12: Removing Device. D3D12 ERROR: ID3D12Device::RemoveDevice: Device removal has been triggered for the following reason (DXGI_ERROR_DEVICE_HUNG: The Device took an unreasonable amount of time to execute its commands, or the hardware crashed/hung. As a result, the TDR (Timeout Detection and Recovery) mechanism has been triggered. The current Device Context was executing commands when the hang occurred. The application may want to respawn and fallback to less aggressive use of the display hardware). [ EXECUTION ERROR #232: DEVICE_REMOVAL_PROCESS_AT_FAULT] |
(0007622)
jsantos 2021-11-26 12:31 |
Thanks for the reports. It seems the driver is behaving erratically and randomly crashing. I also read in the log Exception thrown at 0x00007FFA454B4F69 in Samples.HelloWorld.exe: Microsoft C++ exception: std::bad_alloc at memory location 0x00000012CBEFC2C8. So it seems, a library is getting out of memory conditions. Not sure which one. We are doing something that the Intel driver doesn't like. I wonder if you could try the minimal Hello World sample (Samples/Desktop/D3D12HelloWorld) in the Microsoft repository: https://github.com/microsoft/DirectX-Graphics-Samples and see if it works? |
(0007628)
satorp 2021-12-01 07:54 |
I've found that the std::bad_alloc exception occurs inside the call to swapchain Present function (see uploaded callstack). The same exception also occurs when I run the D3D12 HelloWorld samples (except for D3D12HelloWindow). |
(0007629)
jsantos 2021-12-01 11:35 |
So Microsoft examples are also crashing? It seems to me given the attached call-stack but I want to confirm. |
(0007640)
satorp 2021-12-03 12:56 |
Yes, Microsoft samples also crash. This seems to be a graphics driver issue (Intel driver 20.19.15.5171). I tried rolling back to previous version (20.19.15.4568) and the crash disappears. |
(0007641)
jsantos 2021-12-03 13:16 |
Thank you! Closing this |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2207 | [NoesisGUI] C++ SDK | major | always | 2021-12-03 10:28 | 2021-12-03 11:24 |
Reporter: | pdx_lysannschlegel | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.12 | ||
Product Build: | Resolution: | duplicate | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.2 | ||
Target Version: | 3.1.2 | ||||
Platform: | Any | ||||
Summary: | Binding issues reported as errors (inconsistency with WPF) | ||||
Description: |
In some cases noesis generates error logs for binding issues which are have only "warning" or "information" level in WPF/Blend. My general take on this is: When our UX designers work with Blend most of the time, I think it is important that the warnings and errors logged are similar between Blend and Noesis, otherwise they'll make a nice UI in WPF that can then spew a lot of errors in Noesis. So I think deviating much from what WPF considers a warning/error needs to have very good reasons. sfernandez agreed and asked me to report this in the bug tracker. Forum thread for full context and some examples: https://www.noesisengine.com/forums/viewtopic.php?f=3&t=2464 |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2200 | [NoesisGUI] C++ SDK | tweak | always | 2021-11-26 18:11 | 2021-12-03 11:23 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.2 | ||
Target Version: | 3.1.2 | ||||
Platform: | Any | ||||
Summary: | Avoid binding errors when part of the path is null | ||||
Description: |
From forum post https://www.noesisengine.com/forums/viewtopic.php?f=3&t=2464 |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007623)
sfernandez 2021-11-26 18:55 |
Now bindings that can't be resolved because part of the path returned a null object are reported as information messages. The rest of errors now match WPF behavior, and are also converted to warning messages if a fallback value is provided like in WPF. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2093 | [NoesisGUI] C++ SDK | major | always | 2021-08-26 17:36 | 2021-12-02 18:08 |
Reporter: | jsantos | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.2 | ||
Target Version: | 3.1.2 | ||||
Platform: | Any | ||||
Summary: | Switch to DXC shader compiler for Xbox One and Xbox Series | ||||
Description: |
Shader compiling at runtime is taking seconds on both Xbox One and Xbox Series, we should switch to the recommended DXC compiler for these platforms. Right now, this is not as trivial as it sounds because we need to specify the root signature in each shaders and right now that information is available at compile time in the C++ source. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2158 | [NoesisGUI] Unreal | crash | always | 2021-10-25 15:41 | 2021-12-02 18:08 |
Reporter: | staublicht | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.2 | ||
Target Version: | 3.1.2 | ||||
Platform: | Windows | ||||
Summary: | Crash on XAML import | ||||
Description: |
Unreal version 4.27.1 I set up a XAML test project and have crash every time on XAML import. XAML is valid. I tried rebuilding the project and plugin but it didn't help with the issue. |
||||
Tags: | UE4, ValueConverter, xaml | ||||
Steps To Reproduce: | Open the provided project and attempt to reimport XAML changes. | ||||
Additional Information: | |||||
Attached Files: |
TestGUI-blend.zip (3,625,499 bytes) 2021-10-25 15:41 https://www.noesisengine.com/bugs/file_download.php?file_id=1527&type=bug UE4CC-Windows-85E4FAF14DA7A50A2A81029C965FC8F6_0000.zip (147,494 bytes) 2021-10-25 15:41 https://www.noesisengine.com/bugs/file_download.php?file_id=1528&type=bug XAML-import-crash.JPG (88,639 bytes) 2021-10-25 15:41 https://www.noesisengine.com/bugs/file_download.php?file_id=1529&type=bug |
||||
Notes | |
(0007533)
staublicht 2021-10-25 15:46 |
I am not experienced enough with XAML to know whether my project is for some reason invalid and can not be parsed for Noesis because I am using some special or unsupported technique. In this case I was testing inline buttons and a converter that makes text to Uppercase. It looks valid and correct in Blend. |
(0007625)
sfernandez 2021-11-29 18:21 |
The crash is produced by a check in the plugin about font dependencies. It is a bug we have to fix but it is happening because you are referencing system fonts in your xaml and you probably don't want to do that. As explained in our Text tutorial (https://www.noesisengine.com/docs/Gui.Core.TextTutorial.html#font-family) if the font family does not include a folder and a family name separated by a #, then it means you are using system fonts. We recommend you use fonts included in your Unreal project, so they will work on all platforms. |
(0007630)
staublicht 2021-12-01 11:43 |
thank you for the information |
(0007631)
sfernandez 2021-12-02 18:08 |
Resolved at revision 10975. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1109 | [NoesisGUI] C++ SDK | feature | always | 2017-06-14 04:04 | 2021-12-01 02:08 |
Reporter: | nikobarli | Platform: | Windows | ||
Assigned To: | jsantos | OS: | Windows | ||
Priority: | high | OS Version: | Win7 ~ Win10 | ||
Status: | resolved | Product Version: | 2.0.2f2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.2 | ||
Target Version: | 3.1.2 | ||||
Platform: | Any | ||||
Summary: | Custom cursor support | ||||
Description: |
In WPF, we can load and use a custom cursor like this: <Window x:Class="WpfApp.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:WpfApp" mc:Ignorable="d" Title="MainWindow" Height="350" Width="525"> <Window.Resources> <ResourceDictionary> <Cursor x:Key="CursorMagnify">C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\atlmfc\include\res\magnify.cur</Cursor> </ResourceDictionary> </Window.Resources> <Grid Cursor="{StaticResource CursorMagnify}"> <TextBlock>test</TextBlock> </Grid> </Window> Our application uses a lot custom cursors (more than 30). Thus, we need a way to support this in NoesisGUI. In longer term, you may want to implement the Cursor class with similar capabilities as WPF does. But in shorter term, we only need to designate a custom cursor ID to the FrameworkIElement. For example, we can write in XAML <Grid Cursor="Custom_MyCursor"></Grid> which is the same as below in code behind Grid::SetCursor(Cursor_Custom /* new enum entry "/, "MyCursor" /* ID string */); and which causes the cursor callback is called with parameters Cursor_Custom and "MyCursor". Then inside the client integration code, I can map the tuple {Cursor_Custom, "MyCursor"} to any custom cursor I want. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0005501)
nikobarli 2019-03-06 08:51 |
Hi, is there any update on this feature ? Is it gonna make it to 2.2.0 maybe ? |
(0005502)
jsantos 2019-03-06 16:55 |
Hi Niko, we discussed long time ago and decided to add a char* to our cursors to solve this. But we are almost ready to close 2.2 (RC is happening this week) so I am not sure if we can implement it for this version. Could you please raise the priority of this ticket and tell me how critical it is for you right now? Thanks! |
(0005507)
nikobarli 2019-03-07 01:23 |
Hi Jesus, I raised the priority to High. I think I can temporarily workaround this issue by providing per-view mapping from the current Cursor enum to the custom cursor inside the Integration layer. Please consider adding the official support in the near future. |
(0007445)
nikobarli 2021-09-16 02:23 |
Hi Jesus, is there any update on this issue ? |
(0007446)
jsantos 2021-09-16 14:28 (Last edited: 2021-09-16 14:29) |
Hi Niko, Really sorry about this delay. I was talking with @sfernandez and we are going to solve this in 3.1.2. Is that ok for you? The idea is changing the definition of Cursor in typedef void (*UpdateCursorCallback)(void* user, IView* view, Cursor cursor); Cursor will be something like: struct Cursor { CursorType type; String uri; } CursorType will be the old enum with a new entry Cursor_Custom indicating that the uri must be read. The uri will containt the .cur file, that must be loaded in each Display. You only need this for Windows right? |
(0007447)
nikobarli 2021-09-16 14:52 |
Hi Jesus, Yes, we only need this for Windows. So, how can we use it from Xaml? Is it something like: <Grid Cursor="Custom_MyCursor"></Grid> in which uri will be set to "MyCursor" ? As for fix version, 3.1.2 is fine with us. |
(0007448)
jsantos 2021-09-16 14:57 (Last edited: 2021-09-16 14:57) |
To be compatible with Blend it needs to be<Grid Cursor="Custom_MyCursor.cur"></Grid> and you need to have MyCursor.cur in the Blend project. Our Win32Display implementation will load that .cur file. Will that work for you? |
(0007449)
jsantos 2021-09-16 14:58 (Last edited: 2021-09-16 14:58) |
@sfernandez I am not sure if the .cur extension is mandatory |
(0007450)
sfernandez 2021-09-16 16:05 |
Looking at WPF implementation of CursorConverter it seems they only support .cur and .ani files (apart from default known cursors): https://referencesource.microsoft.com/#PresentationCore/Core/CSharp/System/Windows/Input/CursorConverter.cs,176 |
(0007451)
nikobarli 2021-09-17 01:49 |
> To be compatible with Blend it needs to be > <Grid Cursor="Custom_MyCursor.cur"></Grid> And I suppose I can pass uri as part of the string right ? e.g. <Grid Cursor="Custom_Resources/Cursor/MyCursor.cur"></Grid> > and you need to have MyCursor.cur in the Blend project. > Our Win32Display implementation will load that .cur file. > Will that work for you? Yes, that will work for us. Thanks! |
(0007452)
jsantos 2021-09-17 11:59 |
Great, thank you. More questions, should our implementation of Win32Display load the cursors? Or that's something you plan to do. If our implementation does it, we need to load the file using our file providers (we will use the XamlProvider I think, because it provides a IStream interface). |
(0007455)
nikobarli 2021-09-17 14:54 |
> Great, thank you. More questions, should our implementation of Win32Display load the cursors? Or that's something you plan to do. We are using our own implementation of Win32Display (because we need to support multiple views inside a process). But we would appreciate if you can provide the example inside your Win32Display for us to follow. |
(0007457)
jsantos 2021-09-17 22:06 (Last edited: 2021-09-20 10:21) |
r10741 implemented the core changes. We still need to fix Displays and implement loading .cur files in Win32Display |
(0007626)
jsantos 2021-12-01 02:05 (Last edited: 2021-12-01 02:08) |
Hi Niko, I have been testing the implementation for Win32Display and everything is working fine but we are not going to make changes to Win32Display for loading custom cursors because there are many possible approaches to this: loading the cursor for memory, loading the cursor from file, loading the cursor for the resource table of the executable. I think, you are probably going to have an array with all your custom cursors loaded from file (or from the resource table) and then read that table when the request of changing cursor arrives to the Display. I took your example: <Window x:Class="WpfApp.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:WpfApp" mc:Ignorable="d" Title="MainWindow" Height="350" Width="525"> <Window.Resources> <ResourceDictionary> <Cursor x:Key="CursorMagnify">C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\atlmfc\include\res\magnify.cur</Cursor> </ResourceDictionary> </Window.Resources> <Grid Cursor="{StaticResource CursorMagnify}"> <TextBlock>test</TextBlock> </Grid> </Window> And added the following change to our Win32Display: case WM_SETCURSOR: { if (LOWORD(lParam) == HTCLIENT) { if (mCursor.type == Cursor::Custom) { HCURSOR cur = LoadCursorFromFileA(mCursor.filename.Str()); ::SetCursor(cur); } else { if (mCursors[mCursor.type] != 0) { ::SetCursor(mCursors[mCursor.type]); return true; } } } return false; } And it works, the custom cursor changes. This implementation is not efficient because the cursor is loaded per frame, but I just wanted to use it to check everything is working correctly. As said, we are not going to commit any change to Win32Display but if you need more help or have doubts please write us or reopen the ticket. Thanks for your patience! |
(0007627)
jsantos 2021-12-01 02:08 |
I think we finally can close this : ) |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1412 | [NoesisGUI] Unity3D | major | always | 2019-02-24 01:01 | 2021-11-29 14:26 |
Reporter: | nokola | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.0b6 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2.0 | ||||
Platform: | Any | ||||
Summary: | Noesis fails to render Bengali/Sinhala/other fonts with ligatures and unicode characters | ||||
Description: | See summary :) | ||||
Tags: | |||||
Steps To Reproduce: |
1. Display any ligature/non-English compound character font. Example: <TextBlock Text="প্লাবনের পরে সমস্ত পৃথিবী" FontFamily="Fonts/#Nirmala UI" FontSize="48"/> (attached Nirmala.zip font used above) OR <TextBlock Text="প্লাবনের পরে সমস্ত পৃথিবী" FontSize="48"/> (just use default font) Expected: displays correctly (same as Word or Google Translate: https://translate.google.com/#view=home&op=translate&sl=auto&tl=en&text=%E0%A6%AA%E0%A7%8D%E0%A6%B2%E0%A6%BE%E0%A6%AC%E0%A6%A8%E0%A7%87%E0%A6%B0%20%E0%A6%AA%E0%A6%B0%E0%A7%87%20%E0%A6%B8%E0%A6%AE%E0%A6%B8%E0%A7%8D%E0%A6%A4%20%E0%A6%AA%E0%A7%83%E0%A6%A5%E0%A6%BF%E0%A6%AC%E0%A7%80 Actual: Both default and Nirmala fonts are wrong. Displayed correctly in Word and online for comparison Note: this has been issue in Noesis 2.1. I opened it now because we got reports from 2 different users last week, and I was waiting to try and test Noesis 2.2 beta. |
||||
Additional Information: | |||||
Attached Files: |
Nirmala.zip (2,135,613 bytes) 2019-02-24 01:01 https://www.noesisengine.com/bugs/file_download.php?file_id=968&type=bug ExampleFontIssue.jpg (91,614 bytes) 2019-02-24 01:01 https://www.noesisengine.com/bugs/file_download.php?file_id=969&type=bug |
||||
Notes | |
(0005454)
jsantos 2019-02-24 04:16 |
Yes, ligatures aren't implemented yet. Thanks for the ticket. |
(0005456)
nokola 2019-02-24 06:37 |
Thank for the info! Is it possible for me to implement them somehow? (maybe expose some access to the text renderer/options?) I'm not sure what's involved in implementing them, however it will significantly hinder a group of customers from using the app our team is making. I'm willing to do some work to get them done faster, if needed. |
(0005458)
nokola 2019-02-24 19:36 |
Also confirmed issue with Arabic, Hindi, Tamil, Telugu. Btw, our app's biggest user base currently is India (if it helps with prioritization.) Not sure how many Noesis users are affected overall across all Noesis apps. just checking - are you using Skia for font rendering? I'm looking into Skia + HarfBuzz combination to render everything (same libraries used in Chrome) |
(0005459)
jsantos 2019-02-24 21:02 |
Ligatures are not implemented. It's been requested many times. Unfortunately this feature won't go in 2.2 (we need to release this version before GDC). We use our own internal renderer (+ a few parts of FreeType), so probably the way we will go is using HarfBuzz. For now the only workaround is preprocessing the text yourself and change the unicode points accordingly. How urgent is this for you? |
(0005461)
nokola 2019-02-24 21:08 |
Thanks for the info! I would like to have it in our app's next release (~1 week.) Deciding whether to release now and do this later. Generally it's the next top 2 issue on our task list (after startup performance, which is ongoing investigation.) Do you know if HarfBuzz can pre-process text and generate new codepoints? Or is it another solution? If you don't know yet no problem! I am researching on my own too. Haven't worked with HarfBuzz until last week when we got the issue reports. |
(0005464)
jsantos 2019-02-24 21:18 |
Yes, HarfBuzz can do that. |
(0005465)
nokola 2019-02-24 21:27 |
Just discussed with my coworker. We have two font rendering tasks: 1. UI, currently Noesis I'll look into HarfBuzz for that part. 2. Render to texture, currently uses TextMesh with Unity's native OS font rendering. We were hoping to use Noesis since 2.2 mentioned support for OS fonts For #2 we just decided to try OS font rendering instead of TextMesh (Android only, since 90% of our users are on Android in India), because we haven't tested Noesis 2.2's font support for OS fonts yet. Example: does Noesis load the full OS font? or just characters needed? When is memory freed, etc. I'll ask on the forums. We'll render to texture from a native plugin, then draw in Unity with mesh. Thanks again for the info! |
(0005466)
nokola 2019-02-24 21:34 |
Just realized HarfBuzz may substitute characters, but will also reposition glyphs -> not sure how this will work with the current Noesis. Thus will wait for Noesis to support ligatures for #1 above (the UI) and will use OS-side font rendering for #2. Either way I don't want to take too much time from your GDC work, no problem to pick up the discussion later. |
(0005471)
jsantos 2019-02-25 21:44 |
Thanks! Yes, please ask about those font doubts you have on the forums. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1788 | [NoesisGUI] C++ SDK | minor | always | 2020-09-09 14:57 | 2021-11-29 14:26 |
Reporter: | mdube | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.4 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.0 | ||
Target Version: | 3.2.0 | ||||
Platform: | Any | ||||
Summary: | Emoji with zero width joiner (zwj) should render with a zero width space on fallback | ||||
Description: |
Emoji can be combined together using the special unicode character 'zero width joiner'. When the combined picture is not available, the fallback is simply to render the emoji chain one by one. Currently Noesis does this, but renders the zero width joiner as a large space. All details can be found in my forum post there: https://www.noesisengine.com/forums/viewtopic.php?f=3&t=2087 |
||||
Tags: | emoji | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
615 | [NoesisGUI] C# SDK | minor | always | 2015-03-24 13:24 | 2021-11-29 14:24 |
Reporter: | easylaser | Platform: | XAML | ||
Assigned To: | sfernandez | OS: | Mac OS X | ||
Priority: | normal | OS Version: | 10.10.2 | ||
Status: | resolved | Product Version: | 3.0 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.0 | ||
Target Version: | 3.2.0 | ||||
Platform: | Any | ||||
Summary: | Unsupported property "FlowDirection" | ||||
Description: |
<Style x:Key="Style.TextBox.Field" TargetType="{x:Type TextBox}"> <Setter Property="FlowDirection" Value="RightToLeft"/> </Style> |
||||
Tags: | Damalini | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0002362)
sfernandez 2015-03-25 22:05 |
Not planned yet, maybe something we can investigate after Inline formatting. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1868 | [NoesisGUI] C++ SDK | feature | always | 2020-12-28 15:42 | 2021-11-29 14:24 |
Reporter: | jsantos | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.0 | ||
Target Version: | 3.2.0 | ||||
Platform: | Any | ||||
Summary: | Implement Font differentiation when matching famiy names | ||||
Description: |
After extracting family name, face name, style, weight and stretch from an OpenType font file, WPF runs an algorithm that resolves potential conflicts between these values. This process is called font differentiation, and consists on the following steps: 1. Build combined family and face name 2. Extract terms for style 3. Extract terms for stretch 4. Extract terms for weight 5. Determine resolved weight 6. Determine resolved stretch 7. Determine resolved style 8. Extract numbers that describe font style, weight and stretch from face names 9. Determine final FontFamily and FaceName. This is explained in the 'WPF font selection model' document. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
WPF Font Selection Model.pdf (863,736 bytes) 2020-12-28 15:42 https://www.noesisengine.com/bugs/file_download.php?file_id=1356&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1829 | [NoesisGUI] C++ SDK | feature | N/A | 2020-11-05 18:03 | 2021-11-29 14:24 |
Reporter: | steveh | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.6 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.0 | ||
Target Version: | 3.2.0 | ||||
Platform: | Any | ||||
Summary: | Feature Request: Support FrameworkElement.FlowDirection | ||||
Description: |
Hi guys, We are planning on localising our game into Arabic. Part of that will require us to change the layout of our UI from "Left to Right" to "Right to Left" layout. This is a medium priority for us, I imagine we won't require this for quite a while (probably within 6 months or so), but it's nice to plan ahead to get ready for when we hit our localisation requirements. Cheers! |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007226)
steveh 2021-05-06 22:46 |
Hi guys, just chasing this up. Has any progress been made in this area? Just to give you an update on priority, we're hitting feature complete fairly soonish and we're working towards content complete. Ideally we need localisation done by that point so we're looking at October at the Latest. Is this still a reasonable time scale? |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1280 | [NoesisGUI] Unreal | minor | always | 2018-04-06 11:44 | 2021-11-29 14:24 |
Reporter: | GeorgeR | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.1.0f1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.0 | ||
Target Version: | 3.2.0 | ||||
Platform: | Any | ||||
Summary: | StackPanel FlowDirection unsupported | ||||
Description: | LogNoesis: Warning: /Game/Frontier/UI/Themes/Generic.Generic(965): Unknown member StackPanel.FlowDirection | ||||
Tags: | |||||
Steps To Reproduce: | 1. Import the provided file and see output log | ||||
Additional Information: | |||||
Attached Files: |
Generic.xaml (75,133 bytes) 2018-04-06 11:44 https://www.noesisengine.com/bugs/file_download.php?file_id=925&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2067 | [NoesisGUI] C++ SDK | minor | have not tried | 2021-07-28 11:50 | 2021-11-29 14:22 |
Reporter: | jsantos | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.0.11 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.2.0 | ||||
Platform: | Any | ||||
Summary: | Divide by zero in SDFGenerator | ||||
Description: |
However, we then hit a divide by zero in SDFGenerator.cpp, line 348:// Calculate bounding box const SPoint _P1mP0 = s.pts[1] - s.pts[0]; SPoint t = _P1mP0 - s.pts[2] + s.pts[1]; t.x = _P1mP0.x / t.x; <- Divide by zero t.y = _P1mP0.y / t.y; In this case, t.x was zero. It’s not urgent – we’ve just disabled FP exceptions whenever we call into Noesis, so this is not blocking us. We’d just like to be able to remove this at some point in the future I’ve added a check for zero in this case, and set it to a small value, and it prevents the crash. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
locals.txt (6,220 bytes) 2021-07-28 11:50 https://www.noesisengine.com/bugs/file_download.php?file_id=1464&type=bug Callstack.txt (14,226 bytes) 2021-07-28 11:50 https://www.noesisengine.com/bugs/file_download.php?file_id=1465&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2092 | [NoesisGUI] C++ SDK | minor | always | 2021-08-25 22:00 | 2021-11-29 14:21 |
Reporter: | ExtZGholson | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | high | OS Version: | |||
Status: | resolved | Product Version: | 3.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.0 | ||
Target Version: | 3.2.0 | ||||
Platform: | Any | ||||
Summary: | Fonts with overlapping paths | ||||
Description: | When rendering fonts in Noesis 3.0+ Fonts have overlapping paths. This results in undesirable font artifacts / visual appearances. | ||||
Tags: | Fonts, Text | ||||
Steps To Reproduce: |
Create a textfield Use font is Inter - https://fonts.google.com/specimen/Inter Apply non transparent fill to font Set font size to 30+ Observe paths overlapping on font |
||||
Additional Information: | |||||
Attached Files: |
LargeFontIssue.png (5,124 bytes) 2021-08-25 22:00 https://www.noesisengine.com/bugs/file_download.php?file_id=1472&type=bug MidsizeFontIssue.png (4,937 bytes) 2021-08-25 22:00 https://www.noesisengine.com/bugs/file_download.php?file_id=1473&type=bug TextExample.png (39,019 bytes) 2021-08-25 22:00 https://www.noesisengine.com/bugs/file_download.php?file_id=1474&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2190 | [NoesisGUI] Unity3D | major | always | 2021-11-16 13:06 | 2021-11-27 03:34 |
Reporter: | nvonhertzen | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.2 | ||
Target Version: | 3.1.2 | ||||
Platform: | Any | ||||
Summary: | DropShadowEffects do not work with Unity PS5 builds | ||||
Description: |
At least DropShadowEffect (maybe other offscreen rendered elements as well) fail with Unity PS5 builds. It fails to draw any elements that have a DropShadow attached to them. Removing that DropShadow renders the elements correctly. Tested with Noesis 3.1.1, Unity 2021.2.0b11, and Prospero SDK 3.000. |
||||
Tags: | |||||
Steps To Reproduce: |
1. Create new Unity project with the Hello World sample 2. Apply a DropShadowEffect on an element such as the logo 3. Build and run on PS5, observe the element with the shadow missing |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007577)
jsantos 2021-11-16 17:57 |
Thanks for this report, I will check ASAP |
(0007624)
jsantos 2021-11-26 22:26 (Last edited: 2021-11-27 03:34) |
r10954 and 10955 should fix this |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2159 | [NoesisGUI] C++ SDK | major | always | 2021-10-25 23:55 | 2021-11-25 12:23 |
Reporter: | ExtZGholson | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.2 | ||
Target Version: | 3.1.2 | ||||
Platform: | Switch | ||||
Summary: | Switch - Software Keyboard not opening when tapping on textbox | ||||
Description: | We are expecting to open the software keyboard when the player taps on the textbox on the Nintendo Switch. As of right now, it just sets focus to the textbox. At first we believed that the keyboard wasn't opening because we had initial focus on the textbox. If we use the d-pad to navigate away from the textbox and then Tap on it with our finger, it fails to open. | ||||
Tags: | Focus, keyboard, switch, TextBox | ||||
Steps To Reproduce: | Create a textbox and a button below the textbox. Set the textbox to focus by default when the view opens. Navigate away from the textbox with the d-pad on. Tap on the textbox with your finger. Observe that the textbox is focused but the software keyboard does not open. | ||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007609)
jsantos 2021-11-24 16:51 (Last edited: 2021-11-24 16:54) |
I am trying our 'Login' example with Nintendo Switch and what I am observing is that when the TextBox has focus and you tap on it, the keyboard does not appear. But if the TextBox doesn't have the focus the keyboard is shown correctly. This is a bit different to the description of this bug, could you please confirm we are observing the same thing? I am also observing that when the keyboard does not appear, I am not able to move way using the d-pad, I need to press B to cancel the engagement. This is not intuitive at all and must be fixed. |
(0007617)
jsantos 2021-11-25 12:23 |
We have fixed all the mentioned issues. Now our Login sample works as expected with Nintendo Switch. Please reopen if you need something else. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2136 | [NoesisGUI] C++ SDK | minor | always | 2021-10-04 14:10 | 2021-11-25 01:56 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.2 | ||
Target Version: | 3.1.2 | ||||
Platform: | Any | ||||
Summary: | Unable to parse big numbers with <sys:UInt32> | ||||
Description: |
The following xaml shows an error "Unable to convert '3828302698' to a valid value for System.UInt32" in Noesis:<Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:sys="clr-namespace:System;assembly=mscorlib"> <Grid.Resources> <sys:UInt32 x:Key="id">3828302698</sys:UInt32> </Grid.Resources> <TextBlock Text="{Binding Source={StaticResource id}}" HorizontalAlignment="Center" VerticalAlignment="Center"/> </Grid> |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007612)
jsantos 2021-11-25 01:56 |
Fixed in r10938 Thanks for reporting! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2010 | [NoesisGUI] C++ SDK | feature | always | 2021-05-10 14:33 | 2021-11-25 00:13 |
Reporter: | jsantos | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.2 | ||
Target Version: | 3.1.2 | ||||
Platform: | Any | ||||
Summary: | Upgrade emscripten to 2.0 | ||||
Description: |
Our C++ SDK is still using 1.39.13 and that version is quite old. Besides, we shouldn't be including emscripten.h from CompilerSettings. Just declaring emscripten_debugger should be enough. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2134 | [NoesisGUI] C++ SDK | minor | sometimes | 2021-09-29 02:08 | 2021-11-25 00:07 |
Reporter: | steveh | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.2 | ||
Target Version: | 3.1.2 | ||||
Platform: | Any | ||||
Summary: | Incorrect asert logic in BaseVector<T>::Append | ||||
Description: |
Hi guys, I've just been given an assert to look into. It's triggered on the following line: template<typename T> inline void BaseVector<T>::Append(const T* first, const T* last) { NS_ASSERT(last < Begin() || first >= End()); // <<<< HERE The end of the callstack is here: > Game.exe!Noesis::BaseVector<unsigned char>::Append(const unsigned char * first, const unsigned char * last) Line 434 C++ Symbols loaded. Game.exe!Noesis::VGL::AddSVGPath(Noesis::VGLPath * p, const Noesis::SVGPath & path) Line 220 C++ Symbols loaded. Game.exe!Noesis::GeometryProxy::GetPath() Line 44 C++ Symbols loaded. T* first 0x0000000148240080 "\x2" const unsigned char * T* last 0x0000000148240100 "\x2" const unsigned char * Vector<T>::mBegin 0x0000000148240100 void * So the SVG path contains 128 bytes worth of data from address 0x148240080 -> 0x148240100, and the address for the vector's heap allocated data starts at the last address 0x1482040100. This is perfectly valid from what I can see, it's just that both address spaces are contiguous and the SVG path is just before the path's data in memory. I think the asserts need to be last <= Begin, i.e: NS_ASSERT(last <= Begin() || first >= End()); Cheers, -Steven |
||||
Tags: | |||||
Steps To Reproduce: | N/A, randomly happens depending on address allocation. | ||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007489)
jsantos 2021-09-29 16:13 |
You are right, the assert is not correct and there are more place in Vector (and String probably) with the same error. I will carefully review all of them. Thanks steve! |
(0007611)
jsantos 2021-11-25 00:06 |
Fixed in r10936 Thanks steve! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2157 | [NoesisGUI] C++ SDK | major | always | 2021-10-25 15:32 | 2021-11-24 16:45 |
Reporter: | Ryan | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.2 | ||
Target Version: | 3.1 | ||||
Platform: | Any | ||||
Summary: | Socket library is already initialized on NX | ||||
Description: |
Unfortunately there is no way on NX to discover if the socket library is already initialized or not. We are using a define for that (Socket.inl) #ifndef NS_DISABLE_SOCKET_INIT static nn::socket::ConfigDefaultWithMemory SocketConfigWithMemory; nn::Result r = nn::socket::Initialize(SocketConfigWithMemory); NS_ASSERT(r.IsSuccess()); r = nn::nifm::Initialize(); NS_ASSERT(r.IsSuccess()); #endif I suggest to separate profiler function into different library for linking. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007534)
jsantos 2021-10-25 19:32 |
Even if we separate into a new library we would have the same problem if you are using this profiling library with another 3rdparty middleware that also initializes socket library. I see two solutions: 1. Requesting to Nintendo a change in the API. In the other platforms, double initialization of sockets is fine. 2. Export a callback (in integration API) to initialize sockets. That way, client code is in charge of that. Does the temporal workaround of using NS_DISABLE_SOCKET_INIT work for you? |
(0007535)
Ryan 2021-10-26 02:53 |
I un-link other 3rd party middleware's network function for now. However, if we start to implement the network function for our project, I will do NS_DISABLE_SOCKET_INIT. |
(0007537)
jsantos 2021-10-26 12:00 (Last edited: 2021-10-26 12:01) |
I am checking the latest documentation available on Nintendo website and it read this regarding nn::nifm::InitializeThe network connection management library must be initialized by this function ahead of time before the library's functions can be used, unless noted otherwise for individual functions. The function also returns an indication of success if the library has been initialized already. So it gives me the impression they changed the API in the latest version. I need to verify this though. |
(0007608)
jsantos 2021-11-24 16:45 (Last edited: 2021-11-24 16:45) |
Hi Ryan, I have checked with the latest Nintendo SDK (13.3.0 and 14.0.0) and it seems they are still aborting when socket is initialized twice. Nintendo is not going to change this behavior. So I think the best solution is just keep using our define NS_DISABLE_SOCKET_INIT (by the way in r10934 I fixed a minor issue about this). It is also very important that you don't release your game with NS_PROFILE enabled and this macro is intended only for profiling and connecting the Inspector. I am going to close this, but if you need anything more, please reopen. Thank you |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2165 | [NoesisGUI] C++ SDK | major | always | 2021-10-27 13:11 | 2021-11-23 20:49 |
Reporter: | Logris | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.2 | ||
Target Version: | 3.1.2 | ||||
Platform: | Any | ||||
Summary: | View does not resize when window Restored or Maximized | ||||
Description: | https://www.noesisengine.com/forums/viewtopic.php?f=3&t=2456 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007550)
Logris 2021-10-28 13:30 (Last edited: 2021-10-28 14:14) |
Window::SetWidth() and Window::SetHeight() doesn't work either, due to validation void Window::OnDisplaySizeChanged(Display*, uint32_t width, uint32_t height) { if (width != (uint32_t)GetWidth() || height != (uint32_t)GetHeight()) !!!!!!!!!!!!! ... } |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2171 | [NoesisGUI] C++ SDK | minor | always | 2021-10-27 17:04 | 2021-11-23 17:00 |
Reporter: | pdx_lysannschlegel | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.2 | ||
Target Version: | 3.1.2 | ||||
Platform: | Any | ||||
Summary: | clang warning in NsMath/Vector.h (ignored-qualifiers) | ||||
Description: |
When building anything that includes NsMath/Vector.h with clang version at least 10, and -Wignored-qualifiers enabled, the warning is triggered in several places: Include/NsMath/Vector.h:36:5: error: 'const' type qualifier on return type has no effect [-Werror,-Wignored-qualifiers] const float operator[](uint32_t i) const; ^~~~~~ Include/NsMath/Vector.h:106:5: error: 'const' type qualifier on return type has no effect [-Werror,-Wignored-qualifiers] const float operator[](uint32_t i) const; ^~~~~~ Include/NsMath/Vector.h:176:5: error: 'const' type qualifier on return type has no effect [-Werror,-Wignored-qualifiers] const float operator[](uint32_t i) const; ^~~~~~ Similar in NsMath/Vector.inl: Include/NsMath/Vector.inl:33:8: error: 'const' type qualifier on return type has no effect [-Werror,-Wignored-qualifiers] inline const float Vector2::operator[](uint32_t i) const ^~~~~~ Include/NsMath/Vector.inl:238:8: error: 'const' type qualifier on return type has no effect [-Werror,-Wignored-qualifiers] inline const float Vector3::operator[](uint32_t i) const ^~~~~~ Include/NsMath/Vector.inl:452:8: error: 'const' type qualifier on return type has no effect [-Werror,-Wignored-qualifiers] inline const float Vector4::operator[](uint32_t i) const ^~~~~~ The above output is when building with version 3.0, but I did a quick check and looks like 3.1 headers still look the same, so I am setting the version to 3.1. This issue is espacially annoying when building with -Werror. Of course, we can work around it by disabling the warning before including these, but this requires also disabling it anywhere where the files are included indirectly via other noesis SDK headers. |
||||
Tags: | |||||
Steps To Reproduce: |
I don't have very easy steps to reproduce but the warning should be pretty clear as to what's wrong. But the general idea should be: 1. Set up a C++ project, set to cpmile with clang 10, and enable -Wignored-qualifiers (and optionally -Werror) compiler flags. 2. Include NsMath/Vector.h or Vector.inl in any file that builds with these warning flags enabled. 3. Compile. Potentially this can be reproduced with older clang versions as well, but I cannot currently test this. |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007546)
jsantos 2021-10-27 18:54 |
Thanks for this, it will be fixed |
(0007605)
jsantos 2021-11-23 17:00 |
Fixed in r10930 Thank you! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2179 | [NoesisGUI] C# SDK | major | always | 2021-11-05 20:25 | 2021-11-23 11:00 |
Reporter: | DavidYawCSpeed | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.2 | ||
Target Version: | 3.1.2 | ||||
Platform: | Linux | ||||
Summary: | WebBrowser interferes with external processes and application termination | ||||
Description: |
When the web browser component is loaded, it makes several other things not work. - We handle Ctrl-C to do a clean shutdown: Console.CancelKeyPress += Console_CancelKeyPress, and the Console_CancelKeyPress() method triggers a clean shutdown. When the web browser is loaded, Ctrl-C kills the application immediately, bypassing the clean shutdown. - We also handle kill signals to do a clean shutdown: AppDomain.CurrentDomain.ProcessExit += AppDomain_ProcessExit, and AppDomain_ProcessExit also triggers a clean shutdown. (AppDomain.CurrentDomain.ProcessExit is trigged on Windows by closing the Noesis console window, or on Linux with the `kill` or `killall` command line utilities.) When the web browser is loaded, `killall UIShell` kills the application immediately, bypassing the clean shutdown. - We spawn various external processes, to do various tasks in the OS. We use the .Net `System.Diagnostics.Process` class to do this. We do process.Start() followed by process.WaitForExit(). The WaitForExit() call is never returning, which interferes with many things in our system. We have traced these issues to `libcef.so`. If we remove that library, all three of these things start working again. Also, all of those things work initially, but then stop working once the web browser view is loaded. These issues do not occur on Windows-x64. This appears to be an issue only on Linux. (Possibly only Linux-ARM64. I didn't test Linux-x64, so I don't know one way or the other.) This issue occurs with both WebBrowser 1.0.2 and 1.0.3. My best guess as to what's going on: For Ctrl-C and `kill`, perhaps libcef.so is installing its own signal handler, and it needs to be changed to not do that? For the external process thing, I have no idea what the cause could be, but it's definitely that library. |
||||
Tags: | |||||
Steps To Reproduce: |
Here's my debugging code. Within a Linux-ARM64 application that loads the web browser, do this:// Early at startup: Console.CancelKeyPress += Console_CancelKeyPress; AppDomain.CurrentDomain.ProcessExit += AppDomain_ProcessExit; // At the end of startup: RunExternalProcess("/bin/ls", "-l /"); // Get a long-format listing of the root dir. private static void Console_CancelKeyPress(object sender, ConsoleCancelEventArgs e) { logger.Warn("Ctrl-C received. Ignoring for testing purposes."); e.Cancel = true; } private static void AppDomain_ProcessExit(object sender, EventArgs e) { // This method is triggered if you `kill` this task on Linux, or if you close the // console window on Windows. (And also if the process exits normally, of course.) // There's no way to "cancel" this. Our real code triggers an emergency shutdown, and // then blocks here until the emergency shutdown is complete. For testing purposes, // just print that we got this event, wait a bit, and then let the process exit happen. logger.Warn("AppDomain exiting."); Thread.Sleep(3000); } private static void RunExternalProcess(string executable, string arguments) { using Process p = new Process(); p.StartInfo.FileName = executable; p.StartInfo.Arguments = arguments; p.StartInfo.UseShellExecute = false; p.StartInfo.RedirectStandardOutput = true; p.StartInfo.RedirectStandardError = true; p.OutputDataReceived += dataReceived; p.ErrorDataReceived += dataReceived; p.Start(); // This is necessary to make the event get triggered. No need to read the streams, // the event will do the data recording we need. p.BeginOutputReadLine(); p.BeginErrorReadLine(); logger.Warn("Before WaitForExit: {0} {1}", executable, arguments); p.WaitForExit(); logger.Warn("After WaitForExit: {0} {1}", executable, arguments); } - With libcef.so present, before the web browser view has loaded, Ctrl-C prints the expected log message, and the application doesn't exit. After the web browser view has loaded, Ctrl-C terminates the application without a message, `kill` terminates the application without a message, and all processes spawned don't return, including `ls -l`. - With the exact same compile output, but libcef.so removed, after the web browser view has loaded, Ctrl-C prints the expected message and doesn't exit, `kill` prints the expected message, waits 3 seconds, then exists, and `ls -l` returns properly. At the moment, the web browser is a smaller part of our application than spawning external processes is, so I have web browser disabled. |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007601)
sfernandez 2021-11-23 11:00 |
Fixed in WebBrowser 1.0.4 |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2199 | [NoesisGUI] C# SDK | trivial | always | 2021-11-23 10:16 | 2021-11-23 10:20 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.2 | ||
Target Version: | 3.1.2 | ||||
Platform: | Any | ||||
Summary: | Incorrect access modifier for OnApplyTemplate | ||||
Description: |
From forum post: https://www.noesisengine.com/forums/viewtopic.php?f=3&t=2484 In NoesisGUI the access modifier of FrameworkElement.OnApplyTemplate is 'protected', but in System.Windows, it is 'public'. I need add macros to override this method, this is so urgly. #if NOESIS protected override void OnApplyTemplate() #else public override void OnApplyTemplate() #endif { ... ... } |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007600)
sfernandez 2021-11-23 10:19 |
Fixed in changeset 10745. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2198 | [NoesisGUI] Unity3D | minor | always | 2021-11-21 13:32 | 2021-11-22 21:04 |
Reporter: | Flem100@live.dk | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1.2 | ||||
Platform: | Windows | ||||
Summary: | Errors on extracting from zip Windows 11 | ||||
Description: |
I get the errors shown in the attached image when I unzip. I have also tried using rar, same problem. If I skip the first, I get the next one later. My question is whether this is going to be a problem when using the package. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
NoesisGUI-Unity-3.1.1-indie.zip error.png (23,631 bytes) 2021-11-21 13:32 https://www.noesisengine.com/bugs/file_download.php?file_id=1540&type=bug |
||||
Notes | |
(0007594)
sfernandez 2021-11-22 11:28 |
Let us analyze what is happening because I was able to reproduce the problem, I just downloaded it and it gives me a CRC error on libNoesis.a too. |
(0007599)
jsantos 2021-11-22 21:03 |
We are having issues with our hosting. Please, download again. Zip must always decompress without errors. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2194 | [NoesisGUI] Unity3D | minor | always | 2021-11-18 00:01 | 2021-11-18 17:55 |
Reporter: | stonstad | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.0.12 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Black Drop Shadows Rendered Transparent in Unity | ||||
Description: |
This XAML <DropShadowEffect BlurRadius="50" Direction="0" ShadowDepth="0" Opacity="1" Color="Black"/> // OR <DropShadowEffect BlurRadius="50" Direction="0" ShadowDepth="0" Opacity="1" Color="#110000/> renders as result image HEX110000.png. This XAML <DropShadowEffect BlurRadius="50" Direction="0" ShadowDepth="0" Opacity="1" Color="#FF0000/> renders as result image HEXFF0000.png. Is there something I should be doing to render shadows as black? |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
HEX110000.png (190,273 bytes) 2021-11-18 00:01 https://www.noesisengine.com/bugs/file_download.php?file_id=1537&type=bug HEXFF0000.png (175,387 bytes) 2021-11-18 00:01 https://www.noesisengine.com/bugs/file_download.php?file_id=1538&type=bug |
||||
Notes | |
(0007588)
sfernandez 2021-11-18 10:41 |
In my tests the drop shadow seems to work the same as in WPF. I even tried with Photoshop and the results are very similar. What is happening is that BlurRadius is very big and it mixes with the background, but there is a difference if you remove the shadow. If you use a white background you can clearly see that there is a shadow there. When using red as shadow it stands out more because you don't expect that color around the text and it is very different from the background. If you need a bit more of contrast with the background in your texts, you can always use the text stroke: <TextBlock noesis:Stroke="#80000000" noesis:StrokeThickness="2.5" Foreground="White" .../> |
(0007590)
stonstad 2021-11-18 17:55 |
OK, thank you Sergio! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2191 | [NoesisGUI] Unity3D | major | always | 2021-11-16 21:57 | 2021-11-17 21:41 |
Reporter: | rachelle | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1 | ||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.2 | ||
Target Version: | 3.1.2 | ||||
Platform: | Any | ||||
Summary: | Scaling broken on 4K monitors post-3.1.0 upgrade | ||||
Description: |
Our top-level UI is controlled by a file called HUD.xaml. In this file, we bind the top-most UI element's width and height to the screen width and height, like so: <Grid x:Name="LayoutRoot" Width="{Binding Layout.ScreenWidth}" Height="{Binding Layout.ScreenHeight}" RenderTransformOrigin="0.5,0.5"> The default HorizontalAlignment and VerticalAlignment -- Stretch -- is set for this the LayoutRoot element. In Unity, we bind UnityEngine.Screen width and height to the driving data model as follows: layout.ScreenWidth = Screen.width; layout.ScreenHeight = Screen.height; We are not using Viewboxes. Prior to upgrading to Noesis 3.1.0, the above bindings were sufficient to properly scale our UI and fit it to the screen regardless of monitor size. Post-upgrade, things are not rendering properly on 3840 x 2160 monitors (but are rendering fine on smaller screens). Specifically, the UI doesn't appear to be stretching properly. We only see the top left quarter or so of our main HUD, with the bottom left, bottom right, and top right cut off. This makes the game unplayable and is preventing us from merging our Noesis 3.1.0 upgrade into our build. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007582)
sfernandez 2021-11-17 18:48 |
Hi, In 3.1 we incorporated support for display DPI scale in the View. This means that if your display has the scale set to 150%, the view will scale the UI by 1.5 (this is set when creating the view in the NoesisView component: _uiView.SetScale(Screen.dpi > 0.0f ? Screen.dpi / 96.0f : 1.0f)). If you are not using Viewboxes, how is the UI scaled? are you using a LayoutTransform with a ScaleTransform instead? Anyway, if you don't set the Width/Height of the LayoutRoot, as its alignment is set to Stretch it will automatically fill the entire screen size, why do you need to explicitly set those properties to Screen.width/height? |
(0007583)
rachelle 2021-11-17 20:39 |
Thank you, removing bindings to width and height resolved this. And yes, we are using a LayoutTransform with a ScaleTransform instead -- we apply this to each of the 9 segments of a nine slice on our main HUD, as well as any floating/overlay elements throughout the UI. |
(0007584)
sfernandez 2021-11-17 21:41 |
Thanks for the update, closing this. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2188 | [NoesisGUI] C# SDK | major | always | 2021-11-15 22:46 | 2021-11-16 13:08 |
Reporter: | DavidYawCSpeed | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | feedback | Product Version: | 3.1.1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Data Bindings to virtualized list items don't update | ||||
Description: |
I have a list control, and I'm binding to several properties of the items in that list. When the UI elements are removed due to list virtualization, The bound properties don't update, even when they should. In particular, I'm binding to ListViewItem.IsSelected. When the selected item is scrolled off of the top of the screen, it gets removed because list virtualization is enabled. When a new item is selected, the binding to the newly-selected item updates, but the binding to the newly-deselected item doesn't update. When I then look at the bound properties, it looks like multiple items are selected at the same time. Comparing against 3.0.12, it looks like the selected ListViewItem isn't removed until after it has been de-selected. Therefore the binding updates, and the bound property has the correct value. |
||||
Tags: | |||||
Steps To Reproduce: |
- I have a ListView. Via one of the default styles, VirtualizingPanel.VirtualizationMode=Recycling. - I am binding ListViewItem.IsSelected to a property on the item's data context. <Style x:Key="ListMenuListViewItemStyle" TargetType="{x:Type ListViewItem}"> <Setter Property="IsSelected" Value="{Binding IsSelectedItem}"/> - For demo purposes, I have debug prints on the Loaded & Unloaded events. <DataTemplate x:Key="SimpleMenuItemDataTemplateKey"> <Border x:Name="editBorder" BorderBrush="Transparent" Loaded="Border_OnLoaded" Unloaded="Border_OnUnloaded"> private void Border_OnLoaded(object sender, RoutedEventArgs args) { FrameworkElement fe = sender as FrameworkElement; ListViewItem lvi = (ListViewItem)fe.TemplatedParent.TemplatedParent; ListMenuItem menuItem = (args.Source as FrameworkElement)?.DataContext as ListMenuItem; String name = (menuItem as SimpleListMenuItem).Name; string lmiselected = menuItem.IsSelectedItem.ToString(); String selected = lvi.IsSelected.ToString(); logger.Error($"OnLoaded(): {name}, ListViewItem.IsSelected = {selected}, DataContextItem.IsSelectedItem = {lmiselected}"); } // Similar for Unloaded. - For demo purposes, I have a debug print on the setter of the IsSelectedItem property. private bool _isSelectedItem; public bool IsSelectedItem { get => _isSelectedItem; set { logger.Error($"IsSelectedItem.set: {this.ToString()}, DataContextItem.IsSelectedItem = {value}"); _isSelectedItem = value; RaisePropertyChangedEvent("IsSelectedItem"); } } ---------------------------- I am testing this using our language selection screen. the languages are on the list in alphabetical order by language ID. Using 3.1.1: On entering the screen, the visible items are loaded, and we explicitly re-select the first item in the list, cs-CZ. 2021-11-15 10:17:51.6579|ERROR|IsSelectedItem.set: cs-CZ, DataContextItem.IsSelectedItem = True 2021-11-15 10:17:51.7131|ERROR|OnLoaded(): cs-CZ, ListViewItem.IsSelected = True, DataContextItem.IsSelectedItem = True 2021-11-15 10:17:51.7131|ERROR|OnLoaded(): de-DE, ListViewItem.IsSelected = False, DataContextItem.IsSelectedItem = False 2021-11-15 10:17:51.7131|ERROR|OnLoaded(): en-US, ListViewItem.IsSelected = False, DataContextItem.IsSelectedItem = False 2021-11-15 10:17:51.7131|ERROR|OnLoaded(): es-ES, ListViewItem.IsSelected = False, DataContextItem.IsSelectedItem = False 2021-11-15 10:17:51.7131|ERROR|OnLoaded(): fi-FI, ListViewItem.IsSelected = False, DataContextItem.IsSelectedItem = False 2021-11-15 10:17:51.7131|ERROR|OnLoaded(): fr-FR, ListViewItem.IsSelected = False, DataContextItem.IsSelectedItem = False 2021-11-15 10:17:51.7729|ERROR|IsSelectedItem.set: cs-CZ, DataContextItem.IsSelectedItem = False 2021-11-15 10:17:51.7729|ERROR|IsSelectedItem.set: cs-CZ, DataContextItem.IsSelectedItem = True If I select another language that's currently on the screen, the data bindings for both the old & new selected items update. 2021-11-15 10:17:54.0138|ERROR|IsSelectedItem.set: en-US, DataContextItem.IsSelectedItem = True 2021-11-15 10:17:54.0146|ERROR|IsSelectedItem.set: cs-CZ, DataContextItem.IsSelectedItem = False Then back to the original selection. 2021-11-15 10:17:57.9800|ERROR|IsSelectedItem.set: cs-CZ, DataContextItem.IsSelectedItem = True 2021-11-15 10:17:57.9800|ERROR|IsSelectedItem.set: en-US, DataContextItem.IsSelectedItem = False Then, scroll down to the bottom of the list. Since the list is virtualizing, we get a bunch of unloaded & loaded events, including for the currently selected item. 2021-11-15 10:18:00.1216|ERROR|OnUnloaded(): cs-CZ, ListViewItem.IsSelected = True, DataContextItem.IsSelectedItem = True <----- Selected item unloaded! 2021-11-15 10:18:00.1240|ERROR|OnLoaded(): hu-HU, ListViewItem.IsSelected = False, DataContextItem.IsSelectedItem = False 2021-11-15 10:18:00.1240|ERROR|OnLoaded(): it-IT, ListViewItem.IsSelected = False, DataContextItem.IsSelectedItem = False 2021-11-15 10:18:00.1734|ERROR|OnUnloaded(): es-ES, ListViewItem.IsSelected = False, DataContextItem.IsSelectedItem = False 2021-11-15 10:18:00.1734|ERROR|OnUnloaded(): en-US, ListViewItem.IsSelected = False, DataContextItem.IsSelectedItem = False 2021-11-15 10:18:00.1734|ERROR|OnUnloaded(): de-DE, ListViewItem.IsSelected = False, DataContextItem.IsSelectedItem = False 2021-11-15 10:18:00.1765|ERROR|OnLoaded(): ja-JP, ListViewItem.IsSelected = False, DataContextItem.IsSelectedItem = False 2021-11-15 10:18:00.1765|ERROR|OnLoaded(): ko-KR, ListViewItem.IsSelected = False, DataContextItem.IsSelectedItem = False 2021-11-15 10:18:00.1765|ERROR|OnLoaded(): nl-BE, ListViewItem.IsSelected = False, DataContextItem.IsSelectedItem = False 2021-11-15 10:18:00.2168|ERROR|OnUnloaded(): hu-HU, ListViewItem.IsSelected = False, DataContextItem.IsSelectedItem = False 2021-11-15 10:18:00.2168|ERROR|OnUnloaded(): fr-FR, ListViewItem.IsSelected = False, DataContextItem.IsSelectedItem = False 2021-11-15 10:18:00.2168|ERROR|OnUnloaded(): fi-FI, ListViewItem.IsSelected = False, DataContextItem.IsSelectedItem = False 2021-11-15 10:18:00.2192|ERROR|OnLoaded(): pl-PL, ListViewItem.IsSelected = False, DataContextItem.IsSelectedItem = False 2021-11-15 10:18:00.2192|ERROR|OnLoaded(): pt-BR, ListViewItem.IsSelected = False, DataContextItem.IsSelectedItem = False 2021-11-15 10:18:00.2192|ERROR|OnLoaded(): ru-RU, ListViewItem.IsSelected = False, DataContextItem.IsSelectedItem = False 2021-11-15 10:18:00.2499|ERROR|OnUnloaded(): ja-JP, ListViewItem.IsSelected = False, DataContextItem.IsSelectedItem = False 2021-11-15 10:18:00.2508|ERROR|OnUnloaded(): it-IT, ListViewItem.IsSelected = False, DataContextItem.IsSelectedItem = False 2021-11-15 10:18:00.2508|ERROR|OnLoaded(): sv-SE, ListViewItem.IsSelected = False, DataContextItem.IsSelectedItem = False 2021-11-15 10:18:00.2508|ERROR|OnLoaded(): tr-TR, ListViewItem.IsSelected = False, DataContextItem.IsSelectedItem = False 2021-11-15 10:18:00.2821|ERROR|OnUnloaded(): nl-BE, ListViewItem.IsSelected = False, DataContextItem.IsSelectedItem = False 2021-11-15 10:18:00.2829|ERROR|OnUnloaded(): ko-KR, ListViewItem.IsSelected = False, DataContextItem.IsSelectedItem = False 2021-11-15 10:18:00.2829|ERROR|OnLoaded(): zh-CN, ListViewItem.IsSelected = False, DataContextItem.IsSelectedItem = False Now that the selected item is unloaded, clicking an item at the bottom of the list updates the new selected item's binding, but not the old selected item's binding. 2021-11-15 10:18:02.0472|ERROR|IsSelectedItem.set: tr-TR, DataContextItem.IsSelectedItem = True // No IsSelectedItem = False for cs-CZ! Using 3.0.12: The load and 'select something on the same screen' steps are the same. Scrolling down: Unloaded and Loaded events, but the selected item is never unloaded. (cs-CZ isn't in this list.) 2021-11-15 15:37:21.1415|ERROR|OnLoaded(): hu-HU, ListViewItem.IsSelected = False, DataContextItem.IsSelectedItem = False 2021-11-15 15:37:21.1576|ERROR|OnLoaded(): it-IT, ListViewItem.IsSelected = False, DataContextItem.IsSelectedItem = False 2021-11-15 15:37:21.1908|ERROR|OnUnloaded(): de-DE, ListViewItem.IsSelected = False, DataContextItem.IsSelectedItem = False 2021-11-15 15:37:21.1908|ERROR|OnLoaded(): ja-JP, ListViewItem.IsSelected = False, DataContextItem.IsSelectedItem = False 2021-11-15 15:37:21.2071|ERROR|OnUnloaded(): en-US, ListViewItem.IsSelected = False, DataContextItem.IsSelectedItem = False 2021-11-15 15:37:21.2071|ERROR|OnLoaded(): ko-KR, ListViewItem.IsSelected = False, DataContextItem.IsSelectedItem = False 2021-11-15 15:37:21.2411|ERROR|OnUnloaded(): es-ES, ListViewItem.IsSelected = False, DataContextItem.IsSelectedItem = False 2021-11-15 15:37:21.2411|ERROR|OnLoaded(): nl-BE, ListViewItem.IsSelected = False, DataContextItem.IsSelectedItem = False 2021-11-15 15:37:21.2764|ERROR|OnUnloaded(): fi-FI, ListViewItem.IsSelected = False, DataContextItem.IsSelectedItem = False 2021-11-15 15:37:21.2764|ERROR|OnLoaded(): pl-PL, ListViewItem.IsSelected = False, DataContextItem.IsSelectedItem = False 2021-11-15 15:37:21.6595|ERROR|OnUnloaded(): fr-FR, ListViewItem.IsSelected = False, DataContextItem.IsSelectedItem = False 2021-11-15 15:37:21.6652|ERROR|OnLoaded(): pt-BR, ListViewItem.IsSelected = False, DataContextItem.IsSelectedItem = False 2021-11-15 15:37:21.7076|ERROR|OnUnloaded(): hu-HU, ListViewItem.IsSelected = False, DataContextItem.IsSelectedItem = False 2021-11-15 15:37:21.7097|ERROR|OnLoaded(): ru-RU, ListViewItem.IsSelected = False, DataContextItem.IsSelectedItem = False 2021-11-15 15:37:21.7269|ERROR|OnUnloaded(): it-IT, ListViewItem.IsSelected = False, DataContextItem.IsSelectedItem = False 2021-11-15 15:37:21.7269|ERROR|OnLoaded(): sv-SE, ListViewItem.IsSelected = False, DataContextItem.IsSelectedItem = False 2021-11-15 15:37:21.7407|ERROR|OnUnloaded(): ja-JP, ListViewItem.IsSelected = False, DataContextItem.IsSelectedItem = False 2021-11-15 15:37:21.7407|ERROR|OnLoaded(): tr-TR, ListViewItem.IsSelected = False, DataContextItem.IsSelectedItem = False 2021-11-15 15:37:21.7767|ERROR|OnUnloaded(): ko-KR, ListViewItem.IsSelected = False, DataContextItem.IsSelectedItem = False 2021-11-15 15:37:21.7767|ERROR|OnLoaded(): zh-CN, ListViewItem.IsSelected = False, DataContextItem.IsSelectedItem = False 2021-11-15 15:37:21.7987|ERROR|OnUnloaded(): nl-BE, ListViewItem.IsSelected = False, DataContextItem.IsSelectedItem = False Then, when clicking on an item at the bottom of the list, the data binding updates for the old selected item, then it is removed because of the virtualization. 2021-11-15 15:37:30.9940|ERROR|IsSelectedItem.set: cs-CZ, DataContextItem.IsSelectedItem = False 2021-11-15 15:37:30.9940|ERROR|IsSelectedItem.set: tr-TR, DataContextItem.IsSelectedItem = True 2021-11-15 15:37:30.9940|ERROR|OnUnloaded(): cs-CZ, ListViewItem.IsSelected= False, DataContextItem.IsSelectedItem = False With 3.0.12, our list of list items only has one where IsSelectedItem is true, while 3.1.1 has multiple where this is true, because the data binding didn't update. |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007572)
sfernandez 2021-11-16 13:08 |
As I mentioned in #2168 this behavior is consistent with WPF. The solution is to disable virtualization for that list, or delegate the selection to the SelectedItem property instead of using the container IsSelected property. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2189 | [NoesisGUI] Unreal | minor | always | 2021-11-16 12:35 | 2021-11-16 12:42 |
Reporter: | hcpizzi | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.2 | ||
Target Version: | 3.1.2 | ||||
Platform: | Any | ||||
Summary: | Make UE4 plugin build without PCHs or Unity CPPs | ||||
Description: | The plugin doesn't build if Unity builds and PCHs are disabled | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1476 | [NoesisGUI] C++ SDK | major | always | 2019-05-24 18:52 | 2021-11-15 10:45 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.2 | ||
Target Version: | 3.1.2 | ||||
Platform: | Any | ||||
Summary: | Freezable objects inside templates are not correctly registered in the NameScope | ||||
Description: |
When a Freezable object inside a template has a name and the template gets applied to a control, the object registered in the NameScope does not correspond to the one that is created for that control visual tree. For example, in the following template, the DataTrigger is not able to find the correct "DropItem" behavior: <DataTemplate> <Grid> <Border x:Name="DragBorder" Background="Transparent" BorderBrush="Transparent" BorderThickness="0"> <i:Interaction.Behaviors> <LL:DropItemBehavior x:Name="DropItem"/> </i:Interaction.Behaviors> </Border> </Border> <DataTemplate.Triggers> <DataTrigger Binding="{Binding IsDragOver, ElementName=DropItem}" Value="True"> <Setter Property="Background" Value="DodgerBlue" TargetName="DragBorder"/> </DataTrigger> </DataTemplate.Triggers> </DataTemplate> |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007256)
sfernandez 2021-05-24 20:54 |
The current workaround is by accesing the freezable object through its owner FrameworkElement. So the previous xaml should work like this:<DataTemplate> <Grid> <Border x:Name="DragBorder" Background="Transparent" BorderBrush="Transparent" BorderThickness="0"> <i:Interaction.Behaviors> <LL:DropItemBehavior x:Name="DropItem"/> </i:Interaction.Behaviors> </Border> </Border> <DataTemplate.Triggers> <DataTrigger Binding="{Binding (i:Interaction.Behaviors)[0].IsDragOver, ElementName=DragBorder}" Value="True"> <Setter Property="Background" Value="DodgerBlue" TargetName="DragBorder"/> </DataTrigger> </DataTemplate.Triggers> </DataTemplate> |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2187 | [NoesisGUI] C++ SDK | minor | always | 2021-11-12 20:11 | 2021-11-15 10:45 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.2 | ||
Target Version: | 3.1.2 | ||||
Platform: | Any | ||||
Summary: | Cannot animate RenderTransform: 'root element is frozen' | ||||
Description: |
From forum post: https://www.noesisengine.com/forums/viewtopic.php?f=3&t=442 Trying to animate a named freezable in a template results in the indicated error. |
||||
Tags: | |||||
Steps To Reproduce: |
<ControlTemplate TargetType="Button"> <Ellipse Fill="Black"> <Ellipse.RenderTransform> <TranslateTransform X="0" x:Name="trans"/> </Ellipse.RenderTransform> </Ellipse> <ControlTemplate.Triggers> <Trigger Property="IsEnabled" Value="True"> <Trigger.EnterActions> <BeginStoryboard> <Storyboard> <DoubleAnimation Storyboard.TargetName="trans" Storyboard.TargetProperty="(TranslateTransform.X)" To="100" Duration="0:0:1"/> </Storyboard> </BeginStoryboard> </Trigger.EnterActions> </Trigger> </ControlTemplate.Triggers> </ControlTemplate> |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2183 | [NoesisGUI] C++ SDK | major | always | 2021-11-09 16:15 | 2021-11-12 12:34 |
Reporter: | steveh | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.2 | ||
Target Version: | 3.1.2 | ||||
Platform: | Any | ||||
Summary: | Assert in TimeManager::RemoveClock when removing a pending storyboard | ||||
Description: |
Hi guys, We're getting a reproducible crash caused by rapidly changing visual states when an element first loads. I've fixed the XAML which caused this (was a data trigger invoking a GoToStateAction fighitng with some code which calls VisualStateManager::GoToState). The assert was coming from here: void TimeManager::RemoveClock(Clock* clock, bool clearValue) { NS_ASSERT(mMasterClocks.Find(clock) != mMasterClocks.End() && clock->HasControllableRoot()); RemoveClocks(clock, clearValue); } The issue is that the clock had been registered and was in the mPendingMasterClocks map, and we hadn't had a tick to start the storyboard yet. I've also made a local patch to fix this, though I'm not 100% sure that the fix makes sense. This is my change, take note of my comments: void TimeManager::RemoveClock(Clock* clock, bool clearValue) { // Begin: SPH [2021-11-09] Ensure we detect pending master clocks before trying to remove a clock that's already started! NS_ASSERT(clock->HasControllableRoot()); if (HasPendingAnimations()) { // Remove the clock from the pending clocks if it hasn't started yet. Vector<Clock*>::Iterator iter = mPendingMasterClocks.Find(clock); if (iter != mPendingMasterClocks.End()) { mPendingMasterClocks.Erase(iter); return; } } // If we get here it must be a master clock NS_ASSERT(mMasterClocks.Find(clock) != mMasterClocks.End()); // End: SPH [2021-11-09] RemoveClocks(clock, clearValue); } My fix is to simply detect if the clock exists in the pending master clock map. If it does, remove it from there and early out so the RemoveClocks function is not invoked. This seemed to fix out issue without introducing any strange side effects from what I could see. |
||||
Tags: | |||||
Steps To Reproduce: |
1. Create a visual state group 2. Call GoToVisualState twice on the same frame. 3. When it changes state on the second attempt it will try to remove the first clock which is in the pending clock group. |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007560)
steveh 2021-11-09 22:50 |
I've been running with this change a little while and have noticed some issues. There are times when the clock is in *both* the master list and the pending list. If I don't remove it from the master list the animations never stop being applied so it remains in the original visual state. I've fixed this with the following change: void TimeManager::RemoveClock(Clock* clock, bool clearValue) { // https://www.noesisengine.com/bugs/view.php?id=2183 // Begin: SPH [2021-11-09] Ensure we detect pending master clocks before trying to remove a clock that's already started! NS_ASSERT(clock->HasControllableRoot()); if (HasPendingAnimations()) { // Remove the clock from the pending clocks if it hasn't started yet. Vector<Clock*>::Iterator iter = mPendingMasterClocks.Find(clock); if (iter != mPendingMasterClocks.End()) { mPendingMasterClocks.Erase(iter); // This might not exist in the master clocks, so only run this if we had a valid master clock. if (mMasterClocks.Find(clock) != mMasterClocks.End()) { RemoveClocks(clock, clearValue); } return; } } // If we get here it must be a master clock NS_ASSERT(mMasterClocks.Find(clock) != mMasterClocks.End()); // End: SPH [2021-11-09] RemoveClocks(clock, clearValue); } Again, not sure if this is the correct thing to do, but seems to work a little better. |
(0007561)
sfernandez 2021-11-10 12:47 |
Hi, I wasn't able to reproduce the assert by calling GoToVisualState twice in a frame. But looking at the code, everytime a master clock is registered, it gets added to both mMasterClocks and mPendingMasterClocks. I don't see how it can be in mPendingMasterClocks and not in mMasterClocks when trying to remove it, so I think it would be enough to just check if it exists in mMasterClocks before removing it (which will remove it from both lists), something like this: void TimeManager::RemoveClock(Clock* clock, bool clearValue) { NS_ASSERT(clock->HasControllableRoot()); if (mMasterClocks.Find(clock) != mMasterClocks.End()) { RemoveClocks(clock, clearValue); } } |
(0007568)
sfernandez 2021-11-12 10:48 |
Could you please confirm that my code is also working in your game? |
(0007569)
steveh 2021-11-12 11:12 |
Hey Sergio, I've just tested your change and it works great. Much appreciated. |
(0007570)
sfernandez 2021-11-12 12:34 |
Thanks for the confirmation, I've included the fix for the next release. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2086 | [NoesisGUI] C++ SDK | minor | sometimes | 2021-08-17 13:33 | 2021-11-11 20:43 |
Reporter: | Susanna.Rowland | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.2 | ||
Target Version: | 3.1.2 | ||||
Platform: | Any | ||||
Summary: | ContentTemplate binding with a converter is not displaying the content | ||||
Description: |
From forums post: https://www.noesisengine.com/forums/viewtopic.php?f=3&t=2389 |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2186 | [NoesisGUI] C++ SDK | minor | always | 2021-11-11 19:10 | 2021-11-11 19:46 |
Reporter: | nvonhertzen | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.2 | ||
Target Version: | 3.1.2 | ||||
Platform: | Any | ||||
Summary: | DynamicTextureSourceProxy extends incorrect class in reflection | ||||
Description: |
The DynamicTextureSourceProxy extends ImageSourceProxy but has NS_DECLARE_REFLECTION(DynamicTextureSourceProxy, BaseRenderProxy), which results in a assert for debug builds in RenderTree::GetRenderProxy with NS_ASSERT(proxy == 0 || DynamicCast<T*>(proxy) != 0) as the DynamicCast fails. Updating the NS_DECLARE_REFLECTION(DynamicTextureSourceProxy, BaseRenderProxy) to NS_DECLARE_REFLECTION(DynamicTextureSourceProxy, ImageSourceProxy) appears to fix this. |
||||
Tags: | |||||
Steps To Reproduce: | Use a DynamicTextureSource in an ImageBrush | ||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007567)
sfernandez 2021-11-11 19:46 |
Thanks a lot for the report. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2180 | [NoesisGUI] C# SDK | major | always | 2021-11-06 03:17 | 2021-11-11 10:00 |
Reporter: | DavidYawCSpeed | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.2 | ||
Target Version: | 3.1.2 | ||||
Platform: | Any | ||||
Summary: | WebBrowser: Links that want to be in a new window show outside the main UI | ||||
Description: |
Found with WebBrowser 1.0.3. When clicking a link, where the link wants to be in a new window/new tab, it shows/tries to show the page outside the main UI. Expected: Since this is a UI Element within a larger application, I expect the new window/new tab concept to be overridden, and it to open the link in the same area as the previous page. Actual, Both platforms: The UI Element in the main application stops responding. The rest of the UI in the main application is fine. Actual, Windows x64: It somehow opens a second window. Clicking more links open more windows. Actual, Linux ARM64: I'm not running X, so there's no place for a second window to appear. Clicking the link doesn't show the linked page. |
||||
Tags: | |||||
Steps To Reproduce: |
Click any link that opens in a new window. (Your bug tracker is parsing HTML inside a 'pre' tag. That's weird! Using square brackets instead.) [a href="https://www.google.com/" target="_blank"]Google in a new window[/a] |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007565)
sfernandez 2021-11-11 10:00 |
Fixed for WebBrowser 1.0.4 |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2181 | [NoesisGUI] C# SDK | crash | sometimes | 2021-11-06 05:53 | 2021-11-10 20:04 |
Reporter: | DavidYawCSpeed | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.2 | ||
Target Version: | 3.1.2 | ||||
Platform: | Any | ||||
Summary: | WebBrowser: Invalid characters in the header crash the entire application | ||||
Description: |
Seen with WebBrowser 1.0.3. If browsing to a web page that returns a bad character in a header, the entire application crashes. Yes, such a header is violating the HTTP spec, but it shouldn't take down the app. Seen in an unhandled exception handler: 2021-11-05 23:37:24.8841|FATAL|Unhandled exception, IsTerminating = True System.ArgumentException: Specified value has invalid Control characters. (Parameter 'value') at System.Net.HttpValidationHelpers.CheckBadHeaderValueChars(String value) at System.Net.WebHeaderCollection.Add(String name, String value) at System.Net.WebHeaderCollection.Add(HttpResponseHeader header, String value) at NoesisApp.NoesisResourceRequestHandler.GetHeaders(NameValueCollection responseHeaders) at NoesisApp.NoesisResourceRequestHandler.GetWebResponse(CefRequest request, CefResponse response) at NoesisApp.NoesisResourceRequestHandler.GetNavigationArgs(CefRequest request, CefResponse response) at NoesisApp.NoesisResourceRequestHandler.OnResourceResponse(CefBrowser browser, CefFrame frame, CefRequest request, CefResponse response) at Xilium.CefGlue.CefResourceRequestHandler.on_resource_response(cef_resource_request_handler_t* self, cef_browser_t* browser, cef_frame_t* frame, cef_request_t* request, cef_response_t* response) |
||||
Tags: | |||||
Steps To Reproduce: |
AppDomain.CurrentDomain.UnhandledException += AppDomain_UnhandledException, and log the exception. Visit a web page that returns an invalid character in a header. I noticed this with http://www.bakerhughes.com, which returns a header with a 0x01 character in it, which isn't valid. According to https://source.dot.net/#System.Net.Requests/HttpValidationHelpers.cs,78, the invalid characters are 0x7F and 0x00 through 0x1F, with the exception of 0x09 Tab. (The exact code is "if (c == 127 || (c < ' ' && c != '\t'))".) When I visit that URL, in method NoesisResourceRequestHandler.GetHeaders(), the header map contains the "Set-Cookie" header, which has 5 values, one of which is "___utmvavFuIMDBZ=RNYVuUr; path=/; Max-Age=900", or "___utmvavFuIMDBZ=RNY\x01VuUr; path=/; Max-Age=900". It's hard to tell because much of the code is optimized, but it looks like that's the character that's tripping it up. (The exact cookie returned by that page changes, but it seems to always return one with a "\x01" in it. Unfortunately, it doesn't look like there's a nice way to check that the string is valid. HttpValidationHelpers is an internal class to the System.Net.WebHeaderCollection assembly, so we can't call that. So it looks like attempting to do WebHeaderCollection.Add() and catching the exception is the only solution. if there are multiple headers with the same name (multiple cookies, in this case), it would be nice to preserve the valid ones, and only skip the invalid ones. It looks like WebHeaderCollection.Add can be called multiple times, and responseHeaders.GetValues(headername) can return a string array. I haven't checked if iterating over that array and calling Add on each one is equivalent to calling Add on responseHeaders.Get(headername). |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007563)
sfernandez 2021-11-10 20:04 |
Resolved by cleaning the invalid characters of the value before adding it to the headers. Fixed for WebBrowser 1.0.4 |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2172 | [NoesisGUI] C# SDK | feature | always | 2021-10-27 17:54 | 2021-11-05 19:30 |
Reporter: | darthmaule2 | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.2 | ||
Target Version: | 3.1.2 | ||||
Platform: | Any | ||||
Summary: | WebBrowser should fire an event when a text box is focused | ||||
Description: |
WebBrowser should fire an event when a text box is focused We need to open our virtual keyboard when a text box gets focus and so need to know when that happens. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007559)
hcpizzi 2021-11-04 13:17 |
You can't know when a text box is focused, but you can know when a virtual keyboard is requested. I've added the event for that. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2166 | [NoesisGUI] C# SDK | feature | always | 2021-10-27 13:24 | 2021-11-05 19:30 |
Reporter: | darthmaule2 | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.2 | ||
Target Version: | 3.1.2 | ||||
Platform: | Any | ||||
Summary: | WebBrowser missing the Navigated event | ||||
Description: |
WPF WebBrowser control's "Navigated" event: https://docs.microsoft.com/en-us/dotnet/api/system.windows.controls.webbrowser.navigated?view=windowsdesktop-5.0 |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2167 | [NoesisGUI] C# SDK | feature | always | 2021-10-27 13:27 | 2021-11-05 19:30 |
Reporter: | darthmaule2 | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.2 | ||
Target Version: | 3.1.2 | ||||
Platform: | Any | ||||
Summary: | WebBrowser missing the LoadCompleted event | ||||
Description: |
WPF WebBrowser control implements the LoadCompleted event: https://docs.microsoft.com/en-us/dotnet/api/system.windows.controls.webbrowser.loadcompleted?view=windowsdesktop-5.0 |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2170 | [NoesisGUI] C# SDK | major | always | 2021-10-27 14:55 | 2021-11-05 19:30 |
Reporter: | darthmaule2 | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.2 | ||
Target Version: | 3.1.2 | ||||
Platform: | Any | ||||
Summary: | WebBrowser Source property not updated upon completed navigation | ||||
Description: | WebBrowser Source property not updated upon completed navigation | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2177 | [NoesisGUI] C++ SDK | major | always | 2021-11-04 16:49 | 2021-11-05 19:29 |
Reporter: | ExtZGholson | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.2 | ||
Target Version: | 3.1.2 | ||||
Platform: | Any | ||||
Summary: | Combo box KeyboardNavigation.DirectionalNavigation="Cycle" not functioning | ||||
Description: | When trying to use KeyboardNavigation.DirectionalNavigation="Cycle" in a combo box, the focus does not wrap on the item list. | ||||
Tags: | Combo box, Focus | ||||
Steps To Reproduce: | Create a combo box and populate it with list items. Scroll using a dpad to the bottom and attempt to scroll past the bottom item. With cycle, the player would expect the focus to return to the top of the list. In this case, it sticks at the bottom. | ||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2162 | [NoesisGUI] C# SDK | major | always | 2021-10-26 22:34 | 2021-11-03 17:46 |
Reporter: | darthmaule2 | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.2 | ||
Target Version: | 3.1.2 | ||||
Platform: | Linux | ||||
Summary: | WebBrowser not responding to touch events, including pinch-to-zoom | ||||
Description: | WebBrowser not responding to touch events, including pinch-to-zoom | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2161 | [NoesisGUI] C++ SDK | minor | always | 2021-10-26 16:52 | 2021-11-03 13:37 |
Reporter: | steveh | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.2 | ||
Target Version: | 3.1.2 | ||||
Platform: | Any | ||||
Summary: | {x:Null} is not a valid type for TextDecorations dependency property | ||||
Description: |
Hi guys, Our artists had an issue where simply checking and unchecking the Underline button in Blend caused an error to be output from Noesis. If you have a <TextBlock />, e.g: <TextBlock Text="Hello World" Foreground="Black" /> And then you click the "Underline" button in Blend, it adds the TextDecoration property: <TextBlock Text="Hello World" Foreground="Black" TextDecorations="Underline" /> If you uncheck the button, rather than removing the attribute Blend sets it to {x:Null}: <TextBlock Text="Hello World" Foreground="Black" TextDecorations="{x:Null}" /> This then causes the following error to be output from Noesis: "Null is not a valid value for property 'TextBlock.TextDecorations'." This fails our internal smoke tests as we have automated tests to ensure that there are no erors output from Noesis. The fix is to "Reset" the property in Blend to remove the attribute. Just thought I'd raise it here since Blend supports {x:Null} on TextDecorations so I thought Noesis should probably support it as well. |
||||
Tags: | |||||
Steps To Reproduce: |
1. Create a text block in Blend. 2. Click the "Underline" button in the Text properties in the properties panel in Blend 3. Uncheck the "Underline" button in the Text properties in the properties panel in Blend. 4. Load the file. Noesis will output an error. |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007540)
jsantos 2021-10-26 17:15 |
Thanks for this report steve |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2106 | [NoesisGUI] Unity3D | minor | always | 2021-09-08 18:46 | 2021-11-03 12:45 |
Reporter: | stonstad | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.12 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.2 | ||
Target Version: | 3.1.2 | ||||
Platform: | Any | ||||
Summary: | TabControl: [noesis] Visual is null | ||||
Description: |
I upgraded to Noeiss 3.0.12 form 3.0.4. When I click on a tab control header I receive the error, "[Noesis] Visual is null". [noesis] Visual is null UnityEngine.Debug:LogError (object) NoesisUnity:UnityLog (int,string) (at Assets/NoesisGUI/Plugins/NoesisUnity.cs:148) Noesis.View:MouseButtonDown (int,int,Noesis.MouseButton) (at Assets/NoesisGUI/Plugins/API/Core/View.cs:186) NoesisView:ProcessEvent (UnityEngine.Event,bool,bool) (at Assets/NoesisGUI/Plugins/NoesisView.cs:1103) NoesisView:OnGUI () (at Assets/NoesisGUI/Plugins/NoesisView.cs:1225) I'm not hooking tab control buttons or events. If the error message reported the parent, or more descriptive detail I could likely dig deeper. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
01.PNG (57,462 bytes) 2021-09-08 18:46 https://www.noesisengine.com/bugs/file_download.php?file_id=1483&type=bug 02.PNG (1,985,732 bytes) 2021-09-08 18:46 https://www.noesisengine.com/bugs/file_download.php?file_id=1484&type=bug SettingsControl.xaml (45,806 bytes) 2021-09-08 18:46 https://www.noesisengine.com/bugs/file_download.php?file_id=1485&type=bug ResourcesTheme.xaml (50,885 bytes) 2021-09-08 20:53 https://www.noesisengine.com/bugs/file_download.php?file_id=1486&type=bug |
||||
Notes | |
(0007425)
sfernandez 2021-09-08 20:28 |
Are you using our Theme styles for the TabControl/TabItem or do you have your own? Could you share the styles if they are diffferent? |
(0007426)
stonstad 2021-09-08 20:53 |
Here is the XAML I use for defining custom themes. I'm not seeing anything to override TabControl, but I acknowledge I am not super savvy at XAML. |
(0007468)
stonstad 2021-09-21 15:52 |
I'm looking to upgrade to 3.1.x soon. I can advise if I see the same behavior in 3.1.x. |
(0007470)
sfernandez 2021-09-22 10:00 |
Yes please let us know if this is still happening for you with latest 3.1 version, thanks. |
(0007555)
sfernandez 2021-11-03 11:42 |
I was able to reproduce this issue with the xaml attached in the forum post: https://www.noesisengine.com/forums/viewtopic.php?f=3&t=2463<UserControl xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:noesis="clr-namespace:NoesisGUIExtensions;assembly=Noesis.GUI.Extensions"> <TabControl Height="181.084" Width="493.681"> <TabItem Header="TabItem1"> <Grid Background="#FFE5E5E5"/> </TabItem> <TabItem Header="TabItem2"> <Grid> <ListView HorizontalAlignment="Left" Height="100.494" Margin="10,10,0,0" VerticalAlignment="Top" Width="449.681"> <ListView.View> <GridView> <GridViewColumn Header="name" Width="160"/> </GridView> </ListView.View> </ListView> </Grid> </TabItem> </TabControl> </UserControl> I'll try to fix it for next release. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2114 | [NoesisGUI] C# SDK | crash | random | 2021-09-16 16:14 | 2021-10-28 19:00 |
Reporter: | stonstad | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.0.12 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | MultiBindingExpression_UpdateSource Access Violation Crash | ||||
Description: |
Random runtime crash. Was playing game, approximately ten minutes in, and this crash occured. Noesis.dll caused an Access Violation (0xc0000005) in module Noesis.dll at 5273e43b. ========== OUTPUTTING STACK TRACE ================== 0x00007FFA5273E43B (Noesis) MultiBindingExpression_UpdateSource 0x00007FFA52745B49 (Noesis) MultiBindingExpression_UpdateSource 0x00007FFA5273F5C4 (Noesis) MultiBindingExpression_UpdateSource 0x00007FFA5273D789 (Noesis) MultiBindingExpression_UpdateSource 0x00007FFA5286DF96 (Noesis) Noesis_RegisterLogCallback 0x00007FF74CF41B14 (Unity) GfxDeviceWorker::RunCommand 0x00007FF74CF47FBD (Unity) GfxDeviceWorker::RunExt 0x00007FF74CF480D8 (Unity) GfxDeviceWorker::RunGfxDeviceWorker 0x00007FF74B66666E (Unity) Thread::RunThreadWrapper 0x00007FFADA547034 (KERNEL32) BaseThreadInitThunk 0x00007FFADC002651 (ntdll) RtlUserThreadStart ========== END OF STACKTRACE =========== |
||||
Tags: | |||||
Steps To Reproduce: | Using the patched version of 3.0.12.x that Sergio provided for https://www.noesisengine.com/bugs/view.php?id=2109 | ||||
Additional Information: | |||||
Attached Files: |
Crash_2021-09-16_140425551.zip (1,056,289 bytes) 2021-09-16 16:14 https://www.noesisengine.com/bugs/file_download.php?file_id=1490&type=bug Crash_2021-10-28_005102883.zip (1,410,748 bytes) 2021-10-28 02:55 https://www.noesisengine.com/bugs/file_download.php?file_id=1531&type=bug Crash_2021-10-28_010128243.zip (1,199,701 bytes) 2021-10-28 03:10 https://www.noesisengine.com/bugs/file_download.php?file_id=1532&type=bug Crash_2021-10-28_2_165334345.zip (1,599,602 bytes) 2021-10-28 19:00 https://www.noesisengine.com/bugs/file_download.php?file_id=1533&type=bug Crash_2021-10-28_2_165334345-2.zip (1,599,602 bytes) 2021-10-28 19:00 https://www.noesisengine.com/bugs/file_download.php?file_id=1534&type=bug |
||||
Notes | |
(0007472)
sfernandez 2021-09-22 10:40 |
I generated a new library that should fix the crash and shows an error message to help me identify the situation causing the crash: https://drive.google.com/file/d/1QlVb-4q8HVo6dLszDadg7ykmxZdbOCor/view?usp=sharing Please let me know if you get an error message like "Adding '<classname>' node to '<classname>' and parent is not connected to the View". |
(0007473)
stonstad 2021-09-22 12:22 |
Thanks -- I'm trying it out today. I'll report back. |
(0007483)
stonstad 2021-09-27 22:01 |
OK, I finally encountered it. [noesis] Adding 'Grid' node to 'Grid' and parent is not connected to the View UnityEngine.Debug:LogError (object) NoesisUnity:UnityLog (int,string) (at Assets/NoesisGUI/Plugins/NoesisUnity.cs:148) Noesis.View:Update (double) (at Assets/NoesisGUI/Plugins/API/Core/View.cs:333) NoesisView:ExternalUpdateInternal () (at Assets/NoesisGUI/Plugins/NoesisView.cs:910) NoesisView:LateUpdate () (at Assets/NoesisGUI/Plugins/NoesisView.cs:880) No crashes. |
(0007485)
sfernandez 2021-09-28 10:02 |
Have you identified how to reproduce it? I was expecting different types involved and I'm still not sure what is the source of this situation. |
(0007487)
stonstad 2021-09-28 16:50 (Last edited: 2021-09-28 16:50) |
It may be related to a race condition in my code. I know what I was doing when I first saw it (thanks for the output) but I'm not sure if it is consistently reproducible, or where in the visual tree / code-behind it occurs. I'll keep looking today and reply back with more detail as I learn more. |
(0007502)
stonstad 2021-10-06 19:15 |
I came across a scenario the other day that consistently crashed Noesis. I believe I had mistakenly added a rectangle to a grid twice in a row -- a cut and paste error. I intended to return back to it and file a report but I was under a deadline to get things working. I am going to upgrade to 3.1.x today -- how do we want to proceed with this bug/behavior? |
(0007504)
sfernandez 2021-10-06 20:02 |
Were you using the patched library I sent you? All those crashes are probably different from the one that started this ticket, can you attach the new crash dumps? |
(0007547)
stonstad 2021-10-28 02:55 |
Different crash on 3.0.12. |
(0007548)
stonstad 2021-10-28 02:58 |
Both crashes, first and second, happened using the patched library. |
(0007549)
stonstad 2021-10-28 03:10 |
Here is another one -- likely the same crash behavior as the second and most recent reported crash. These crashes are repeatable and they happen at runtime (not during app domain load/unload). I am testing space battles with large numbers of ships which have corresponding targeting UI framework elements. Noesis is stable with 100+ targets with position and blend updating once per frame. However, once I enable the ability for ships to be destroyed -- which also destroys targeting reticles, I find that I get crashes in a few seconds of each battle starting. The UI which displays these targets is long-lived and is never destroyed. The UI elements are added and removed from a Canvas. The control which contains the canvas implements OnRendering via the following syntax: private void InitializeComponent() { Loaded += (sender, e) => { _View = View; _View.Rendering += OnRendering; }; Unloaded += (sender, e) => { _View.Rendering -= OnRendering; _View = null; }; GUI.LoadComponent(this, "Assets/User Interface/Screens/Game/Overlay/Targeting/TargetingControl.xaml"); _Root = this.Content as FrameworkElement; _Canvas = _Root.FindName("_Canvas") as Canvas; } I hope this information is helpful. Thank you! |
(0007551)
stonstad 2021-10-28 19:00 (Last edited: 2021-10-28 19:00) |
Below: Possibly the same crash as reported on 10/27 but the stack trace is different and the error is associated with d3d11.dll. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2132 | [NoesisGUI] C# SDK | feature | always | 2021-09-28 06:39 | 2021-10-27 10:56 |
Reporter: | satorp | Platform: | |||
Assigned To: | aschmitt | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.2 | ||
Target Version: | 3.1.2 | ||||
Platform: | Windows | ||||
Summary: | VS2019 support for Managed SDK | ||||
Description: |
Hi, I tried to build the latest Noesis.GUI.Extensions source (3.1.1) using VS2019 (16.9.8) and received the following error: ------------------------------------------------------------------------------------------------------------------------------------------------------------- C:\Program Files\dotnet\sdk\5.0.204\Sdks\Microsoft.NET.Sdk.WindowsDesktop\targets\Microsoft.NET.Sdk.WindowsDesktop.targets(118,5): error NETSDK1022: Duplicate 'Page' items were included. The .NET SDK includes 'Page' items from your project directory by default. You can either remove these items from your project file, or set the 'EnableDefaultPageItems' property to 'false' if you want to explicitly include them in your project file. For more information, see https://aka.ms/sdkimplicititems. The duplicate items were: 'Theme\NoesisTheme.Brushes.DarkAqua.xaml'; 'Theme\NoesisTheme.Brushes.DarkBlue.xaml'; 'Theme\NoesisTheme.Brushes.DarkCrimson.xaml'; 'Theme\NoesisTheme.Brushes.DarkEmerald.xaml'; 'Theme\NoesisTheme.Brushes.DarkGreen.xaml'; 'Theme\NoesisTheme.Brushes.DarkLime.xaml'; 'Theme\NoesisTheme.Brushes.DarkOrange.xaml'; 'Theme\NoesisTheme.Brushes.DarkPurple.xaml'; 'Theme\NoesisTheme.Brushes.DarkRed.xaml'; 'Theme\NoesisTheme.Brushes.LightAqua.xaml'; 'Theme\NoesisTheme.Brushes.LightBlue.xaml'; 'Theme\NoesisTheme.Brushes.LightCrimson.xaml'; 'Theme\NoesisTheme.Brushes.LightEmerald.xaml'; 'Theme\NoesisTheme.Brushes.LightGreen.xaml'; 'Theme\NoesisTheme.Brushes.LightLime.xaml'; 'Theme\NoesisTheme.Brushes.LightOrange.xaml'; 'Theme\NoesisTheme.Brushes.LightPurple.xaml'; 'Theme\NoesisTheme.Brushes.LightRed.xaml'; 'Theme\NoesisTheme.Colors.Dark.xaml'; 'Theme\NoesisTheme.Colors.Light.xaml'; 'Theme\NoesisTheme.DarkAqua.xaml'; 'Theme\NoesisTheme.DarkBlue.xaml'; 'Theme\NoesisTheme.DarkCrimson.xaml'; 'Theme\NoesisTheme.DarkEmerald.xaml'; 'Theme\NoesisTheme.DarkGreen.xaml'; 'Theme\NoesisTheme.DarkLime.xaml'; 'Theme\NoesisTheme.DarkOrange.xaml'; 'Theme\NoesisTheme.DarkPurple.xaml'; 'Theme\NoesisTheme.DarkRed.xaml'; 'Theme\NoesisTheme.Fonts.xaml'; 'Theme\NoesisTheme.LightAqua.xaml'; 'Theme\NoesisTheme.LightBlue.xaml'; 'Theme\NoesisTheme.LightCrimson.xaml'; 'Theme\NoesisTheme.LightEmerald.xaml'; 'Theme\NoesisTheme.LightGreen.xaml'; 'Theme\NoesisTheme.LightLime.xaml'; 'Theme\NoesisTheme.LightOrange.xaml'; 'Theme\NoesisTheme.LightPurple.xaml'; 'Theme\NoesisTheme.LightRed.xaml'; 'Theme\NoesisTheme.Styles.xaml' ------------------------------------------------------------------------------------------------------------------------------------------------------------- I think the cause is the UseWPF flag in the project, which triggers implicit XAML include behavior in .NET 5 SDK (included in VS2019). I understand that currently the Managed SDK only supports VS2017, but since the Native SDK has now supported VS2019, it will be nice if we could upgrade the Managed SDK as well. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007541)
aschmitt 2021-10-26 20:20 |
Project files have been updated |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1990 | [NoesisGUI] Unity3D | minor | always | 2021-04-30 08:16 | 2021-10-22 00:51 |
Reporter: | KeldorKatarn | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.11 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.2 | ||
Target Version: | 3.1.2 | ||||
Platform: | Any | ||||
Summary: | GridSplitter is missing | ||||
Description: | The GridSplitter control is missing. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2153 | [NoesisGUI] C# SDK | minor | always | 2021-10-20 02:20 | 2021-10-20 13:01 |
Reporter: | DavidYawCSpeed | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.2 | ||
Target Version: | 3.1.2 | ||||
Platform: | Any | ||||
Summary: | PNG Alpha Transparency not applied properly depending on PNG format | ||||
Description: |
We've got a PNG image which is not 32-bit RGBA. When displayed in some contexts, the alpha is not blended with the background properly. I have seen this issue on both Windows x64 and Linux ARM64. Workaround: Convert the image to full RGBA. Attached: - Both the PNG that causes the issue, and the result of converting it to RGBA, which fixes the issue. - Screenshot of the issue occurring on Windows x64. It ends up drawing black. - Picture of the issue occurring on Linux ARM64, on our real device. It ends up drawing transparent, so the video overlay shows through. |
||||
Tags: | |||||
Steps To Reproduce: |
I can reproduce the issue very reliably in our real application, but in the real application, the Image object is 20 levels deep in the Visual Tree. But in a standalone application, with just the Image over top of a colored background, it works fine. Unfortunately, I'm not sure exactly what UI Controls need to be set up in order to trigger this bad alpha blending. However, I do know what is needed in a PNG image. Examining the images under Linux: $ file *.png icon_batt_plug_in_broken.png: PNG image data, 128 x 128, 8-bit gray+alpha, non-interlaced icon_batt_plug_in_works.png: PNG image data, 128 x 128, 8-bit/color RGBA, non-interlaced Using https://www.nayuki.io/page/png-file-chunk-inspector: - Broken - Bit depth: 8 bits per channel - Color type: Grayscale+Alpha (4) - Works - Bit depth: 8 bits per channel - Color type: RGBA (6) |
||||
Additional Information: | |||||
Attached Files: |
icon_batt_plug_in_broken.png (1,459 bytes) 2021-10-20 02:20 https://www.noesisengine.com/bugs/file_download.php?file_id=1520&type=bug icon_batt_plug_in_works.png (8,989 bytes) 2021-10-20 02:20 https://www.noesisengine.com/bugs/file_download.php?file_id=1521&type=bug Windows-ScreenshotTestApp.png (4,503 bytes) 2021-10-20 02:20 https://www.noesisengine.com/bugs/file_download.php?file_id=1522&type=bug Linux-PictureOfRealApp.jpg (37,030 bytes) 2021-10-20 02:20 https://www.noesisengine.com/bugs/file_download.php?file_id=1523&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2152 | [NoesisGUI] C++ SDK | minor | always | 2021-10-19 20:11 | 2021-10-19 20:11 |
Reporter: | aschmitt | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1.2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | VisualBrush cannot render a Visual that is not part of the visual tree | ||||
Description: |
If the Visual property of the brush is set to an element which is not part of the tree anymore, the brush renders nothing. An example usecase is a drag&drop preview of the dragged element, if that element gets removed from its source during the drag operation. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1320 | [NoesisGUI] C# SDK | major | always | 2018-07-19 16:20 | 2021-10-19 19:07 |
Reporter: | Faerdan | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.1.0f1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.2 | ||
Target Version: | 3.1.2 | ||||
Platform: | Any | ||||
Summary: | Code-behind classes in unloaded assemblies | ||||
Description: |
Code-behind classes in referenced assemblies are not found if the assembly is not already loaded. In this same situation WPF will load the referenced assembly, making the class available. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1283 | [NoesisGUI] C# SDK | major | always | 2018-04-08 12:34 | 2021-10-19 19:07 |
Reporter: | samos | Platform: | PC | ||
Assigned To: | sfernandez | OS: | Windows | ||
Priority: | high | OS Version: | 10 | ||
Status: | resolved | Product Version: | 2.1.0f1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.2 | ||
Target Version: | 3.1.2 | ||||
Platform: | Any | ||||
Summary: | Unknown type exception referencing custom control from seperate dll | ||||
Description: |
When trying to load a custom control that has been created in a seperate project Noesis GUI 2.1 throws an unknown type error. XAML shown as being valid in WPF Designer. |
||||
Tags: | |||||
Steps To Reproduce: |
Open attached project and run. The TimeConverter Class has been moved from the main project to a seperate project, this causes the unknown type error. including the TimeConverter Class back into the main project causes it to work again, even though the reference object in the XAML is from the external DLL. |
||||
Additional Information: |
This same error causes other issues also. If creating a style in a resource dictionary that references a type that is in an external DLL, then a type not found exception is raised. |
||||
Attached Files: |
CustomControl.zip (4,648,053 bytes) 2018-04-08 12:34 https://www.noesisengine.com/bugs/file_download.php?file_id=927&type=bug |
||||
Notes | |
(0005182)
sfernandez 2018-04-10 23:00 |
Noesis doesn't automatically load assemblies. You should load them into the domain before starting loading any xaml. Are you already doing that? |
(0005186)
samos 2018-04-11 11:18 |
Suspected that may be the response. I am investigating whether I can port an existing WPF LOB application to Noesis at the moment. The application is structured into multiple projects for ease of maintenance and extendability. WPF is obviously taking care of loading assemblies into the app domain when they are needed, so we don't see this issue. For now I will pre-load assemblies at startup. Thanks for the response, and Noesis 2.1 is looking nice. Kind Regards Steve |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2003 | [NoesisGUI] C# SDK | feature | always | 2021-05-07 00:20 | 2021-10-18 14:24 |
Reporter: | KeldorKatarn | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | low | OS Version: | |||
Status: | resolved | Product Version: | 3.0.12 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.2 | ||
Target Version: | 3.1.2 | ||||
Platform: | Any | ||||
Summary: | XmlnsDefinition and XmlnsPrefix missing | ||||
Description: |
Not 100% sure how to even reference Noesis in an assembly that specifies controls, converters and such, but I'm assuming as soon as Noesis moves to the new package approach and includes an AssemblyDefinition for itself, then this will become important. I'd like to declare a default namespace for Caliburn.Noesis which I will also turn into a package once Noesis is one, with Noesis as a dependency. For that I'll need those two attributes. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2148 | [NoesisGUI] Unreal | major | always | 2021-10-13 16:07 | 2021-10-18 12:47 |
Reporter: | maxnt | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.2 | ||
Target Version: | 3.1.2 | ||||
Platform: | Any | ||||
Summary: | MediaElement unable to Pause or Seek | ||||
Description: |
Unable to pause or seek when setting source on NoesisApp::MediaElement Quick work around for Pause issue is to manually set SetSpeedRatio(0.0f) before Pause() Pause is due to MediaPlayer->SetRate(Rate) when Player Suspended event is invoked (NoesisMediaPlayer.cpp line 353) Seek issue is due to MediaOpened flag being false until OnRendering is called in SetPosition NoesisMediaPlayer::SetPosition Quick fix it to add MediaPlayer->Seek(FTimespan::FromSeconds(Position)); to NoesisMediaPlayer::OnRendering line 267 |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007524)
sfernandez 2021-10-18 12:47 |
Solved in changeset r10782 |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2123 | [NoesisGUI] C# SDK | crash | always | 2021-09-17 18:00 | 2021-10-08 13:08 |
Reporter: | aschmitt | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1 | ||||
Platform: | Any | ||||
Summary: | Assigning ColumnProperty throws exceptions | ||||
Description: |
myControl.SetValue(Grid.ColumnProperty, 0); will throw an InvalidCastException |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007510)
sfernandez 2021-10-08 13:08 |
Column/Row properties in Noesis are defined as uint while WPF uses int. We should probably change that, but in the meantime there is an easy workaround:Grid.SetColumn(myControl, 0); |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2139 | [NoesisGUI] C++ SDK | major | always | 2021-10-06 18:46 | 2021-10-06 18:46 |
Reporter: | aschmitt | Platform: | |||
Assigned To: | OS: | ||||
Priority: | normal | OS Version: | |||
Status: | new | Product Version: | 3.1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | RoutedCommands are not working with x:Static | ||||
Description: | RoutedCommands are not registered to reflection so they cannot be used for a command binding with the x:Static markup extension. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2138 | [NoesisGUI] C# SDK | trivial | always | 2021-10-06 16:52 | 2021-10-06 16:52 |
Reporter: | aschmitt | Platform: | |||
Assigned To: | OS: | ||||
Priority: | normal | OS Version: | |||
Status: | new | Product Version: | 3.1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | CommandBinding is missing parameterized constructors | ||||
Description: | See title. A command binding cannot be created with command and handlers directly via constructor parameters. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2137 | [NoesisGUI] C# SDK | feature | have not tried | 2021-10-05 19:30 | 2021-10-06 11:52 |
Reporter: | AndreN | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1.1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1 | ||||
Platform: | Any | ||||
Summary: | Better FontProvider API to allow easier reloading | ||||
Description: |
Hello This feature request is an outcome of a forum discussion. When implementing a font provider for hot reloading, it is very hard to trigger the hot reloading with the method RaiseFontChanged(...), since it takes a lot of arguments (font name, weight, stretch and style), which are usually unknown to the font provider. The font provider previously just opened the file as stream and hand it over to the Noesis API, thus it does not even know the name of the font, just the folder and filename. It would be great to enhance the API in a way, that it is easier to implement font providers for hot reloading. I could imagine two ways of doing it: 1.) either the Noesis API returns this information to the font provider, so it can cache it and later reuse to trigger reloading 2.) or the Noesis API allows reloading by folder and filename Maybe you have even better ideas. Thanks in advance. |
||||
Tags: | C#, Fonts | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2135 | [NoesisGUI] Unity3D | minor | always | 2021-09-29 19:14 | 2021-09-30 19:41 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.2 | ||
Target Version: | 3.1.2 | ||||
Platform: | Any | ||||
Summary: | Resource providers are case sensitive | ||||
Description: |
As explained in the following forum post: https://www.noesisengine.com/forums/viewtopic.php?f=3&t=2437 If a texture is stored in disk as "image.JPG" and used in xaml as "image.jpg", Noesis will complain it can't find the image. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2117 | [NoesisGUI] C# SDK | minor | always | 2021-09-17 16:25 | 2021-09-30 18:54 |
Reporter: | ai_enabled | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.2 | ||
Target Version: | 3.1.2 | ||||
Platform: | Any | ||||
Summary: | Reloading the texture (via RaiseTextureChanged) which is used in tiled ImageBrush doesn't recalculate the brush tiling | ||||
Description: |
Hi guys, there is a new bug (since v3.0 or maybe even v3.1.0 as I didn't try it) with texture reloading for ImageBrush. Example XAML: <ImageBrush x:Key="WidgetBackgroundImageTexture" ImageSource="WidgetBackground.png" TileMode="Tile" Stretch="Uniform" Viewport="0,0,5.5,5.5" ViewportUnits="Absolute" /> See the attached WidgetBackground.png file and screenshots A and B. Screenshot A: the texture is loaded immediately and RaiseTextureChanged is never called. Proper appearance. Screenshot B: the texture is not loaded immediately. How it's loaded by our custom TextureProvider (worked fine in v3.0): - TextureProvider via GetTextureInfo method provides actual texture dimensions - TextureProvider via LoadTexture method provides null result (as the texture is not yet loaded) and starts loading the texture asynchronously - once the texture is loaded, RaiseTextureChanged is invoked After the fix in https://www.noesisengine.com/bugs/view.php?id=2115 RaiseTextureChanged does work but there is this bug with the ImageBrush not being updated. Besides, I've noticed a difference in how the tiling works in 3.1 compared to 3.0 (for now I'm using instant loading as it doesn't causes any loading bugs). I have to modify all the cases where we're using tiling brushes (at least by modifying Viewport) but the tiling behavior is still visually slightly different compared to what it was before. I see there are no changes in v3.1 release notes regarding this. Is this an expected change? What exactly was changed? I'm really confused regarding this. Regards! |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
WidgetBackground.png (1,127 bytes) 2021-09-17 16:25 https://www.noesisengine.com/bugs/file_download.php?file_id=1491&type=bug A_Proper.png (1,089,238 bytes) 2021-09-17 16:25 https://www.noesisengine.com/bugs/file_download.php?file_id=1492&type=bug B_Issue.png (1,093,056 bytes) 2021-09-17 16:25 https://www.noesisengine.com/bugs/file_download.php?file_id=1493&type=bug |
||||
Notes | |
(0007456)
ai_enabled 2021-09-17 18:39 |
Regarding the ImageBrush tiling. I've noticed that there is no differences when using Viewport+ViewportUnits in 3.0.11 vs 3.1.1 however something has definitely changed regarding the Viewbox and ViewboxUnits properties and how they applied. |
(0007458)
sfernandez 2021-09-20 11:03 (Last edited: 2021-09-20 11:03) |
Hi, I'm going to investigate this reloading issue and let you know. Regarding the tiling, in 3.1 we implemented all Tile modes to properly work in atlas textures. So if you were using a subrect of the source image, it will behave now different from 3.0 version. In 3.1 all tiling modes should look like in WPF. |
(0007462)
sfernandez 2021-09-20 16:33 |
I found that hot-reloding is not affecting frozen images, we need to think how to solve that properly. Apart from that, I noticed that you defined the background image as follows: <ImageBrush x:Key="WidgetBackgroundImageTexture" ImageSource="/UI/Images/Backgrounds/WidgetBackground.png" TileMode="Tile" Stretch="Uniform" Viewport="0,0,8,8" Viewbox="0,0,12,12" ViewboxUnits="Absolute" ViewportUnits="Absolute" /> The Viewbox is bigger than Image size, which is 8x8, so this will leave en empty space between tiles now (according to WPF behavior). This is probably what you are seeing different from 3.0, where viewbox bigger than image was ignored. |
(0007463)
ai_enabled 2021-09-20 16:46 |
Hi Sergio, thank you for your explanation. Regarding the Viewbox—yes, I was using it this way with the previous NoesisGUI version to get the desired look (for some reason it was the only approach that worked fine). I've removed Viewbox property altogether and fine-tuned Viewport instead—seems good now. Regarding the frozen images—I hope you can find a useful approach soon. Good luck! |
(0007464)
sfernandez 2021-09-20 18:24 |
I fixed the reloading issue, please download a patched library here: https://drive.google.com/file/d/1-JUB0k1nLyJIa4c9hZdrpMkl6VDXsDXA/view?usp=sharing |
(0007493)
sfernandez 2021-09-30 18:47 |
Did you have a chance to try the patched library? |
(0007494)
ai_enabled 2021-09-30 18:51 (Last edited: 2021-09-30 18:51) |
Hi Sergio, I'm not sure but the comment was not posted here, perhaps a cookie was outdated (that happens often!) and I didn't check after posting whether it was actually posted. I've replied on the same date—I've tried the patched library and the issue is resolved. Please close this ticket! The only blocking issue preventing us from using 3.1 now is https://www.noesisengine.com/bugs/view.php?id=2121 Regards! |
(0007495)
sfernandez 2021-09-30 18:54 |
Thanks, that ticket was the next thing we wanted to resolve. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2109 | [NoesisGUI] C# SDK | crash | random | 2021-09-10 17:28 | 2021-09-30 18:41 |
Reporter: | stonstad | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.12 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.0 | ||
Target Version: | 3.1.2 | ||||
Platform: | Any | ||||
Summary: | Noesis_View_Update Crash | ||||
Description: |
I'm getting random crashes in 3.0.12. They did not occur in 3.0.4. Stack trace, editor.log, error.log, and crash.dmp included. If this is resolved in 3.1.x, and 3.1.x is stable, I'll perform the upgrade. 0x00007FFA38B6C624 (Noesis) Noesis_View_Update 0x00007FFA38B6C644 (Noesis) Noesis_View_Update 0x00007FFA38B6CB84 (Noesis) Noesis_View_Update 0x00007FFA38B78616 (Noesis) Noesis_ClearExtendTypes 0x000001D1BB0FC85E (Mono JIT Code) (wrapper managed-to-native) Noesis.Extend:Noesis_ClearExtendTypes () 0x000001D1BB0EE5C3 (Mono JIT Code) [C:\Users\stons\Source\StellarConquest\StellarConquest.Presentation.Unity\Assets\NoesisGUI\Plugins\API\Core\Extend.cs:98] Noesis.Extend:Shutdown () 0x000001D1BB0ED283 (Mono JIT Code) [C:\Users\stons\Source\StellarConquest\StellarConquest.Presentation.Unity\Assets\NoesisGUI\Plugins\API\Core\Extend.cs:37] Noesis.Extend:OnDomainUnload (object,System.EventArgs) 0x000001D1BB0E4D85 (Mono JIT Code) (wrapper delegate-invoke) <Module>:invoke_void_object_EventArgs (object,System.EventArgs) 0x000001D1BB0E4A5A (Mono JIT Code) System.AppDomain:DoDomainUnload () 0x000001D1AE2209E8 (Mono JIT Code) (wrapper runtime-invoke) object:runtime_invoke_void__this__ (object,intptr,intptr,intptr) 0x00007FFA38EFE670 (mono-2.0-bdwgc) [c:\build\output\unity-technologies\mono\mono\mini\mini-runtime.c:2816] mono_jit_runtime_invoke 0x00007FFA38E82AF2 (mono-2.0-bdwgc) [c:\build\output\unity-technologies\mono\mono\metadata\object.c:2921] do_runtime_invoke 0x00007FFA38DF84D4 (mono-2.0-bdwgc) [c:\build\output\unity-technologies\mono\mono\metadata\appdomain.c:2735] mono_domain_try_unload 0x00007FFA38EF050A (mono-2.0-bdwgc) [c:\build\output\unity-technologies\mono\mono\metadata\unity-utils.c:748] mono_unity_domain_unload 0x00007FF75CD3A2BA (Unity) UnloadDomain 0x00007FF75CD2DE8B (Unity) MonoManager::CreateAndSetChildDomain 0x00007FF75CD2CAD9 (Unity) MonoManager::BeginReloadAssembly 0x00007FF75CD359B3 (Unity) MonoManager::ReloadAssembly 0x00007FF75D4D7BEE (Unity) ReloadAllUsedAssemblies 0x00007FF75D6FAC69 (Unity) ImportAndPostprocessOutOfDateAssets 0x00007FF75D7067AB (Unity) RefreshInternalV2 0x00007FF75D70E7D6 (Unity) StopAssetImportingV2 0x00007FF75D707959 (Unity) RefreshV2 0x00007FF75D69F7F0 (Unity) AssetDatabase::Refresh 0x00007FF75D2053EE (Unity) Application::AutoRefresh 0x00007FF75D638F30 (Unity) ContainerWindow::ContainerWndProc 0x00007FFADBD2E858 (USER32) CallWindowProcW 0x00007FFADBD2E3DC (USER32) DispatchMessageW 0x00007FFADBD40BC3 (USER32) SendMessageTimeoutW 0x00007FFADC050C54 (ntdll) KiUserCallbackDispatcher 0x00007FFAD99D1064 (win32u) NtUserPeekMessage 0x00007FFADBD2A5C3 (USER32) PeekMessageW 0x00007FFADBD29AD0 (USER32) PeekMessageA 0x00007FFA34D37A94 (gameoverlayrenderer64) OverlayHookD3D3 0x00007FF75D61B27B (Unity) MainMessageLoop 0x00007FF75D61F2C6 (Unity) WinMain 0x00007FF75F186332 (Unity) __scrt_common_main_seh 0x00007FFADA547034 (KERNEL32) BaseThreadInitThunk 0x00007FFADC002651 (ntdll) RtlUserThreadStart |
||||
Tags: | |||||
Steps To Reproduce: |
1. Modify script. 2. Alt + Tab back to Unity. 3. Domain reload occurs. 4. Editor crashes with Noesis_View_Update in call stack. |
||||
Additional Information: | |||||
Attached Files: |
Crash_2021-09-10_152323189.zip (911,419 bytes) 2021-09-10 17:28 https://www.noesisengine.com/bugs/file_download.php?file_id=1487&type=bug |
||||
Notes | |
(0007431)
stonstad 2021-09-10 17:40 |
I worked all day yesterday without a crash and today I am getting back-to-back crashes. I can't go more than 5 minutes without a crash. |
(0007436)
sfernandez 2021-09-13 10:40 |
It looks like a bug we already fixed for 3.1, but just to make sure I applied the patch to the 3.0.12 and created a library for you to test: https://drive.google.com/file/d/1SMiLG9GgGK5nyZeCFrT1CblcOsPzXa1t/view?usp=sharing Please let me know if that solves your crashes. If not, please send another crash dump to verify it is the same thing. |
(0007441)
stonstad 2021-09-13 22:53 |
Thank you. Trying it out now. |
(0007444)
stonstad 2021-09-15 14:08 |
So far it is stable. I worked with it approximately 8 hours yesterday and had no crashes. I'll continue using it today. Thank you! |
(0007484)
stonstad 2021-09-27 22:01 |
Still stable. |
(0007486)
sfernandez 2021-09-28 10:03 |
Thanks for the update, I think we can close this. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2127 | [NoesisGUI] C++ SDK | major | always | 2021-09-21 17:53 | 2021-09-30 15:18 |
Reporter: | krupitskas | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Font beign loaded, but when requested, it's unavailable | ||||
Description: |
Hey, I attach two fonts. Forum support cyrrillics and works. AlexBrush doesnt support cyrrillics and beign loaded, but can not been found. I feel like this cyrrilics stuff can be an issue but Im not sure |
||||
Tags: | C++, Fonts | ||||
Steps To Reproduce: |
1) Inherit FontProvider fron CachedFontProvider 2) Load font via CachedFontProvider::RegisterFont 3) Try to use font somewhere: Forum works, AlexBrush - not |
||||
Additional Information: | |||||
Attached Files: |
AlexBrush-Regular.ttf (62,268 bytes) 2021-09-21 17:53 https://www.noesisengine.com/bugs/file_download.php?file_id=1496&type=bug Forum-Regular.ttf (241,604 bytes) 2021-09-21 17:53 https://www.noesisengine.com/bugs/file_download.php?file_id=1497&type=bug CyrilicText.xaml (2,612 bytes) 2021-09-21 18:25 https://www.noesisengine.com/bugs/file_download.php?file_id=1498&type=bug Снимок экрана 2021-09-24 в 00.50.41.png (715,691 bytes) 2021-09-23 23:52 https://www.noesisengine.com/bugs/file_download.php?file_id=1500&type=bug Снимок экрана 2021-09-24 в 00.49.59.png (584,424 bytes) 2021-09-23 23:52 https://www.noesisengine.com/bugs/file_download.php?file_id=1501&type=bug Снимок экрана 2021-09-24 в 00.49.28.png (592,190 bytes) 2021-09-23 23:52 https://www.noesisengine.com/bugs/file_download.php?file_id=1502&type=bug |
||||
Notes | |
(0007469)
sfernandez 2021-09-21 18:25 (Last edited: 2021-09-22 09:57) |
I tried the following xaml in our XamlPlayer (3.0 and 3.1) and it is able to load all the fonts (Montserrat, Forum and Alex Brush) and render them correctly. As you would see Alex Brush is not able to render cyrillic glyphs (as expected) so it uses a fallback font from the list our application framework sets (NoesisApp::SetThemeProviders()) when starting. |
(0007477)
krupitskas 2021-09-23 23:52 |
Hello! Thanks for quick response. I've also tried XAMLPlayer but no luck for AlexBrush. Also I've tried default fonts and LetMeRide doesnt work. Exo2 works. LCDMono2 works. |
(0007478)
sfernandez 2021-09-24 10:30 |
I think I know what is going on... you are using the name of the file instead of the "Family name" (you can see the name if you double click the ttf file to open the windows font viewer, or if you use any font editor like FontForge). AlexBrush-Regular.ttf family name is "Alex Brush", so you have to use it like this: "Path/To/Font/#Alex Brush" LetMeRide.ttf family name is "Let Me Ride", so it should be used as "Path/To/Font/#Let Me Ride" etc. |
(0007479)
krupitskas 2021-09-24 13:10 |
Oh yes, this works now, really thanks! However question is how to get a family name, can I somehow receive family name from noesis? And available weight? |
(0007490)
krupitskas 2021-09-30 14:52 |
Anyway, this is solved, thanks, can be closed. I will ask this question on the forum. |
(0007491)
jsantos 2021-09-30 15:17 |
This is related to 0001868, sometimes the family name we chose it is not WPF compliant. I will close this, because we have another ticket for that. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2120 | [NoesisGUI] C# SDK | feature | always | 2021-09-17 16:40 | 2021-09-30 12:56 |
Reporter: | aschmitt | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.2 | ||
Target Version: | 3.1.2 | ||||
Platform: | Any | ||||
Summary: | WPF Inconsistency: Adorner types are missing | ||||
Description: | https://docs.microsoft.com/en-us/dotnet/api/system.windows.documents.adorner?view=net-5.0 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1474 | [NoesisGUI] C# SDK | minor | have not tried | 2019-05-21 12:15 | 2021-09-23 13:59 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.0 | ||
Target Version: | 3.0.0 | ||||
Platform: | Any | ||||
Summary: | Missing Window events | ||||
Description: |
Window exposes several events that are missing in C# SDK: - Activated - Deactivated - LocationChanged - StateChanged - ContentRendered - Closing - Closed |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1349 | [NoesisGUI] C++ SDK | feature | have not tried | 2018-11-21 13:40 | 2021-09-23 13:59 |
Reporter: | jsantos | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.0 | ||
Target Version: | 3.1 | ||||
Platform: | Any | ||||
Summary: | Improve Manipulations | ||||
Description: |
Right now we are following the WPF API for Manipulations. This API is a bit restrictive about multi touch. We should move to the Windows8 approach: 1. Manipulation and Touch events should be handled independently. Right now, the manipulation starts only if the TouchDown event is not handled down the tree. So, if you are a control inside a ScrollViewer and you handle the TouchDown you are disabling the scroll behavior. 2. On TouchDown, ManipulationStarting must be started but not ManipulationStarted. This should only happen after the finger is really moved. At this point, ManipulationStarted is raised and the Touch is captured. This behavior is compatible with controls handing Touches and being under a ScrollViewer. 3. Eliminate the touch to mouse promotion. As an alternative we should provide a way to emulate (probably a flag in the Renderer) touches from mouse. That way, Manipulations do work with mouse. 4. Implement useful high level events: Tapped, RightTapped, Holding and DoubleTapped 5. Implement BoundaryFeedback event https://msdn.microsoft.com/en-us/library/system.windows.input.manipulationdeltaeventargs.reportboundaryfeedback%28v=vs.110%29.aspx |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0006623)
jsantos 2020-09-14 01:38 (Last edited: 2020-09-14 01:38) |
Point 4 was implemented in 3.0.5. When implementing that I also noticed that in UWP, Slider swallows (setting handled to true) manipulations events to disable inertia when they are inside a scrollviewer. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1401 | [NoesisGUI] C# SDK | feature | N/A | 2019-01-25 22:44 | 2021-09-23 12:32 |
Reporter: | ai_enabled | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.6 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.9 | ||
Target Version: | 3.0.9 | ||||
Platform: | Any | ||||
Summary: | Support for XAML Markup extensions (C#) | ||||
Description: |
There are seems to be no ticket for it, so here it is! It would be great if we can write our custom markup extensions https://docs.microsoft.com/en-us/dotnet/framework/xaml-services/markup-extensions-for-xaml-overview |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1263 | [NoesisGUI] Unity3D | feature | always | 2018-03-22 23:30 | 2021-09-23 12:30 |
Reporter: | CMarinacci | Platform: | Unity | ||
Assigned To: | sfernandez | OS: | Windows | ||
Priority: | normal | OS Version: | 10 | ||
Status: | resolved | Product Version: | 2.1.0f1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.0 | ||
Target Version: | 3.0.0 | ||||
Platform: | Any | ||||
Summary: | ContentControl.ContentStringFormat is not implemented. | ||||
Description: | The ContentControl.ContentStringFormat property is not implemented. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0005697)
nikobarli 2019-06-05 10:03 |
Had this issue as well when porting a 3rd-party XAML |
(0006124)
sfernandez 2020-03-06 17:54 |
Added support for ContentControl.ContentStringFormat and HeaderedContentControl.HeaderStringFormat too. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1305 | [NoesisGUI] Unity3D | feature | always | 2018-05-27 00:22 | 2021-09-23 12:30 |
Reporter: | horeaper | Platform: | Windows | ||
Assigned To: | jsantos | OS: | Windows | ||
Priority: | normal | OS Version: | 10 | ||
Status: | assigned | Product Version: | 2.1.0f1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Static members not properly supported | ||||
Description: |
Trying to bind a static property with: <Button Content="{x:Static loginScreen:Guest.Text}" Click="ButtonGuest_OnClick" /> Result in exception: NoesisException: Assets/Xaml/LoginWindow.xaml(63): Static members not supported. Can't use 'TextResources.LoginScreen.Guest.Text'. --- Another place where this occurs when trying to use a static value as a resource key: <ImageBrush x:Key="{x:Static local:SomeStaticClass.SomeKeyName}" ... /> In this case there is no indication of a failure until one notices that it was added to the resource dictionary under the key: "local:SomeStaticClass.SomeKeyName". |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0006539)
sfernandez 2020-07-16 12:39 |
Current version only supports the following scenarios: https://www.noesisengine.com/docs/Gui.Core.MarkupExtensions.html#staticextension |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1364 | [NoesisGUI] C++ SDK | feature | N/A | 2018-11-29 16:33 | 2021-09-23 12:30 |
Reporter: | Gwynneth | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.0 | ||
Target Version: | 3.0.0 | ||||
Platform: | Any | ||||
Summary: | Support for MultiBinding and IMultiValueConverter | ||||
Description: | MultiBindings and IMultiValueConverter implementations are often used in views to combine data from models or react to multiple changes in the models to update the view accordingly. This keeps the original data models clean, i.e. no extra properties are needed in the model for this specific view. Having support for this in Noesis would help tremendously. | ||||
Tags: | multibinding, multivalueconverter | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0005418)
ai_enabled 2019-01-25 14:21 (Last edited: 2019-01-25 14:24) |
Would love to see MultiBindings support as NoesisGUI is now much smarter regarding the text formatting - support for Binding StringFormat was added recently and we're trying to use it actively but the problem is - we often have more than a single binding and so we must use multibinding:<TextBlock> <TextBlock.Text> <MultiBinding StringFormat="Quest: {0} ({1})"> <Binding Path="Title" /> <Binding Path="Category" /> </MultiBinding> </TextBlock.Text> </TextBlock> It will also allow scenarios when visibility is defined by multiple parameters (when all visible - the element should be visible) - currently, as a workaround, we have to use nesting of content controls with each control binding its visibility to a single property. |
(0005424)
Djekke 2019-01-28 22:49 |
Only after I had created a nice solution for my problem with MultiBinding and IMultiValueConverter, I remembered that this way is not supported yet. It's sad. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2004 | [NoesisGUI] Unity3D | feature | always | 2021-05-07 01:31 | 2021-09-21 19:54 |
Reporter: | KeldorKatarn | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | urgent | OS Version: | |||
Status: | resolved | Product Version: | 3.0.12 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.2 | ||
Target Version: | 3.1.2 | ||||
Platform: | Any | ||||
Summary: | Container defining methods missing in ItemsControl | ||||
Description: |
I'm trying to get a WindowHost control implemented. Unfortunately I'll need to override two methods which seem to be missing: GetContainerForItemOverride() and IsItemItsOwnContainerOverride(object item) |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2116 | [NoesisGUI] C# SDK | major | always | 2021-09-17 16:07 | 2021-09-20 23:47 |
Reporter: | ai_enabled | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1.1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Storyboard from Template is shared between UserControl instances causing an issue with Completed event | ||||
Description: |
Hi guys, compared to v3.0 there is a new bug with Storyboards. For example we have a GameWindow (UserControl) that has custom template. In its Initialized event handler we're using: his.storyboardOpen = (Storyboard)this.Template.Resources["StoryboardOpen"]; Then in its Loaded event handler we're subscribing to this event: this.storyboardOpen.Completed += this.StoryboardOpenCompletedHandler; So far so good, except that `storyboardOpen` is the same instance for all GameWindow instances. So when Completed event is invoked for any animated GameWindow, all GameWindow instances are notified via their StoryboardOpenCompletedHandler about the storyboard completion. There was no such bug in NoesisGUI v3.0. Regards! |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007459)
sfernandez 2021-09-20 12:04 |
I tried to replicate this in WPF and it turns out that Storyboards defined in a Template.Resources are frozen, so you cannot add a handler to the Completed event (we should fix this, as Noesis is not complaining).InvalidOperationException: Specified value of type 'System.Windows.Media.Animation.Storyboard' must have IsFrozen set to false to modify. It fails even if you try to use a StoryboardCompletedTrigger with that storyboard. To avoid this, and as you are manually starting and stopping the animation, you can create a Clone() from the Template Storyboard for each window to control it: this.storyboardOpen = ((Storyboard)this.Template.Resources["StoryboardOpen"]).Clone(); |
(0007460)
ai_enabled 2021-09-20 12:10 |
Hi Sergio, thank you! Are you certain that the Clone method is available and implemented properly for this scenario? It was the first thing I thought of before reporting the issue but it didn't work. Please verify. The InvalidOperationException certainly would be very useful! Once you finish with the other remaining issues I will pull the changes and test everything including this solution. Regards! |
(0007461)
sfernandez 2021-09-20 16:27 |
Yes, the Clone of Storyboard works as expected in Noesis, I just verified it. |
(0007465)
ai_enabled 2021-09-20 23:46 (Last edited: 2021-09-20 23:47) |
Thank you! I can confirm that Clone is indeed implemented and works as expected. You need to add this method to Storyboard class in order to match WPF API: public new Storyboard Clone() => (Storyboard)base.Clone(); The current Clone method is implemented only in the base Freezable class so calling it will return an instance of Freezable class while in WPF a separate method is invoked returning a Storyboard. I guess you may need to do the same for other resource types as well to match WPF API. Regards! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2115 | [NoesisGUI] C# SDK | crash | always | 2021-09-17 13:42 | 2021-09-20 18:30 |
Reporter: | ai_enabled | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.2 | ||
Target Version: | 3.1.2 | ||||
Platform: | Any | ||||
Summary: | TextureProvider.RaiseTextureChanged has no effect or throws AccessViolationException | ||||
Description: |
Hi guys, as I've reported in the email, calling TextureProvider.RaiseTextureChanged method either has no effect or results in AccessViolationException. Regards! |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007453)
sfernandez 2021-09-17 14:06 |
Hi, I was able to identify the source of the problems, please find a patched library in the following link: https://drive.google.com/file/d/1u6YpUmGyrbB7co85g2I-W6etUGCvVDwW/view?usp=sharing |
(0007454)
ai_enabled 2021-09-17 14:19 |
Thank you, Sergio! It works now. There is another issue related to tiled brushes (that is reproducible even without using RaiseTextureChanged as I've tested). I will report it soon in a new ticket. Regards! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2098 | [NoesisGUI] C++ SDK | crash | always | 2021-08-30 22:42 | 2021-09-20 10:54 |
Reporter: | satorp | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.1 | ||
Target Version: | 3.1.1 | ||||
Platform: | Windows | ||||
Summary: | Sample applications crash when resized | ||||
Description: |
https://www.noesisengine.com/forums/viewtopic.php?f=3&t=2407 |
||||
Tags: | C++ | ||||
Steps To Reproduce: |
1. Start any sample application whose window can be resized (e.g. Samples.HelloWorld) 2. Grab its window edge and perform resizing continuously (enlarge and shrink repeatedly) 3. The application crashes |
||||
Additional Information: | |||||
Attached Files: |
DxDiag-RDP.txt (9,157 bytes) 2021-09-08 06:30 https://www.noesisengine.com/bugs/file_download.php?file_id=1480&type=bug DxDiag-IntelHD4400.txt (19,529 bytes) 2021-09-08 06:30 https://www.noesisengine.com/bugs/file_download.php?file_id=1481&type=bug DxDiag-NVIDIA.txt (20,285 bytes) 2021-09-08 06:30 https://www.noesisengine.com/bugs/file_download.php?file_id=1482&type=bug |
||||
Notes | |
(0007395)
jsantos 2021-08-31 15:59 |
I am not able to reproduce the crash, but if I continuously resize the window I see the memory growing till I release the mouse button. I think this is what is causing your crash. Thanks for the feedback. |
(0007407)
satorp 2021-09-04 02:27 |
I've found that the crash location is different between Debug and Release build. The one I reported previously was a Debug build, it seem easier to reproduce. In the Release build the crash occurs in D3D12RenderDevice::AllocatePage. Not sure if they were related. -------------------------------------------------------------------------- NoesisApp.dll!NoesisApp::D3D12RenderDevice::AllocatePage(NoesisApp::D3D12RenderDevice::DynamicBuffer & buffer) Line 1131 NoesisApp.dll!NoesisApp::D3D12RenderDevice::MapBuffer(NoesisApp::D3D12RenderDevice::DynamicBuffer & buffer, unsigned int size) Line 1254 NoesisApp.dll!NoesisApp::D3D12RenderDevice::UpdateTexture(Noesis::Texture * texture_, unsigned int level, unsigned int x, unsigned int y, unsigned int width, unsigned int height, const void * data) Line 845 -------------------------------------------------------------------------- I could provide you with the crash dumps, but it seems there's a limitation on file upload size here. |
(0007413)
jsantos 2021-09-06 18:26 |
Are the steps for reproducing this new crash the same as the first one? If not, could you please describe them. It seems to m, this is something different because it is happening when updating a texture. Thank you! |
(0007418)
satorp 2021-09-08 06:30 |
The steps are the same, i. e. resizing window, but the crash locations are different between Release and Debug builds (maybe Debug build has additional codes?). I've tried on other machines (different display adapters) as well, and there's a case where the crash happens on application startup. Here are the summaries: 1) NVIDIA GeForce GTX 1050 Ti Windows 10 Pro 64-bit (10.0, Build 18363) (18362.19h1_release.190318-1202) Feature Levels: 12_1,12_0,11_1,11_0,10_1,10_0,9_3,9_2,9_1 Crash on resizing: - Release: D3D12RenderDevice::AllocatePage (see Call Stack below) - Debug: SetDebugObjectName 2) NVIDIA GeForce GTX 580 Windows 10 Pro 64-bit (10.0, Build 18363) (18362.19h1_release.190318-1202) Feature Levels: 11_0,10_1,10_0,9_3,9_2,9_1 No crash 3) Microsoft Remote Display Adapter (connected to machine 1 using Remote Desktop) Windows 10 Pro 64-bit (10.0, Build 18363) (18362.19h1_release.190318-1202) Feature Levels: 12_1,12_0,11_1,11_0,10_1,10_0,9_3,9_2,9_1 Crash on resizing: - Release: D3D12RenderDevice::AllocatePage - Debug: SetDebugObjectName 4) Intel HD Graphics 4400 Windows 10 Pro 64-bit (10.0, Build 19042) (19041.vb_release.191206-1406) Feature Levels: 11_1,11_0,10_1,10_0,9_3,9_2,9_1 Crash on startup - Release: AllocatePage - Debug: D3D12RenderContext::BeginRender Call stack: RELEASE: NoesisApp.dll!NoesisApp::D3D12RenderDevice::AllocatePage(NoesisApp::D3D12RenderDevice::DynamicBuffer & buffer) Line 1131 NoesisApp.dll!NoesisApp::D3D12RenderDevice::MapBuffer(NoesisApp::D3D12RenderDevice::DynamicBuffer & buffer, unsigned int size) Line 1254 NoesisApp.dll!NoesisApp::D3D12RenderDevice::UpdateTexture(Noesis::Texture * texture_, unsigned int level, unsigned int x, unsigned int y, unsigned int width, unsigned int height, const void * data) Line 845 DEBUG: NoesisApp.dll!SetDebugObjectName(ID3D12Object * obj, const char * str, ...) Line 69 NoesisApp.dll!NoesisApp::D3D12RenderContext::CreateBuffers() Line 862 NoesisApp.dll!NoesisApp::D3D12RenderContext::Resize() Line 290 NoesisApp.dll!NoesisApp::Window::OnDisplaySizeChanged(NoesisApp::Display * __formal, unsigned int width, unsigned int height) Line 1411 DEBUG2: NoesisApp.dll!NoesisApp::D3D12RenderContext::BeginRender() Line 250 NoesisApp.dll!NoesisApp::Window::Render(double time) Line 213 NoesisApp.dll!NoesisApp::Application::Tick(double time) Line 217 NoesisApp.dll!NoesisApp::ApplicationLauncher::OnTick(double time) Line 116 I've also uploaded the DxDiag results for the display adapters. |
(0007421)
jsantos 2021-09-08 13:44 |
Thanks for the detailed information! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1601 | [NoesisGUI] C++ SDK | feature | N/A | 2019-12-16 01:48 | 2021-09-17 20:21 |
Reporter: | RT2 | Platform: | |||
Assigned To: | dfranjic | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.5 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.2 | ||
Target Version: | 3.1.2 | ||||
Platform: | Any | ||||
Summary: | Feature request : GridSplitter control | ||||
Description: |
Hello, I'd like to implement resizable panels in my game engine UI, and it would be trivial to do with the GridSplitter control, which unfortunately isn't supported yet in NoesisGUI. It would be awesome if you could add it, because it appears that there's no easy workaround to replace this very useful control. Thanks. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2122 | [NoesisGUI] C# SDK | major | always | 2021-09-17 17:26 | 2021-09-17 17:26 |
Reporter: | aschmitt | Platform: | |||
Assigned To: | OS: | ||||
Priority: | normal | OS Version: | |||
Status: | new | Product Version: | 3.1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Setting Style property default value in code does not work | ||||
Description: |
static MyControl() { DefaultStyleKeyProperty.OverrideMetadata( typeof(MyControl), new FrameworkPropertyMetadata(typeof(MyControl))); StyleProperty.OverrideMetadata( typeof(MyControl), new FrameworkPropertyMetadata(GetDefaultStyle())); } This is currently not working. The style and the contained ControlTemplate are not applied. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2112 | [NoesisGUI] Unreal | minor | always | 2021-09-14 00:57 | 2021-09-14 10:05 |
Reporter: | jsantos | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.1 | ||
Target Version: | 3.1.1 | ||||
Platform: | Any | ||||
Summary: | Crash in NoesisEditorModule when importing an unrelated type fails | ||||
Description: |
We are running into another crash this time in the NoesisEditor module. We traced this down to the failure of an import of unrelated type. In our case it was failing to import an FBX where the skeleton didn’t match the animation that was being imported. This then resulted in the crash in Noesis NoesisEditorModule.cpp : void OnObjectImported(UFactory* ImportFactory, UObject* InObject) |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007442)
jsantos 2021-09-14 01:01 |
Callstack[Inline Frame] UE4Editor-NoesisEditor.dll!UObjectBaseUtility::IsChildOfWorkaround(const UClass *) Line 517 C++ [Inline Frame] UE4Editor-NoesisEditor.dll!UObjectBaseUtility::IsA(UClass *) Line 539 C++ [Inline Frame] UE4Editor-NoesisEditor.dll!UObjectBaseUtility::IsA() Line 546 C++ UE4Editor-NoesisEditor.dll!OnObjectImported(UFactory * ImportFactory, UObject * InObject) Line 104 C++ [Inline Frame] UE4Editor-NoesisEditor.dll!Invoke(void(*)(UFactory *, UObject *) &) Line 51 C++ [Inline Frame] UE4Editor-NoesisEditor.dll!UE4Tuple_Private::TTupleBase<TIntegerSequence<unsigned int>>::ApplyAfter(void(*)(UFactory *, UObject *) &) Line 299 C++ UE4Editor-NoesisEditor.dll!TBaseStaticDelegateInstance<void __cdecl(UFactory *,UObject *),FDefaultDelegateUserPolicy>::ExecuteIfSafe(UFactory * <Params_0>, UObject * <Params_1>) Line 731 C++ UE4Editor-UnrealEd.dll!TMulticastDelegate<void __cdecl(UFactory *,UObject *),FDefaultDelegateUserPolicy>::Broadcast(UFactory * <Params_0>, UObject * <Params_1>) Line 955 C++ UE4Editor-UnrealEd.dll!UImportSubsystem::BroadcastAssetPostImport(UFactory * InFactory, UObject * InCreatedObject) Line 162 C++ UE4Editor-UnrealEd.dll!UFbxFactory::FactoryCreateFile(UClass * Class, UObject * InParent, FName Name, EObjectFlags Flags, const FString & InFilename, const wchar_t * Parms, FFeedbackContext * Warn, bool & bOutOperationCanceled) Line 862 C++ UE4Editor-UnrealEd.dll!UFactory::ImportObject(UClass * InClass, UObject * InOuter, FName InName, EObjectFlags InFlags, const FString & Filename, const wchar_t * Parms, bool & OutCanceled) Line 201 C++ UE4Editor-AssetTools.dll!UAssetToolsImpl::ImportAssetsInternal(const TArray<FString,TSizedDefaultAllocator<32>> & Files, const FString & RootDestinationPath, TArray<TTuple<FString,FString>,TSizedDefaultAllocator<32>> * FilesAndDestinationsPtr, const FAssetImportParams & Params) Line 2070 C++ UE4Editor-AssetTools.dll!UAssetToolsImpl::ImportAssets(const TArray<FString,TSizedDefaultAllocator<32>> & Files, const FString & DestinationPath, UFactory * ChosenFactory, bool bSyncToBrowser, TArray<TTuple<FString,FString>,TSizedDefaultAllocator<32>> * FilesAndDestinations) Line 1289 C++ UE4Editor-AssetTools.dll!UAssetToolsImpl::ImportAssetsWithDialog(const FString & DestinationPath) Line 1122 C++ UE4Editor-ContentBrowserAssetDataSource.dll!UContentBrowserAssetDataSource::OnImportAsset(const FName InPath) Line 1690 C++ [Inline Frame] UE4Editor-ContentBrowserAssetDataSource.dll!Invoke(void(UContentBrowserAssetDataSource::*)(FName)) Line 65 C++ [Inline Frame] UE4Editor-ContentBrowserAssetDataSource.dll!UE4Tuple_Private::TTupleBase<TIntegerSequence<unsigned int>>::ApplyAfter(void(UContentBrowserAssetDataSource::*)(FName) &) Line 299 C++ UE4Editor-ContentBrowserAssetDataSource.dll!TBaseUObjectMethodDelegateInstance<0,UContentBrowserAssetDataSource,void __cdecl(FName),FDefaultDelegateUserPolicy>::ExecuteIfSafe(FName <Params_0>) Line 611 C++ [Inline Frame] UE4Editor-ContentBrowserAssetDataSource.dll!TDelegate<void __cdecl(FName),FDefaultDelegateUserPolicy>::ExecuteIfBound(FName) Line 599 C++ UE4Editor-ContentBrowserAssetDataSource.dll!FNewAssetContextMenu::ExecuteImportAsset(TDelegate<void __cdecl(FName),FDefaultDelegateUserPolicy> InOnInportAssetRequested, FName InPath) Line 398 C++ [Inline Frame] UE4Editor-ContentBrowserAssetDataSource.dll!Invoke(void(*)(TDelegate<void __cdecl(FName),FDefaultDelegateUserPolicy>, FName) &) Line 51 C++ [Inline Frame] UE4Editor-ContentBrowserAssetDataSource.dll!UE4Tuple_Private::TTupleBase<TIntegerSequence<unsigned int,0,1>,TDelegate<void __cdecl(FName),FDefaultDelegateUserPolicy>,FName>::ApplyAfter(void(*)(TDelegate<void __cdecl(FName),FDefaultDelegateUserPolicy>, FName) &) Line 299 C++ UE4Editor-ContentBrowserAssetDataSource.dll!TBaseStaticDelegateInstance<void __cdecl(void),FDefaultDelegateUserPolicy,TDelegate<void __cdecl(FName),FDefaultDelegateUserPolicy>,FName>::ExecuteIfSafe() Line 731 C++ UE4Editor-Slate.dll!SMenuEntryBlock::OnClicked(bool bCheckBoxClicked) Line 1067 C++ UE4Editor-Slate.dll!SMenuEntryBlock::OnMenuItemButtonClicked() Line 1018 C++ [Inline Frame] UE4Editor-Slate.dll!Invoke(FReply(SMenuEntryBlock::*)()) Line 65 C++ [Inline Frame] UE4Editor-Slate.dll!UE4Tuple_Private::TTupleBase<TIntegerSequence<unsigned int>>::ApplyAfter(FReply(SMenuEntryBlock::*)() &) Line 299 C++ UE4Editor-Slate.dll!TBaseSPMethodDelegateInstance<0,SMenuEntryBlock,0,FReply __cdecl(void),FDefaultDelegateUserPolicy>::Execute() Line 290 C++ [Inline Frame] UE4Editor-Slate.dll!TDelegate<FReply __cdecl(void),FDefaultDelegateUserPolicy>::Execute() Line 580 C++ UE4Editor-Slate.dll!SButton::ExecuteOnClick() Line 385 C++ UE4Editor-Slate.dll!SButton::OnMouseButtonUp(const FGeometry & MyGeometry, const FPointerEvent & MouseEvent) Line 304 C++ UE4Editor-Slate.dll!SMenuEntryButton::OnMouseButtonUp(const FGeometry & MyGeometry, const FPointerEvent & MouseEvent) Line 386 C++ [Inline Frame] UE4Editor-Slate.dll!FSlateApplication::RoutePointerUpEvent::__l8::<lambda_cc5aea9e7377b04ce85c30c65ec3889b>::operator()(const FArrangedWidget &) Line 4829 C++ UE4Editor-Slate.dll!FEventRouter::Route<FReply,FEventRouter::FToLeafmostPolicy,FPointerEvent,<lambda_cc5aea9e7377b04ce85c30c65ec3889b>>(FSlateApplication * ThisApplication, FEventRouter::FToLeafmostPolicy RoutingPolicy, FPointerEvent EventCopy, const FSlateApplication::RoutePointerUpEvent::__l8::<lambda_cc5aea9e7377b04ce85c30c65ec3889b> & Lambda, ESlateDebuggingInputEvent DebuggingInputEvent) Line 378 C++ UE4Editor-Slate.dll!FSlateApplication::RoutePointerUpEvent(const FWidgetPath & WidgetsUnderPointer, const FPointerEvent & PointerEvent) Line 4815 C++ UE4Editor-Slate.dll!FSlateApplication::ProcessMouseButtonUpEvent(const FPointerEvent & MouseEvent) Line 5356 C++ UE4Editor-Slate.dll!FSlateApplication::OnMouseUp(const EMouseButtons::Type Button, const FVector2D CursorPos) Line 5321 C++ UE4Editor-ApplicationCore.dll!FWindowsApplication::ProcessDeferredMessage(const FDeferredWindowsMessage & DeferredMessage) Line 2178 C++ UE4Editor-ApplicationCore.dll!FWindowsApplication::DeferMessage(TSharedPtr<FWindowsWindow,0> & NativeWindow, HWND__ * InHWnd, unsigned int InMessage, unsigned __int64 InWParam, __int64 InLParam, int MouseX, int MouseY, unsigned int RawInputFlags) Line 2642 C++ UE4Editor-ApplicationCore.dll!FWindowsApplication::ProcessMessage(HWND__ * hwnd, unsigned int msg, unsigned __int64 wParam, __int64 lParam) Line 1046 C++ UE4Editor-ApplicationCore.dll!FWindowsApplication::AppWndProc(HWND__ * hwnd, unsigned int msg, unsigned __int64 wParam, __int64 lParam) Line 878 C++ [External Code] [Inline Frame] UE4Editor-ApplicationCore.dll!WinPumpMessages() Line 108 C++ UE4Editor-ApplicationCore.dll!FWindowsPlatformApplicationMisc::PumpMessages(bool bFromMainLoop) Line 130 C++ UE4Editor-Win64-DebugGame.exe!FEngineLoop::Tick() Line 4748 C++ [Inline Frame] UE4Editor-Win64-DebugGame.exe!EngineTick() Line 62 C++ UE4Editor-Win64-DebugGame.exe!GuardedMain(const wchar_t * CmdLine) Line 169 C++ UE4Editor-Win64-DebugGame.exe!WinMain(HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, char * __formal, int nCmdShow) Line 257 C++ [External Code] |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2079 | [NoesisGUI] Unreal | crash | sometimes | 2021-08-10 11:21 | 2021-09-13 14:15 |
Reporter: | daniel.janak | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1.1 | ||||
Platform: | Any | ||||
Summary: | Crashes with TextInputMethodSystem | ||||
Description: |
We’ve had some crashes when we were typing into a TextBox and then closed UI with a button that’s not focusable. It crashed on Context ensure. We’ve had to Deactivate context right before Unregistering context: void UNoesisInstance::TermInstance() { if (XamlView) { Noesis::Ptr<Noesis::IRenderer> Renderer(XamlView->GetRenderer()); Xaml.Reset(); XamlView.Reset(); // Pass the slate element to the render thread so that it's deleted after it's shown for the last time ENQUEUE_RENDER_COMMAND(SafeDeleteNoesisSlateElement) ( [Renderer, NoesisSlateElement = NoesisSlateElement](FRHICommandListImmediate& RHICmdList) mutable { Renderer->Shutdown(); NoesisSlateElement.Reset(); } ); } ITextInputMethodSystem* const TextInputMethodSystem = FSlateApplication::IsInitialized() ? FSlateApplication::Get().GetTextInputMethodSystem() : nullptr; if (TextInputMethodSystem) { for (auto TextInputMethodContextPair : TextInputMethodContexts) { TextInputMethodSystem->DeactivateContext(TextInputMethodContextPair.Value.ToSharedRef()); TextInputMethodSystem->UnregisterContext(TextInputMethodContextPair.Value.ToSharedRef()); } } } |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007391)
hcpizzi 2021-08-30 12:31 |
Hi Daniel, I tried this, and couldn't reproduce the issue. I used RemoveFromParent on the Unreal Widget, and then, when the garbage collector run, UNoesisInstance::TermInstance was called, and the destruction of the IView caused UNoesisInstance::OnPreviewLostKeyboardFocus to be called, and the context was correctly deactivated before it was unregistered at the end of UNoesisInstance::TermInstance. I have a couple of questions: How are you removing the UI? Are you calling RemoveFromParent too? And, in UNoesisInstance::TermInstance, is the IView released (i.e. is there a single reference before calling XamlView.Reset()? Thanks |
(0007440)
hcpizzi 2021-09-13 14:15 |
I haven't been able to reproduce the issue, but I've gone on and added the call to DeactivateContext. I've wrapped it in an if IsActiveContext in case other platforms complain about deactivating twice. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2094 | [NoesisGUI] Unity3D | crash | always | 2021-08-26 19:54 | 2021-09-10 14:07 |
Reporter: | nvonhertzen | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.1 | ||
Target Version: | 3.1.1 | ||||
Platform: | Switch | ||||
Summary: | Switch GPU crash with Unity when offscreen rendering | ||||
Description: |
Adding anything to the UI that requires an offscreen render results in a GPU crash. GPU exception Failed to query GPU error information. Return code: 0x0003000f Detected GPU error:NVN_QUEUE_GET_ERROR_RESULT_GPU_ERROR_UNKNOWN |
||||
Tags: | |||||
Steps To Reproduce: |
1. Download Noesis Unity 3.1.0 package 2. Create a new unity project, import package 3. Import the Hello world sample 4. Add something to the UI that requires an offscreen render, such as a DropShadowEffect, for example <Grid.Effect><DropShadowEffect Opacity="0.4" /></Grid.Effect> |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007386)
jsantos 2021-08-26 20:28 |
Could you please indicate versions for Unity and Nintendo SDK ? Thanks |
(0007387)
rg_moliver 2021-08-27 00:13 (Last edited: 2021-08-27 19:41) |
Unity 2020.3.16f1 and Nintendo SDK 11.4.3 thanks! |
(0007389)
nvonhertzen 2021-08-27 05:30 |
* Nintendo SDK 11.4.3 I've tested with both 2020.3.1f1 and 2020.3.13f1 |
(0007427)
jsantos 2021-09-10 14:07 |
Fixed in r10710 I was not able to reproduce the crash, but the offscreen rendering was broken and I fixed it. This was tested with: - SDK 12.3.7 - Unity2021.1.19 |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2107 | [NoesisGUI] C++ SDK | minor | always | 2021-09-09 12:54 | 2021-09-09 17:41 |
Reporter: | sumel007 | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.1 | ||
Target Version: | 3.1.1 | ||||
Platform: | Any | ||||
Summary: | Loaded event not recognized in DataTemplate.Triggers | ||||
Description: |
As described in the forums: https://www.noesisengine.com/forums/viewtopic.php?f=3&t=2415&sid=6f955b57abbbaa3d22395c09359d5bb0 |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2100 | [NoesisGUI] Unity3D | feature | always | 2021-08-31 21:57 | 2021-09-09 11:51 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.1 | ||
Target Version: | 3.1.1 | ||||
Platform: | Any | ||||
Summary: | Add menu entry to generate a Blend project from an existing Unity project | ||||
Description: |
From forums post https://www.noesisengine.com/forums/viewtopic.php?f=3&t=2392 |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2070 | [NoesisGUI] C# SDK | trivial | always | 2021-08-04 23:59 | 2021-09-08 15:24 |
Reporter: | ai_enabled | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.12 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.1 | ||
Target Version: | 3.1.1 | ||||
Platform: | Any | ||||
Summary: | "StringFormat=0.##" produces 0.5 for 0.05 | ||||
Description: |
Hi guys, I've noticed a weird bug when using <TextBox Text="{Binding Value, StringFormat=0.##}" /> displays 0.5 for double value 0.05 but not any other number (e.g. it's ok for 0.01 and 0.1, 0.2, etc). Regards! |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2008 | [NoesisGUI] C# SDK | feature | always | 2021-05-08 10:14 | 2021-09-07 16:07 |
Reporter: | KeldorKatarn | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | urgent | OS Version: | |||
Status: | resolved | Product Version: | 3.0.12 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.1 | ||
Target Version: | 3.1.1 | ||||
Platform: | Any | ||||
Summary: | FrameworkElement.OnApplyTemplate method missing or not virtual | ||||
Description: | This is important to create custom controls. I'm trying to create a navigation control derived from Selector and I need this. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007235)
KeldorKatarn 2021-05-08 10:18 (Last edited: 2021-05-08 12:49) |
I put the four features in relation to eachother because they're all related to CustomControl development. |
(0007236)
KeldorKatarn 2021-05-08 12:49 (Last edited: 2021-05-08 12:50) |
|
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1532 | [NoesisGUI] C++ SDK | feature | N/A | 2019-08-08 18:13 | 2021-09-06 17:53 |
Reporter: | steveh | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 2.2.1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Feature request: DependencyProperty value support on DependencyObject instances in the debugger | ||||
Description: |
Hi guys, this is following on from this feature request: https://www.noesisengine.com/bugs/view.php?id=1440#c5920 What I'd like is the ability to query the DependencyProperty values directly from the debugger. Ideally, if I'd hover over an instance derived from DependencyObject I'd be able to see all the current values of all the DependencyProperty properties. C# manages this through reflection and the getters. If possible, could we achieve something similar in native C++ by modifying the *.natvis to query the DependencyValue maps to retrieve the value for a particular DependencyObject instance? I've attached 2 images, one from managed C# and the other from native C++ of the output from instanced derived from DepnedencyObejct. Ideally, the native would be able to retrieve the same information that the C# version could return. Currently, the workaround is to stop the debugger, write a log to retrieve the value, and then rerun the game. This would prevent tonnes of debugging code that I end up writing like the following snippet: NS_LOG_DEBUG("%s::Visibility = %d", GetName(), GetVisibility()); Cheers, -Steven |
||||
Tags: | |||||
Steps To Reproduce: |
1. Breakpoint any instance derived from DependencyObject in C++ 2. View the this pointer in the watch window. 3. Notice that no DependencyProperty values are displayed. |
||||
Additional Information: | |||||
Attached Files: |
native_dependencyproperty_output.png (38,232 bytes) 2019-08-08 18:13 https://www.noesisengine.com/bugs/file_download.php?file_id=1096&type=bug managed_dependencyproperty_output.png (60,203 bytes) 2019-08-08 18:13 https://www.noesisengine.com/bugs/file_download.php?file_id=1097&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1440 | [NoesisGUI] C++ SDK | feature | N/A | 2019-04-02 15:21 | 2021-09-06 17:53 |
Reporter: | steveh | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.0 | ||
Target Version: | |||||
Platform: | Any | ||||
Summary: | EASTL Version | ||||
Description: |
Hi guys, is there any plans to update the EASTL version to the official Github repository. It looks like version 2.0 is being used from the old unofficial source code which came from the original ZIP released in 2010, the newer 3.0 version is now completely open source officially maintained by EA now: https://github.com/electronicarts/EASTL Only reason I'm asking is I tried to use the Visual Studio debug visualisers (https://github.com/electronicarts/EASTL/blob/master/doc/EASTL.natvis), but they're written to work with 3.0 and don't work correctly with the types so it's making debugging the internal types a bit more tricky than it should be. Cheers, -Steven |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0005601)
jsantos 2019-04-05 21:21 |
Yes, we have plans for this. We are going to deprecate EASTL in favor of our custom containers. EASTL is huge for us, we want something smaller to improve compiling times and performance. And yes, we will provide a natvis configuration for this new implementation. This is something we are already working on. Thanks for the feedback! |
(0005918)
jsantos 2019-08-08 17:23 |
Just an update about this. The branch without EASTL, with new containers, with proper .natvis and huge memory improvements is almost ready to be integrated into trunk. |
(0005919)
steveh 2019-08-08 17:41 |
That sounds awesome, good work. One additional thing that might be worthwhile going in the .natvis is the ability to see the DependencyProperty values for a DependencyObject. Quite often in the debugger I want to output the values of the dependencyproperties. I have to keep writing getters and logging out the values. In managed C# I can just hover over the objects and the getters work great in the debugger. I don't know the best way to simulate it but it would be a massive help whilst debugging in C++. Is it worth me opening a new ticket for this feature request? Cheers |
(0005920)
jsantos 2019-08-08 17:56 (Last edited: 2019-08-08 17:56) |
Awesome suggestion! Yes, please open a new ticket for that. We were thinking about that, we need custom native visualizers because we need to execute code to evaluate DependencyProperties. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2101 | [NoesisGUI] C++ SDK | block | always | 2021-09-01 15:29 | 2021-09-06 13:06 |
Reporter: | fnlombard | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.1 | ||
Target Version: | 3.1.1 | ||||
Platform: | Windows | ||||
Summary: | Merged Dictionaries not loading when calling LoadXaml | ||||
Description: |
In our application, we have several DataTemplates that we load directly from XAML files during runtime. The typical structure of a file is shown below: <DataTemplate xmlns=http://schemas.microsoft.com/winfx/2006/xaml/presentation xmlns:x=http://schemas.microsoft.com/winfx/2006/xaml xmlns:sys="clr-namespace:System"> <DataTemplate.Resources> <ResourceDictionary> <ResourceDictionary.MergedDictionaries> <ResourceDictionary Source="MyStyleFile.xaml"/> </ResourceDictionary.MergedDictionaries> </ResourceDictionary> </DataTemplate.Resources> <StackPanel> <Control Style={StaticResource MyStyle}/> </StackPanel> </DataTemplate> This worked correctly in Noesis 2.2.6. In Noesis 3.1.0, it seems that the merged resource dictionary is not loaded. Consequently, the style of the control cannot be found. We use the Noesis::GUI::LoadXaml() function to load these DataTemplates. For this we do not want to use ‘SetApplicationResources’ because the style and the data template should not be globally available. |
||||
Tags: | ResourceDictionary | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007403)
fnlombard 2021-09-03 09:33 |
Side question: When using 'SetApplicationResources': Merged resource dictionaries are only loaded if a XAML file's root element is a ResourceDictionary. The merged resource dictionaries of child elements, for example a ControlTemplate, are not loaded. Will the fix that you are working on also fix this? Thanks |
(0007404)
sfernandez 2021-09-03 10:34 |
Yes, the bug appears in any MergedDictionary contained in templates. We will fix it for both ControlTemplates and DataTemplates. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2103 | [NoesisGUI] Unity3D | minor | always | 2021-09-02 19:23 | 2021-09-06 11:05 |
Reporter: | rachelle | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.1 | ||
Target Version: | 3.1.1 | ||||
Platform: | Any | ||||
Summary: | Custom fonts defined in a theme failing to load after upgrading to 3.1.0 | ||||
Description: |
We have just upgraded our Unity integration to NoesisGUI 3.1.0. We have a folder structure like this: -- Assets -- Scripts -- Runtime -- Client -- UI -- Themes GameTheme.xaml GameTheme.Fonts.xaml -- Fonts CustomFontA.otf CustomFontB.otf CustomFontC.otf GameTheme.xaml looks something like this: <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:sys="clr-namespace:System;assembly=mscorlib"> <ResourceDictionary.MergedDictionaries> <ResourceDictionary Source="GameTheme.Fonts.xaml" /> </ResourceDictionary.MergedDictionaries> </ResourceDictionary> GameTheme.Fonts.xaml looks something like this: <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:sys="clr-namespace:System;assembly=mscorlib"> <FontFamily x:Key="Font.Family.CustomFontA">/Blend;component/Assets/Scripts/Runtime/Client/UI/Themes/Fonts/#Custom Font A</FontFamily> <FontFamily x:Key="Font.Family.CustomFontB">/Blend;component/Assets/Scripts/Runtime/Client/UI/Themes/Fonts/#Custom Font B</FontFamily> <FontFamily x:Key="Font.Family.CustomFontC">/Blend;component/Assets/Scripts/Runtime/Client/UI/Themes/Fonts/#Custom Font C</FontFamily> </ResourceDictionary> We specify the paths this way so that the fonts show up correctly in our Unity game as well as in Blend where our designers are directly editing the UI layouts. All of our TextBlocks in the xaml files driving the UI we're using in-game make reference to these custom fonts by specifying the FontFamily property, like this: FontFamily="{StaticResource Font.Family.CustomFontA}" For each of our custom fonts, though, we are seeing this error: [noesis] Assets/Scripts/Runtime/Client/UI/Themes/GameTheme.Fonts.xaml(8): Font not found '/Blend;component/Assets/Scripts/Runtime/Client/UI/Themes/Fonts/#Custom Font A' The custom fonts are still showing up in Blend, but the "not found" errors in Unity are preventing the custom fonts from showing up in-game. This worked before the upgrade, when we were on NoesisGUI 3.0.12. A re-import of the themes folder, fonts folder, and all xaml in the UI folder does not resolve the issue. According to sfernandez in our forum discussion (https://www.noesisengine.com/forums/viewtopic.php?f=3&t=2411) this is due to the Uri containing the assembly part. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2077 | [NoesisGUI] Unity3D | major | always | 2021-08-09 09:59 | 2021-09-03 19:40 |
Reporter: | asusralis | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.1 | ||
Target Version: | 3.1.1 | ||||
Platform: | Any | ||||
Summary: | Woes updating to 3.1 | ||||
Description: |
After this point, almost *any* action I do in Unity will make Noesis reimport all xaml assets. Clearing or scrolling the unity console, playing the game, or restarting Unity will reimport all my xaml assets. Just about everything I do will cause all of these assets to reimport. Is there something I'm missing? Also, can I please be told a way to disable Unity asking to update to the new input system? Updating to this would break many plugins I'm using. If I understand correctly, this new system only impacts Noesis' support for gamepads, which I will not support. I really can't have this message appear every time I open Unity. |
||||
Tags: | |||||
Steps To Reproduce: |
1): Close Unity, delete NoesisGUI and all Noesis .asset files. 2): Add Noesis 3.1 package. 3): Unity crashes (attached crash). Open up Unity. 3): Click no to use the new input system. 3): Go to Noesis settings, add key/pass, reference my Resources xaml dictionary. |
||||
Additional Information: | |||||
Attached Files: |
Crash_2021-08-09_075051504.rar (250,400 bytes) 2021-08-09 09:59 https://www.noesisengine.com/bugs/file_download.php?file_id=1468&type=bug |
||||
Notes | |
(0007356)
jsantos 2021-08-09 15:38 |
Regarding the new input system, setting in to "Both" should stop Unity asking about it. |
(0007359)
asusralis 2021-08-11 08:12 |
I see, thanks for the info! I will try that. For the other issue I'm having, would it be easier if you try to recreate it in my project as well? |
(0007360)
jsantos 2021-08-11 12:13 |
Yes, we will reproduce this using your project. Thank you |
(0007363)
Tiddan 2021-08-12 18:33 |
I have the same problem. I'm on Unity 2020.3.2 and 2020.3.15. It's basically impossible to work like asusralis is explaining. It happens for basically every interaction you do inside Unity. |
(0007406)
sfernandez 2021-09-03 19:40 |
The problem appeared when the Application Resources contained references to user controls. That scenario was invalidating the application resources all the time and triggering a reimport of all xamls again. We fixed this situation for the next release coming next week. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2097 | [NoesisGUI] Unreal | minor | always | 2021-08-30 17:34 | 2021-09-03 12:38 |
Reporter: | hcpizzi | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.1 | ||
Target Version: | 3.1.1 | ||||
Platform: | Any | ||||
Summary: | Warnings compiling plugin | ||||
Description: |
We noticed some warnings that we would like to bring to your attention:Plugins/NoesisGUI/Source/NoesisRuntime/Private/NoesisMediaPlayer.cpp(240): warning C4996: 'UTexture::Resource': Use GetResource() / SetResource() accessors instead. Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile. Plugins/NoesisGUI/Source/NoesisRuntime/Private/Render/NoesisRenderDevice.cpp(874): warning C4996: 'UTexture::Resource': Use GetResource() / SetResource() accessors instead. Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile. Plugins/NoesisGUI/Source/NoesisRuntime/Private/Render/NoesisRenderDevice.cpp(882): warning C4996: 'UTexture::Resource': Use GetResource() / SetResource() accessors instead. Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile. Plugins/NoesisGUI/Source/NoesisRuntime/Private/Render/NoesisRenderDevice.cpp(904): warning C4996: 'UTexture::Resource': Use GetResource() / SetResource() accessors instead. Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile. Plugins/NoesisGUI/Source/NoesisRuntime/Private/Render/NoesisRenderDevice.cpp(919): warning C4996: 'UTexture::Resource': Use GetResource() / SetResource() accessors instead. Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007405)
hcpizzi 2021-09-03 12:38 |
Fixed this and other build problems. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1941 | [NoesisGUI] Unity3D | minor | always | 2021-03-15 18:37 | 2021-09-02 19:53 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.11 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.0 | ||
Target Version: | 3.1 | ||||
Platform: | Any | ||||
Summary: | Interactivity DataTrigger not behaving exactly as WPF | ||||
Description: |
WPF's DataTrigger does not evaluate bindings when it gets attached to the associated object, so if DataContext is set before attaching, it won't invoke its actions even if condition is fulfilled. On the other hand Noesis DataTrigger, when trigger is attached, it evaluates the bindings again so it is able to invoke actions if condition is fulfilled, but this is incorrect compared to WPF. Consider creating a new trigger that evaluates when attached, something like an ImmediateDataTrigger in case anyone needs that behavior. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007394)
Faerdan 2021-08-31 11:05 |
I was the original reporter of this issue, however it isn't really an issue. The reason WPF's DataTrigger seemed to be different was that Noesis.GUI.Extensions was referencing an unofficial Interactivity/Behaviours Nuget package, which was built against code from 2012. The DataTrigger in Microsoft's official Microsoft.Xaml.Behaviors.Wpf Nuget package (https://github.com/microsoft/XamlBehaviorsWpf/blob/302a27da21749b330a8b5807bc69f62f4372ff94/src/Microsoft.Xaml.Behaviors/Core/DataTrigger.cs) does invoke the evaluation the bindings in the OnAttached method: protected override void OnAttached() { base.OnAttached(); //fixes issue #11. We want to evaluate the binding's initial value when the element is first loaded if (AssociatedObject is FrameworkElement element) { element.Loaded += OnElementLoaded; } } |
(0007402)
sfernandez 2021-09-02 19:53 (Last edited: 2021-09-02 19:53) |
With the latest version of our extensions (3.0.8) we moved to the official Microsoft.Behaviors.Wpf so both implementations should match. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2089 | [NoesisGUI] C++ SDK | block | always | 2021-08-24 09:32 | 2021-09-02 18:02 |
Reporter: | krupitskas | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.1 | ||
Target Version: | 3.1.1 | ||||
Platform: | Any | ||||
Summary: | view->SetProjectionMatrix() not affect hit test functionality | ||||
Description: |
We use 3.0, but still 3.1 also has this bug. We are using textblocks as 3d elements in our world and we need to be able to select them, but it's not possible right now. I've created reproducible scenario. Open IntegrationGLUT example, go to static void DisplayFunc(void) add this code in the beginning const auto perspective = Noesis::Matrix4::PerspectiveFov(90.0f, float(glutGet(GLUT_WINDOW_WIDTH)) / float(glutGet(GLUT_WINDOW_HEIGHT)), 0.01f); const auto viewport = Noesis::Matrix4::Viewport(float(glutGet(GLUT_WINDOW_WIDTH)), float(glutGet(GLUT_WINDOW_HEIGHT))); const auto offset = Noesis::Transform3::Trans(0.0f, 0.0f, 500.0f).ToMatrix4(); const auto prod = offset * perspective * viewport; _view->SetProjectionMatrix(prod); You will see that layout moved, but when you will try to click on button, it will be unsuccessful, because hit test still works in old projection matrix in 2D. Just try to click on this imaginable 2D position without transformations. |
||||
Tags: | C++, Hittest, matrix | ||||
Steps To Reproduce: |
1. Open IntegrationGLUT 2. Add my code 3. See incorrect behaviour Correct behaviour is: Possibility to pass correct hit test at the any position in the world, based on provided matrix |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007401)
hcpizzi 2021-09-02 18:02 |
Hit testing with arbitrary projection matrices has been fixed. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2076 | [NoesisGUI] C++ SDK | crash | random | 2021-08-07 05:39 | 2021-08-30 20:12 |
Reporter: | asusralis | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.12 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.1 | ||
Target Version: | 3.1.1 | ||||
Platform: | Any | ||||
Summary: | Crash! | ||||
Description: | I can't tell why this happens, it seems random. It continues to happen. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
Crash_2021-08-07_003033748.rar (392,985 bytes) 2021-08-07 05:39 https://www.noesisengine.com/bugs/file_download.php?file_id=1467&type=bug |
||||
Notes | |
(0007346)
asusralis 2021-08-09 11:27 |
Would it be easier if you hop into my repo or me sending a dev build? It happens quite a lot, but I can't tell where it's coming from. |
(0007347)
sfernandez 2021-08-09 11:50 |
The best way to find the source of the problem will be to reproduce it in your project. What steps should I follow? I have access to your repo, which branch should I use? |
(0007348)
asusralis 2021-08-09 11:53 |
Use tactic-dev. New Game -> Skrimish (Humans). Settle a city. It has happened from clicking end turn, placing buildings, moving units... But I really can't tell what exactly does it. :( |
(0007349)
asusralis 2021-08-09 11:55 |
Here is a video that shows the bug happen. I've repeated what I've done in this video but I can't always make it crash. https://files.catbox.moe/thel0c.mp4 |
(0007350)
sfernandez 2021-08-09 12:56 |
I'm getting NotImplementedException: The method or operation is not implemented. Zenject.MonoInstallerBase.InstallBindings () (at Assets/Plugins/Zenject/Source/Install/MonoInstallerBase.cs:32) when clicking Play, probably need to install or configure something to make it work. |
(0007351)
asusralis 2021-08-09 12:59 |
You're on tactic-dev with commit c66aa5f5c16c74b7e4e3faa9ed9c90c27fced11a? How odd. Did you try restarting the editor? And can you send me the callstack for that? |
(0007352)
sfernandez 2021-08-09 13:07 |
Yes I'm on that branch and commit. I noticed there are some scripts that can't load due to compiler errors (like AppInstaller), and reimporting Project/Source/Core I get this Assembly 'Library/ScriptAssemblies/Assembly-CSharp.dll' will not be loaded due to errors: Reference has errors 'Empis.Master'. Assembly 'Library/ScriptAssemblies/Assembly-CSharp-Editor.dll' will not be loaded due to errors: Reference has errors 'Assembly-CSharp'. Assembly 'Assets/Plugins/Empis.Master/netstandard2.0/Empis.Master.dll' will not be loaded due to errors: Empis.Master references strong named Microsoft.AspNetCore.Http.Features Assembly references: 2.2.0.0 Found in project: 3.1.10.0. Assembly Version Validation can be disabled in Player Settings "Assembly Version Validation" |
(0007353)
asusralis 2021-08-09 13:19 |
I have no idea why this would happen. Could I send you a development build of the game? |
(0007354)
sfernandez 2021-08-09 13:25 (Last edited: 2021-08-09 13:26) |
If I can reproduce the crash in the player then yes. UPD: Nevermind, I closed Unity, reverted a few files that were modified by Unity and after restarting it works fine. |
(0007355)
asusralis 2021-08-09 13:46 |
Oh, that's great to hear! |
(0007357)
sfernandez 2021-08-09 22:32 |
The problem I'm seeing is that you are raising property change notifications from different threads and our objects can only be invalidated from Unity main thread.Notify Empis.Unity.ViewModels.ProductVM.CanBuild UnityEngine.StackTraceUtility:ExtractStackTrace () UnityEngine.DebugLogHandler:LogFormat (UnityEngine.LogType,UnityEngine.Object,string,object[]) UnityEngine.Logger:Log (UnityEngine.LogType,object) UnityEngine.Debug:Log (object) Noesis.Extend:NotifyPropertyChanged (object,System.ComponentModel.PropertyChangedEventArgs) (at Assets/NoesisGUI/Plugins/API/Core/Extend.cs:5219) Empis.BindableObject:NotifyPropertyChanged (string) (at Assets/Project/Source/Game/BindableObject.cs:15) Empis.BindableObject:Set<bool> (bool&,bool,string) (at Assets/Project/Source/Game/BindableObject.cs:22) Empis.Unity.ViewModels.ProductVM:set_CanBuild (bool) (at Assets/Project/Source/ViewModels/ProductVM.cs:104) Empis.Unity.ProducerViewer/<>c__DisplayClass46_0:<UpdateProductBindings>b__1 (Empis.Unity.ViewModels.ProductVM) (at Assets/Project/Source/Viewers/Components/ProducerViewer.cs:111) System.Threading.Tasks.Parallel/<>c__DisplayClass31_0`2<Empis.Unity.ViewModels.ProductVM, object>:<ForEachWorker>b__0 (int) System.Threading.Tasks.Parallel/<>c__DisplayClass17_0`1<object>:<ForWorker>b__1 () System.Threading.Tasks.Task:InnerInvoke () System.Threading.Tasks.Task:InnerInvokeWithArg (System.Threading.Tasks.Task) System.Threading.Tasks.Task/<>c__DisplayClass178_0:<ExecuteSelfReplicating>b__0 (object) System.Threading.Tasks.Task:InnerInvoke () System.Threading.Tasks.Task:Execute () System.Threading.Tasks.Task:ExecutionContextCallback (object) System.Threading.ExecutionContext:RunInternal (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool) System.Threading.ExecutionContext:Run (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool) System.Threading.Tasks.Task:ExecuteWithThreadLocal (System.Threading.Tasks.Task&) System.Threading.Tasks.Task:ExecuteEntry (bool) System.Threading.Tasks.Task:System.Threading.IThreadPoolWorkItem.ExecuteWorkItem () System.Threading.ThreadPoolWorkQueue:Dispatch () System.Threading._ThreadPoolWaitCallback:PerformWaitCallback () |
(0007358)
asusralis 2021-08-10 06:56 |
I see, thanks for the info. |
(0007393)
sfernandez 2021-08-30 20:12 |
We added support in Unity for logging from different threads, so errors produced by using the UI elements from different threads are now properly shown. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2090 | [NoesisGUI] C++ SDK | crash | always | 2021-08-24 11:32 | 2021-08-30 20:10 |
Reporter: | hcpizzi | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.1 | ||
Target Version: | 3.1.1 | ||||
Platform: | Any | ||||
Summary: | ComboBox::SelectNext not keeping reference to item | ||||
Description: |
Line 860 reads: BaseComponent* item = items->GetItemAt(index); But in UE4, collection items are temporaries. The Ptr returned by GetItemAt gets destroyed. It can be fixed by: Ptr<BaseComponent> item = items->GetItemAt(index); |
||||
Tags: | |||||
Steps To Reproduce: |
In the UE4 ShooterGame sample: - Press Backspace to bring up the in game menu and choose Main Menu - Pres right and then down on the keyboard arrows. ComboBox::SelectNext should be executed. |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2096 | [NoesisGUI] C++ SDK | minor | always | 2021-08-27 14:21 | 2021-08-30 14:35 |
Reporter: | hcpizzi | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.1 | ||
Target Version: | 3.1.1 | ||||
Platform: | Any | ||||
Summary: | More than one caret visible and assert during shutdown | ||||
Description: | More than one text input carets are visible at times, as if more than one text input element had focus. | ||||
Tags: | |||||
Steps To Reproduce: | Open the Login sample. Quickly hover over the TextBox and the PasswordBox. At some point both have a visible caret. Then close the application to trigger the assert. | ||||
Additional Information: | |||||
Attached Files: |
TwoCarets.png (156,627 bytes) 2021-08-27 14:21 https://www.noesisengine.com/bugs/file_download.php?file_id=1476&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2068 | [NoesisGUI] Unreal | minor | always | 2021-08-02 17:04 | 2021-08-25 16:39 |
Reporter: | sergiu.zixelise | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.12 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.1 | ||
Target Version: | 3.1 | ||||
Platform: | iOS | ||||
Summary: | InputScope property on TextBox not working | ||||
Description: | While using Noesis 3.0 with UE4, to build an iOS application for Ipad, when adding an InputScope property on a TextBox, and setting it to any value does not affect the input type on iOS devices. | ||||
Tags: | iOS, mobile, TextBox, UE4 | ||||
Steps To Reproduce: | Add a TextBox, add an InputScope="Number" property, after building and running on iPad, when trying to input text, the standard keyboard does not change to a numeric keyboard. | ||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007383)
hcpizzi 2021-08-25 16:39 |
InputScope is now taken into account. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2081 | [NoesisGUI] Documentation | minor | N/A | 2021-08-10 18:48 | 2021-08-24 11:59 |
Reporter: | FredrikAleksander | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.1 | ||
Target Version: | 3.1.1 | ||||
Platform: | Any | ||||
Summary: | The Unreal Engine ShooterGame needs to be updated to UE4.26 and NoesisSDK 3.1 | ||||
Description: | The Unreal Engine ShooterGame example does not build on the latest UE4 and NoesisSDK versions | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007378)
hcpizzi 2021-08-24 11:59 |
The sample has been updated. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2087 | [NoesisGUI] C++ SDK | feature | N/A | 2021-08-23 11:17 | 2021-08-23 18:18 |
Reporter: | Ringo | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1 | ||||
Platform: | macOS | ||||
Summary: | Feature Request: Mac Catalyst support | ||||
Description: |
Hello, I am building a macOS app using UIKit (aka maccatalyst platform). But Noesis.dylib is built for classic AppKit, it is not possible to link as is. I was able to successfully link it after some Mach-O header patching, but such process is not sustainable. Can you please provide additional binaries for maccatalyst target? It shouldn't be hard, just a few clicks in Xcode. https://developer.apple.com/documentation/uikit/mac_catalyst |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2013 | [NoesisGUI] C# SDK | feature | always | 2021-05-10 19:20 | 2021-08-23 12:44 |
Reporter: | KeldorKatarn | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.12 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.1 | ||
Target Version: | 3.1 | ||||
Platform: | Any | ||||
Summary: | WPF Inconsistency: DependencyProperty.AddOwner is missing | ||||
Description: |
Both overloads of DependencyProperty.AddOwner are missing: DependencyProperty.AddOwner(Type) DependencyProperty.AddOwner(Type, PropertyMetadata) |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1992 | [NoesisGUI] Unity3D | crash | always | 2021-04-30 09:58 | 2021-08-20 13:03 |
Reporter: | KeldorKatarn | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.0.11 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Unity 2019.4.9f1 (64-bit) crashes when using asynchronous event handler for Noesis RoutedEvent | ||||
Description: |
Doing this reliably crashes the editor public partial class FileDialogView : UserControl { public FileDialogView() { InitializeComponent(); Initialized += OnInitialized; } private void OnInitialized(object sender, EventArgs args) { var treeView = (TreeView)FindName("TreeView"); treeView.AddHandler(TreeViewItem.SelectedEvent, new RoutedEventHandler((s, e) => OnTreeViewItemSelected(s, e))); } private async void OnTreeViewItemSelected(object sender, RoutedEventArgs e) { await Task.Delay(500); (e.Source as TreeViewItem)?.BringIntoView(); } } |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
crash.dmp (1,589,471 bytes) 2021-04-30 09:58 https://www.noesisengine.com/bugs/file_download.php?file_id=1424&type=bug Editor.log (194,068 bytes) 2021-04-30 09:58 https://www.noesisengine.com/bugs/file_download.php?file_id=1425&type=bug error.log (134,758 bytes) 2021-04-30 09:58 https://www.noesisengine.com/bugs/file_download.php?file_id=1426&type=bug |
||||
Notes | |
(0007205)
sfernandez 2021-05-03 11:15 |
I found that args object (the native part) is already destroyed after the delay, we need to think about how to deal with this issue. In the meantime a workaround is to extract the information from the args before doing the wait: private async void OnTreeViewItemSelected(object sender, RoutedEventArgs e) { TreeViewItem tvi = e.Source as TreeViewItem; await Task.Delay(500); tvi?.BringIntoView(); } |
(0007209)
KeldorKatarn 2021-05-03 14:03 |
Ah, that makes sense. It shouldn't crash the editor though. |
(0007370)
Flem100@live.dk 2021-08-17 20:27 |
I have similar problems when I use async event handlers, but it really depends on the scenario. Aren't we supposed to use async-await with NoesisGUI or are there some specific limitations we should know about? The system we are porting to Unity from WPF, primarily uses async methods, so that's a big thing for us. |
(0007374)
sfernandez 2021-08-20 13:03 |
As I mentioned before the use of the args object after any wait will cause crashes because it relies on a native memory that is already destroyed. We have to fix that somehow and in the meantime the workaround is to keep the required information as local variables in the event handler method. I guess all you need is to keep some data and you don't require any modification of the args object after the wait because it won't affect the result of the event, for example, setting the e.Handled=true after the wait does nothing. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1765 | [NoesisGUI] C++ SDK | feature | always | 2020-07-30 10:44 | 2021-08-18 19:59 |
Reporter: | vhugo | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.0 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1 | ||||
Platform: | Any | ||||
Summary: | <FlowDocument> and <Floater> features not supported | ||||
Description: | <FlowDocument> and <Floater> features from WPF are not implemented | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2084 | [NoesisGUI] Unity3D | crash | always | 2021-08-16 18:40 | 2021-08-16 19:31 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.1 | ||
Target Version: | 3.1.1 | ||||
Platform: | Any | ||||
Summary: | Crash when defining GridLength dependency property | ||||
Description: |
When creating a custom control with a GridLength dependency property, Unity crashes.public class MyControl : Control { public GridLength ContentArea { get { return (GridLength)GetValue(ContentAreaProperty); } set { SetValue(ContentAreaProperty, value); } } public static readonly DependencyProperty ContentAreaProperty = DependencyProperty.Register( "ContentArea", typeof(GridLength), typeof(MyControl), new PropertyMetadata(new GridLength(0.0f))); } |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2078 | [NoesisGUI] C++ SDK | minor | always | 2021-08-10 03:17 | 2021-08-16 10:06 |
Reporter: | tkawa | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.1 | ||
Target Version: | 3.1.1 | ||||
Platform: | Any | ||||
Summary: | Grid doesn't layout according to the ColumnDefinition | ||||
Description: |
Follow up from https://www.noesisengine.com/forums/viewtopic.php?f=3&t=2381 Star column width is different from the specified value. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2083 | [NoesisGUI] Unreal | crash | always | 2021-08-12 19:54 | 2021-08-13 11:15 |
Reporter: | sergiu.zixelise | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.1 | ||
Target Version: | 3.1.1 | ||||
Platform: | Windows | ||||
Summary: | Crash in editor when adding a variable in a Sequence Director, inside an Event Track in a level sequence. | ||||
Description: |
Found a really weird crash when using Level Sequences when the Noesis Engine plugin is enabled. I attached the log files. This is the error from the crash reporter. Assertion failed: AssetOwner->IsAsset() [File:D:/Build/++UE4/Sync/Engine/Source/Editor/BlueprintGraph/Private/BlueprintActionDatabaseRegistrar.cpp] [Line: 153] UE4Editor_Core UE4Editor_Core UE4Editor_BlueprintGraph UE4Editor_NoesisBlueprint!UK2Node_NoesisAssignAndNotify::GetMenuActions() [D:\git\UI\Plugins\NoesisGUI\Source\NoesisBlueprint\Private\K2Node_NoesisAssignAndNotify.cpp:246] UE4Editor_BlueprintGraph UE4Editor_BlueprintGraph UE4Editor_BlueprintGraph UE4Editor_Engine UE4Editor_UnrealEd UE4Editor_UnrealEd UE4Editor_Kismet UE4Editor_Kismet UE4Editor_Slate UE4Editor_Kismet UE4Editor_Kismet UE4Editor_Slate UE4Editor_Slate UE4Editor_Slate UE4Editor_Slate UE4Editor_Slate UE4Editor_Slate UE4Editor_ApplicationCore UE4Editor_ApplicationCore UE4Editor_ApplicationCore UE4Editor_ApplicationCore user32 user32 UE4Editor_ApplicationCore UE4Editor UE4Editor UE4Editor UE4Editor UE4Editor kernel32 ntdll |
||||
Tags: | UE4 | ||||
Steps To Reproduce: |
In a new empty project, enable Noesis plugin. Create a Level Sequence Asset. Inside the Level Sequence add an Event Track, and add a keyframe anywhere in the timeline. Double-click the keyframe to open the Sequence Director. Inside the Sequence Director add a new variable, and wait for it to crash. |
||||
Additional Information: | |||||
Attached Files: |
UE4CC-Windows-9373F5534CC43C73174E4E9449941CF5_0000.zip (132,442 bytes) 2021-08-12 19:54 https://www.noesisengine.com/bugs/file_download.php?file_id=1469&type=bug |
||||
Notes | |
(0007365)
hcpizzi 2021-08-13 11:15 |
Used Blueprint->SkeletonGeneratedClass instead of Blueprint to key the Blueprint actions. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2009 | [NoesisGUI] C# SDK | feature | always | 2021-05-08 12:48 | 2021-08-05 17:57 |
Reporter: | KeldorKatarn | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | urgent | OS Version: | |||
Status: | resolved | Product Version: | 3.0.12 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.1 | ||
Target Version: | 3.1.1 | ||||
Platform: | Any | ||||
Summary: | StyleTypedPropertyAttribute missing | ||||
Description: |
This one is also pretty important to create classes which have a ItemContainerStyle like property and a container class. I have two such controls in the works already. A Window host and a FlipView. At least one of them is going to need this. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007237)
KeldorKatarn 2021-05-08 12:50 |
I put the four features in relation to eachother because they're all related to CustomControl development. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2007 | [NoesisGUI] C# SDK | feature | always | 2021-05-08 10:12 | 2021-08-05 17:57 |
Reporter: | KeldorKatarn | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | low | OS Version: | |||
Status: | resolved | Product Version: | 3.0.12 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.1 | ||
Target Version: | 3.1.1 | ||||
Platform: | Any | ||||
Summary: | TemplatePartAttribute missing | ||||
Description: | Title says it all | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007234)
KeldorKatarn 2021-05-08 10:18 (Last edited: 2021-05-08 12:50) |
I put the four features in relation to eachother because they're all related to CustomControl development. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1823 | [NoesisGUI] C# SDK | feature | always | 2020-10-27 12:32 | 2021-08-05 11:02 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.0.6 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1 | ||||
Platform: | Any | ||||
Summary: | Support for DependencyPropertyKey and read-only dependency properties | ||||
Description: |
Add support for registering read-only dependency properties: - DependencyProperty.RegisterReadOnly() - DependencyProperty.RegisterAttachedReadOnly() And for modifying read-only properties using the provided key: - DependencyObject.SetValue(DependencyPropertyKey key, object value) |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2006 | [NoesisGUI] C# SDK | feature | always | 2021-05-07 07:17 | 2021-08-04 18:23 |
Reporter: | KeldorKatarn | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | urgent | OS Version: | |||
Status: | assigned | Product Version: | 3.0.12 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1 | ||||
Platform: | Any | ||||
Summary: | Controls are missing virtual OnEvent methods | ||||
Description: |
Controls are missing the typical OnEvent methods like OnMouseLeftButtonDown. Overriding these is the standard way of implementing functionality. Subscribing to their own events is not good style. It is less efficient and the deriving class cannot react to values set in eventArgs by any handler. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007233)
KeldorKatarn 2021-05-08 10:18 (Last edited: 2021-05-08 12:50) |
I put the four features in relation to eachother because they're all related to CustomControl development. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2063 | [NoesisGUI] C++ SDK | major | random | 2021-07-23 13:46 | 2021-08-04 16:31 |
Reporter: | steveh | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.9 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.1 | ||
Target Version: | 3.1.1 | ||||
Platform: | Any | ||||
Summary: | Assert when stopping storyboard | ||||
Description: |
Hi guys, we're hitting an assert in TimeManager::OnClockFinished in rare cases when stopping a storyboard. The assert is in the following line: if (clocks.Empty()) { // Clear any pending animation related with this target and dp RemovePendingAnimation(target, dp); // Clear animated property animatedProperties.Erase(propIt); <<<<<<<<<<<<<<< HERE } (Line 813 in version 3.0.9). The issue is that propIt is no longer valid. The animatedProperties map is empty so something must have removed the properties in between line 784 when it finds the dependency property and line 813 when it tries to erase it. I can change the line to this instead so it doesn't rely on the iterator remaining valid: animatedProperties.Erase(dp); Cheers, -Steven |
||||
Tags: | |||||
Steps To Reproduce: |
- Stop a storyboard - In rare cases it can assert. |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2064 | [NoesisGUI] C++ SDK | minor | always | 2021-07-23 21:06 | 2021-08-04 16:31 |
Reporter: | steveh | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.9 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.1 | ||
Target Version: | 3.1.1 | ||||
Platform: | Any | ||||
Summary: | UIElement::IsVisibleProperty default value is set to true | ||||
Description: |
Hi guys, following up from the forum post: https://www.noesisengine.com/forums/viewtopic.php?f=3&t=2367&sid=fd32d1c57eae2e3a259603c6b3df456e It sounds like the default value just needs to be set to false so things are not treated as visible until they are connected to the visual tree. Cheers -Steven |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007345)
sfernandez 2021-08-04 12:45 |
Fixed in revision 10646. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2065 | [NoesisGUI] C++ SDK | minor | sometimes | 2021-07-27 11:52 | 2021-07-28 11:38 |
Reporter: | steveh | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.0.9 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | CollectionSortBehaviour::RemSortedItem uses incorrect logic | ||||
Description: |
Hi guys, Just wanted to let you know that CollectionSortBehaviour::RemSortedItem breaks if there are multiple elements with the same priority. The current implementation tries to find the index of the element to remove by binary searching. This works fine if everything has a unique priority, but if there are multiple elements with the same priority then this might attempt to remove any elements matching the input priority. For now we've just changed the implementation to a linear search: void CollectionSortBehaviour::RemSortedItem(SortComparer* comparer, SortedCollection* list, Noesis:::BaseComponent* item) { list->Remove(item); } Obviously this changes the O(log n) -> O(n), but that's fine for us as n is trivially small. |
||||
Tags: | |||||
Steps To Reproduce: |
1. Create an observable collection, fill with some elements 2. Create a sort behaviour 3. Create a custom SortComparer, make the compare function return 0 for more than 1 element in your collection (i.e. multiple elements have the same priority) 4. Attempt to remove that element from your list 5. Notice that it can remove an incorrect item. |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1926 | [NoesisGUI] C++ SDK | minor | have not tried | 2021-02-18 10:46 | 2021-07-27 20:08 |
Reporter: | jsantos | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.10 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.0 | ||
Target Version: | 3.1 | ||||
Platform: | Switch | ||||
Summary: | NVNRenderContext requiring 1GB of stack memory | ||||
Description: | While bundling Noesis into our Switch target, we observed a crash due to NVNRenderContext requiring 1GB of stack memory for donation to the graphics firmware. This is easy enough for us to work around, as we are able to exclude the package with no issues, but I wanted to bring it to your attention as it seems like 1GB might be a bit much, and also to ask if it would be possible for NVNRenderContext to allocate the memory on the heap, at runtime, instead? That would also spare the cost for anyone who links but does not use the package | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1330 | [NoesisGUI] Unity3D | minor | have not tried | 2018-10-30 12:52 | 2021-07-27 20:08 |
Reporter: | digimbyte | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.0 | ||
Target Version: | 3.1 | ||||
Platform: | Any | ||||
Summary: | Moving NoesisGUI inside a subfolder causes it to reinstall every time on run. | ||||
Description: |
Every time the Xaml is recompiled after edits, and during editor play, the Welcome to NoesisGUI dialog always appears |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1343 | [NoesisGUI] C++ SDK | feature | have not tried | 2018-11-20 19:54 | 2021-07-27 20:07 |
Reporter: | jsantos | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.0 | ||
Target Version: | 3.1 | ||||
Platform: | Any | ||||
Summary: | Evaluate using Boxing in PropertyChangedEventArgs to avoid void* | ||||
Description: | http://www.noesisengine.com/forums/viewtopic.php?f=3&t=929 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0005303)
jsantos 2018-11-20 20:49 (Last edited: 2018-11-20 21:12) |
After evaluating many alternatives we think the best option is providing type safe getters instead of boxing, something likebool isOpen_ = args.GetOldValue<bool>(); bool isOpen = args.GetNewValue<bool>(); |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1849 | [NoesisGUI] C++ SDK | feature | always | 2020-11-26 17:48 | 2021-07-27 20:06 |
Reporter: | jsantos | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.0 | ||
Target Version: | 3.1 | ||||
Platform: | Any | ||||
Summary: | Implement support for Apple TV | ||||
Description: | Implement support for Apple TV | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2058 | [NoesisGUI] C++ SDK | minor | always | 2021-07-13 17:12 | 2021-07-27 20:06 |
Reporter: | jsantos | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.0 | ||
Target Version: | 3.1 | ||||
Platform: | Any | ||||
Summary: | display->Close() not working on Nintendo Switch | ||||
Description: | We're using `display->Close()` when we would like to close the app. It works fine on Desktop, but doesn't seem to work on Nintendo Switch (app doesn't quit). Do you have any recommendations? | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007324)
jsantos 2021-07-13 17:50 |
We fixed this in r10562 for 3.1 |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2048 | [NoesisGUI] Unity3D | feature | N/A | 2021-06-16 02:14 | 2021-07-27 20:06 |
Reporter: | tsteinke | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.0 | ||
Target Version: | 3.1 | ||||
Platform: | Any | ||||
Summary: | Switch/NVN renderer support in Unity plugin | ||||
Description: | We need the ability to render to the Switch through the Unity plugin, similar to UnityDeviceD3D11/UnityDeviceGL | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2056 | [NoesisGUI] Unreal | minor | always | 2021-07-01 16:10 | 2021-07-27 20:06 |
Reporter: | maxnt | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.12 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.0 | ||
Target Version: | 3.1 | ||||
Platform: | Windows | ||||
Summary: | Current UI does not react to changes in MergedDictionaries of the Application Resources | ||||
Description: |
I’m trying to implement dynamic Application Resource switching in UE4. In C# / WPF removing and inserting a new ResourceDictionary in Application.Current.MergedDirectories to change a theme/style works and takes effect immediately. The effect is visible dynamically while the application is running. However, in UE4 when I use the Noesis::GUI framework the effect is only visible once a view is changed/reloaded. Either by switching to a new view or re playing in editor. |
||||
Tags: | |||||
Steps To Reproduce: |
Insert an Resource dictionary into the Noesis::ResourceDictionaryCollectionreturned by GetMergedDictionaries with different styles Notice UI does not update. Example code: Noesis::ResourceDictionary* AppRes = Noesis::GUI::GetApplicationResources(); if (AppRes) { Noesis::ResourceDictionary* Res = **some resource** if (Res) { Noesis::ResourceDictionaryCollection* MergedDirectories = AppRes->GetMergedDictionaries(); MergedDirectories->Insert(Index, Res); } } |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2019 | [NoesisGUI] Unreal | minor | always | 2021-05-13 10:33 | 2021-07-27 20:05 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.0 | ||
Target Version: | 3.1 | ||||
Platform: | Any | ||||
Summary: | MediaElement texture gets black when trying to loop the video | ||||
Description: |
As described here: https://www.noesisengine.com/forums/viewtopic.php?f=3&t=2306 When video reaches the end, and through the media actions it is restarted, the texture gets black but audio plays fine. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2025 | [NoesisGUI] Unreal | feature | always | 2021-05-19 17:28 | 2021-07-27 20:05 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.12 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.0 | ||
Target Version: | 3.1 | ||||
Platform: | Any | ||||
Summary: | Expose properties defined by UFUNCTION Getter and/or Setter | ||||
Description: |
The following functions: UFUNCTION(BlueprintCallable) void SetNumItems(int32 value); UFUNCTION(BlueprintCallable) int32 GetNumItems() const; Should be exposed in the type as a "NumItems" property that can be bindeable. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1531 | [NoesisGUI] Unity3D | minor | always | 2019-08-08 16:37 | 2021-07-27 20:05 |
Reporter: | stonstad | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.3 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.0 | ||
Target Version: | 3.1 | ||||
Platform: | Any | ||||
Summary: | Noesis Premultiply Alpha Texture Import Setting Ignored by Noesis | ||||
Description: |
When the \library folder is deleted ... or new files are checked out from SCM ... Noesis does not apply the premultiply alpha texture transformation specified in import settings until the import UI for that specific image is flagged dirty and changes are applied. See enclosed screenshots 1) image is configured with sRGB and Noesis Premultiplied Alpha is requested. 2) See runtime use of image. Image does not have alpha premultiplied. This is an issue for projects with several hundred images. Every time I checkout from SCM I have to change a setting on an image to make the UI dirty, and then apply changes so that Noesis premultiplied alpha is applied. I have 690 images spread across multiple directories. This is not fun! :( I can confirm .meta metadata is stored in SCM, and that Noesis is not detecting or applying the change on initial project load. Maybe I'm doing something wrong...? |
||||
Tags: | |||||
Steps To Reproduce: |
1) Import Image 2) Request Noesis Premultiplied Alpha 3) Use Image in Scene with Noesis Image UserControl. Confirm Premultiplied Alpha is applied. 3) Close Unity 4) Delete \Library 5) Reopen Unity. 6) Restart Scene. Premultiplied Alpha is lost but setting is still assigned. |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0005916)
jsantos 2019-08-08 17:18 (Last edited: 2019-08-08 17:18) |
I think we are hitting another Unity bug. If you go to NoesisPostprocessor.cs you can findif (AssetDatabase.GetLabels(assetImporter).Contains("Noesis") || assetPath.StartsWith("Assets/NoesisGUI/Samples")) So, probably, the GetLabel is not working at that point. If you read the comment above that line you will see that we already experimented weird behaviors. Not sure, how to overcome this, but we will. Could you please confirm that's the problem you have? |
(0005925)
stonstad 2019-08-16 00:46 |
Okay. Next time I need to dump /library and have Unity rebuild assets ... or I pull from SCM ... I'll test the above code to see how and why it might be failing. |
(0005984)
stonstad 2019-10-08 17:13 |
OK, I setup a new laptop and did a fresh pull from SCM. 1) After initial project asset import, I confirmed that premultiply alpha was not applied to Noesis textures. 2) I confirmed that these texture assets have the Noesis tag applied and IsAlpha is checked. 3) I modified the line of code you shared to include my "User Interface" directory and I then instructed Unity to reimport assets via the project folder hierarchy. 4) Success! Textures show premultiplied on playback. It would appear that GetLabels is not working as expected. |
(0005985)
jsantos 2019-10-09 04:45 |
Yes, it seems to be a bug in Unity we need to workaround, I have a few ideas about it. Thanks for your feedback! |
(0007314)
jsantos 2021-06-24 18:46 |
In 3.1 we added support for having a .noesis file to mark Noesis content, this is the most robust solution we found |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2042 | [NoesisGUI] Unity3D | minor | always | 2021-06-06 16:37 | 2021-07-27 20:05 |
Reporter: | Flem100@live.dk | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1 | ||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.0 | ||
Target Version: | 3.1 | ||||
Platform: | Windows | ||||
Summary: | missing virtual keys | ||||
Description: |
In this forum post https://www.noesisengine.com/forums/viewtopic.php?f=3&t=2329 I asked about missing virtual keys. Your guy answered it was a mistake and that I should create ticket. I hope this is the right place :) |
||||
Tags: | Unity | ||||
Steps To Reproduce: | Use the VS 2019 NoesisGUI Template and tutorial | ||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007277)
jsantos 2021-06-07 11:44 |
Thanks! The current input system is going to be deprecated in favor of the new system provided by Unity. But I assume we will have both systems during a while. |
(0007313)
jsantos 2021-06-23 17:30 |
In 3.1 we are using the new Input System, this issue no longer makes sense. Thanks for your feedback! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1828 | [NoesisGUI] Unity3D | feature | always | 2020-11-03 12:51 | 2021-07-27 20:05 |
Reporter: | jsantos | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.0 | ||
Target Version: | 3.1 | ||||
Platform: | Any | ||||
Summary: | Implement support for the new Unity Input System | ||||
Description: |
The old input system is deprecated. Noesis should be compatible with the new package: https://docs.unity3d.com/Packages/com.unity.inputsystem@latest/index.html |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1682 | [NoesisGUI] Unity3D | minor | always | 2020-05-08 16:21 | 2021-07-27 20:05 |
Reporter: | stonstad | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0 | ||
Product Build: | Resolution: | duplicate | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.0 | ||
Target Version: | 3.1 | ||||
Platform: | Any | ||||
Summary: | OnGUI GC Allocations | ||||
Description: |
Using OnGUI in NoesisView.cs causes per-frame GC allocations. Noesis should not be using OnGUI external to the Unity Editor because it is not designed for production use. See https://www.noesisengine.com/forums/viewtopic.php?f=3&t=1867&p=10600&hilit=ongui#p10600 According to Unity: "The Immediate Mode GUI system is commonly used for: Creating in-game debugging displays and tools. Creating custom inspectors for script components. Creating new editor windows and tools to extend Unity itself. The IMGUI system is not generally intended to be used for normal in-game user interfaces that players might use and interact with." |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0006641)
stonstad 2020-09-22 19:36 |
Hey Jesús. Just checking in on the status of this issue. I know it seems low priority, but it would be really awesome to have no per-frame allocations in Noesis. That's such a big deal for console devs. Thanks! |
(0006650)
jsantos 2020-09-24 16:23 |
We have plans to be compatible with the new Unity Input System in 3.0.X but for now I cannot give a better estimation |
(0007144)
stonstad 2021-04-12 22:18 |
Any updates around this capability to eliminate OnGUI allocations? Thanks, Shaun |
(0007145)
jsantos 2021-04-13 11:06 (Last edited: 2021-04-13 11:06) |
Hi Shaun, This is coming with the new Unity Package (we are deprecating .unitypackage in favor of the new system). Last time I checked the new Input System there were issues and we couldn't have all current features. That's the reason we are going with this as "optional". Planned for 3.1, before GDC 21. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1596 | [NoesisGUI] C# SDK | minor | always | 2019-12-06 17:18 | 2021-07-27 20:05 |
Reporter: | stonstad | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.5 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.0 | ||
Target Version: | 3.1 | ||||
Platform: | Any | ||||
Summary: | Unity 2019.2.x OnGUI GC Allocation in NoesisView.OnGUI | ||||
Description: |
The Unity MonoBehavior function OnGUI has a 0.7 kb per-frame gc allocation. Unity does not intend to fix this, as OnGUI is deprecated, per this thread: https://forum.unity.com/threads/gc-coll ... ui.642229/ NoesisView.cs uses OnGUI as follows: void OnGUI() { if (_uiView != null) { UnityEngine.GUI.depth = -(int)_myCamera.depth; ProcessEvent(UnityEngine.Event.current, _enableKeyboard, _enableMouse, _emulateTouch); } } I can confirm the following: 1. OnGUI leaks memory without the internal Noesis logic. 2. Commenting out OnGUI completely removes a 0.7 kb per frame allocation. To eliminate this allocation, is there a different location Noesis logic may be moved to? Allocation screenshot: https://i.imgur.com/AAfTwRS.png |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007312)
jsantos 2021-06-23 02:23 (Last edited: 2021-06-23 02:24) |
It seems I found a way to disable GC Allocs in our View. Just by adding the following function, all spikes disappear. void Start() { // https://forum.unity.com/threads/gc-collect-in-guiutility-begingui.642229/ // Avoid OnGUI GC Allocations useGUILayout = false; } I feel silly because this function was removed in 0001433. This time I added a better comment to avoid this mistake again. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1827 | [NoesisGUI] Unity3D | feature | always | 2020-11-03 12:48 | 2021-07-27 20:05 |
Reporter: | jsantos | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.0 | ||
Target Version: | 3.1 | ||||
Platform: | Any | ||||
Summary: | Noesis should be compatible with the Unity Package Manager | ||||
Description: | The Package Manager is the new way to extend Unity. We are going to deprecate our .unitypackage and support this new approach. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1819 | [NoesisGUI] C++ SDK | feature | N/A | 2020-10-26 20:09 | 2021-07-27 20:04 |
Reporter: | jsantos | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.0 | ||
Target Version: | 3.1 | ||||
Platform: | Any | ||||
Summary: | Implement D3D12 renderer | ||||
Description: |
Although studios are already using D3D12 by using a custom RenderDevice, at 3.1 we plan to release an official reference D3D12 renderer. This will be also the renderer used by our Unity Plugin. Note that, D3D12 is already supported in Unreal. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
342 | [NoesisGUI] Unity3D | feature | always | 2014-02-04 12:29 | 2021-07-27 20:04 |
Reporter: | sloopidoopi | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | urgent | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.0 | ||
Target Version: | 3.1 | ||||
Platform: | Any | ||||
Summary: | no practical multitouch interaction possible with most of the widgets | ||||
Description: | On devices that uses touch input (IOS, Windows 8 tablets) it is not possible to interact with multiple widgets at the same time. | ||||
Tags: | |||||
Steps To Reproduce: | Touch and interact with multiple fingers simultaneously on the screen with GUI-widgets. | ||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1530 | [NoesisGUI] C++ SDK | feature | always | 2019-08-08 09:21 | 2021-07-27 20:04 |
Reporter: | nikobarli | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.3 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.0 | ||
Target Version: | 3.1 | ||||
Platform: | Any | ||||
Summary: | VS2019 support | ||||
Description: |
Hi, we are starting to use VS2019. Could you consider adding official support for it ? Currently I found the following line generate warning -> converted to error. KeyboardNavigation.cpp line 828: float distanceX = fabs(mLeftBottom.x - leftBottom.x); -> conversion from double to float, possible loss of data I am using VS2019 16.2.0 |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
string.h.patch (812 bytes) 2019-08-08 10:57 https://www.noesisengine.com/bugs/file_download.php?file_id=1095&type=bug |
||||
Notes | |
(0005914)
nikobarli 2019-08-08 10:57 |
I also needed to apply the following patch. Seems to be the same issue as here: https://github.com/electronicarts/EASTL/issues/274 |
(0005915)
jsantos 2019-08-08 12:56 |
Hi Niko, are those errors the only problems you have? We already have a branch (almost ready to be integrated into trunk) with no EASTL at all :) |
(0005921)
nikobarli 2019-08-09 07:18 |
Yes, those are all problems that I found. I also need to change the Platform Toolset on all vcxproj files to use VC++ 2019. We are now using VS2019 with slightly patched Noesis. |
(0005965)
nikobarli 2019-09-25 06:43 |
This is also a problem in VS2019 16.3.0 https://developercommunity.visualstudio.com/content/problem/734566/msvc-142328019-is-missing-include-typeinfoh.html Need to change typeinfo.h -> typeinfo |
(0005966)
jsantos 2019-09-26 15:17 |
We are no longer using STL or C++ includes (like typeinfo.h) in trunk but I recommend waiting a bit before using that version because the version is still unstable |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1457 | [NoesisGUI] C# SDK | feature | always | 2019-04-27 22:52 | 2021-07-27 20:04 |
Reporter: | ai_enabled | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.0 | ||
Target Version: | 3.1 | ||||
Platform: | Any | ||||
Summary: | Shift + mouse wheel = horizontal scroll | ||||
Description: |
Any way to disable this behavior? Players are holding Shift very often in our game and it's really confusing to them. And we don't have any horizontally scroll viewers anyway so this feature is useless for us. Regards! |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0005656)
sfernandez 2019-04-30 10:12 |
Sorry, there is no way to disable that behavior right now. Something like a "ShiftWheelScrollsHorizontally" attached property that you could set in a ListBox for example could work for you? Or maybe, when the shift key is pressed, scroll vertically with the mouse wheel if there is no horizontal scrollbar enabled? |
(0005657)
ai_enabled 2019-04-30 13:21 |
Hi Sergio, thanks for the quick reply! Yes, I understand it would be easier to hack temporary (remember Shift press state, release it, apply scroll delta, set Shift down again if it was pressed before). 1. Something like a "ShiftWheelScrollsHorizontally" attached property that you could set in a ListBox for example could work for you? This is not a reasonable approach as not many NoesisGUI users will be aware of such extension property. 2. when the shift key is pressed, scroll vertically with the mouse wheel if there is no horizontal scrollbar enabled? This is a very reasonable approach and it doesn't require any extra work! I like it. Also, it might be a good idea to simply expose this in NoesisGUI API so we could simply set a global option to toggle the horizontal scroll feature completely. It's not used for 99.9% of games, I'm sure about this! :-) So probably it's better to keep it off by default unless you want to follow WPF behavior here completely (which I'm not sure about). Regards! |
(0005661)
ai_enabled 2019-05-02 14:38 |
No rush, this workaround seems to work fine in our case:this.view.KeyUp(Key.LeftShift); this.view.KeyUp(Key.RightShift); this.view.MouseWheel(x, y, scrollDeltaValue); |
(0005953)
ai_enabled 2019-08-29 21:54 |
I'm quite certain that the workaround is causing some unexpected issues with input though...I hope this feature will be implemented soon. I would even prefer a NoesisGUI global option to disable horizontal scroll with Shift key altogether. I bet almost all video games are never using horizontal scrollbars and even if they do, it's unlikely that users would grief the absence of Shift+Scroll feature. |
(0006332)
jsantos 2020-05-08 12:27 |
Probably related to 0001517 |
(0006340)
ai_enabled 2020-05-09 01:36 |
Hi, indeed, the workaround might be related but it's definitely Ctrl key getting stuck, not Shift. Hmm. I still wish you just provide an option in SDK to disable the horizontal scrolling altogether—seriously, no game dev wants this feature enabled by default! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1846 | [NoesisGUI] C++ SDK | feature | always | 2020-11-26 17:43 | 2021-07-27 20:04 |
Reporter: | jsantos | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.0 | ||
Target Version: | 3.1 | ||||
Platform: | Any | ||||
Summary: | Implement support for PlayStation 5 | ||||
Description: | Add PlayStation 5 to the C++ SDK | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1847 | [NoesisGUI] C++ SDK | feature | always | 2020-11-26 17:45 | 2021-07-27 20:04 |
Reporter: | jsantos | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.0 | ||
Target Version: | 3.1 | ||||
Platform: | Any | ||||
Summary: | Implement support for Xbox Series X|S | ||||
Description: | Add Xbox Series X|S to the C++ SDK | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1863 | [NoesisGUI] C++ SDK | feature | always | 2020-12-21 20:20 | 2021-07-27 20:04 |
Reporter: | jsantos | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.0 | ||
Target Version: | 3.1 | ||||
Platform: | Any | ||||
Summary: | New Tessellator | ||||
Description: |
Tessellator is used internally for generating distance fields, sending triangles to the GPU and performing boolean primitive operations. In Noesis 3.1 we are going to implement the second generation of the tessellator, bringing performance improvements between 10x and 15x depending on the geometry. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1880 | [NoesisGUI] C# SDK | feature | always | 2021-01-13 15:55 | 2021-07-27 20:04 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.9 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.0 | ||
Target Version: | 3.1 | ||||
Platform: | Any | ||||
Summary: | Support for implementing custom RenderDevice in C# | ||||
Description: |
Right now it is only possible to use native render devices from C# SDK. We need to add support for C# users to implement their own Render Devices. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1224 | [NoesisGUI] Unity3D | feature | always | 2018-01-20 21:20 | 2021-07-27 20:04 |
Reporter: | mingingmingler | Platform: | PC | ||
Assigned To: | jsantos | OS: | Windows 10 | ||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.1.0b15 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.0 | ||
Target Version: | 3.1 | ||||
Platform: | Any | ||||
Summary: | Custom shader effects not supported | ||||
Description: |
I have a requirement to be able to render modern UI effects, such as frosted glass. In evaluating which UI solution to use for a project, it's been discovered that Noesis apparently does not support the custom shader effects of WPF. The forum has a couple several year old threads related to this where it was cited that custom effects would be coming to Noesis, but there seems to have been no word since, and the roadmap does not detail plans for it to be implemented. I'm curious if there is any official word on this feature, and if there is a rough timescale for when it may be implemented. Thank you! |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0005039)
jsantos 2018-01-23 01:19 |
Hi! Yes, we are working on this. It's been delayed several times but right now this is on the list of next features we are working on for the next major version. We already have custom clients patching our code and using effects (just for the C++ API). We don't plan to implement HLSL reconversion to the target platform (GL, Metal, Vulkan) on the fly, the idea is having each renderer implementing each effect. This is going to make the API a bit restrictive for Unity for example, because the number of effects is going to be fixed (we can increase the list of official effects with each release). What kind of effects do you need? Anyway, this could change because for now we are experimenting. Can't give you an estimation about release date though. |
(0005041)
mingingmingler 2018-01-23 04:55 (Last edited: 2018-01-23 07:09) |
Thanks for the info! The only effect we're *really* in need of is frosted glass, My UI artist seems to have a bit of a fetish for it, though his reasoning isn't unfounded as it's a gorgeous effect. I've worked with an in house implementation of XAML in the past and we made extensive use of custom shaders in it, so the flexibility to do this with Noesis would be killer. If there's tradeoffs involved, like needing to bypass the Unity asset pipeline, that'd be absolutely fine. Nevertheless, I'm liking Noesis so far, keep up the good work! |
(0005044)
jsantos 2018-01-24 01:58 |
Thanks for the kind words, I will keep you posted about the effect implementation. They are coming to Noesis for sure. |
(0005911)
stonstad 2019-07-29 20:49 |
It looks like I created a duplicate ticket requesting the same (https://www.noesisengine.com/bugs/view.php?id=1526). |
(0005912)
jsantos 2019-07-29 21:00 |
not your fault, this ticket was private before... :) |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1845 | [NoesisGUI] C++ SDK | feature | always | 2020-11-26 17:37 | 2021-07-27 20:03 |
Reporter: | jsantos | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.0 | ||
Target Version: | 3.1 | ||||
Platform: | Any | ||||
Summary: | Add support for Apple silicon architecture | ||||
Description: | Same way we were distributing an universal binary for both x86 and x86_64, now we need to add support for arm64 in macOS. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1966 | [NoesisGUI] Unreal | feature | always | 2021-04-12 19:30 | 2021-07-27 20:03 |
Reporter: | jsantos | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.0 | ||
Target Version: | 3.1 | ||||
Platform: | Any | ||||
Summary: | Support for Unreal 5 | ||||
Description: | Implement compatibility with UE5 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1989 | [NoesisGUI] Unreal | major | always | 2021-04-28 18:28 | 2021-07-27 20:03 |
Reporter: | sergey_sitnikov_ninjatheory | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.10 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.0 | ||
Target Version: | 3.1 | ||||
Platform: | Any | ||||
Summary: | TMap is not yet exposed in Unreal plugin as a dictionary and can't be used in bindings | ||||
Description: |
At the moment it is not possible to use TMap in UE4 for MVVM binding similar way how Dictionary is used in C#. Sergio mentioned that the feature is not implemented yet and can be added to the next release. |
||||
Tags: | |||||
Steps To Reproduce: |
- Bind XAML property to a Dictionary in your ViewModel, e.g. {Binding DictionaryName[SomeKeyName]} - Define that dictionary in UE4 as a TMap - As a result, that XAML property will not be bound |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1865 | [NoesisGUI] C++ SDK | feature | have not tried | 2020-12-24 11:54 | 2021-07-27 20:03 |
Reporter: | jsantos | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.1 | ||
Product Build: | Resolution: | duplicate | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.0 | ||
Target Version: | 3.1 | ||||
Platform: | Any | ||||
Summary: | Extend blending modes | ||||
Description: |
Right now Noesis (as WPF) only supports one blending mode (SrcOver). We should create an extension to support more blend modes like additive and probably all modes supported by Adobe. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1569 | [NoesisGUI] C++ SDK | major | always | 2019-10-15 03:33 | 2021-07-27 20:03 |
Reporter: | nikobarli | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.3 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.0 | ||
Target Version: | 3.1 | ||||
Platform: | Any | ||||
Summary: | Customizing UriConverter / XamlProvider | ||||
Description: |
Follow ups from https://www.noesisengine.com/forums/viewtopic.php?f=3&t=1830 We would like more freedom on managing our xaml placements using Packed URI. Please consider adding this feature to UriConverter and/or XamlProvider. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0005993)
nikobarli 2019-10-15 04:44 |
And I think we have the issue with the Font and Texture provider as well. |
(0005999)
sfernandez 2019-10-18 14:28 |
Yes, the same UriConverter code is used for all the resources: xamls, fonts, images... |
(0006656)
nikobarli 2020-10-01 02:02 |
Hi Sergio, Do you have update on this issue ? The number of Noesis vcxprojs are growing, and it's becoming more difficult for us to work around this. We need to make sure to not using XAMLs with identical filenames (although they are belong to different projects), because our XAML provider is searching for the filename on all possible subdirectories. |
(0006657)
sfernandez 2020-10-01 14:05 (Last edited: 2020-10-01 14:10) |
Hi, We are thinking on extending providers api with a new function that will receive both path and assembly as an Uri object. For example for the XamlProvider: virtual Ptr<Stream> LoadXaml(const Uri& uri) = 0; For branch 3.0 we will first call current load function with path only, and if it returns null, then we will call the new function passing the Uri that provides also the assembly name. In next 3.1 version only the new function will be available. Do you think this would work in your case? |
(0006658)
nikobarli 2020-10-02 07:02 |
Hi Sergio, thanks for the consideration. Yes, I think it's sufficient for us if we can tell the assembly name from the Packed URI. We are also OK with the scheme you proposed for version 3.0 and 3.1. |
(0007110)
satorp 2021-03-25 08:13 |
Hi Sergio. Could we have an update for this issue? Do you have plan to implement the fix in 3.0, or should we wait for 3.1? |
(0007113)
sfernandez 2021-03-29 10:46 |
We tried to incorporate this but found some complications and had to delay it until next major version. Sorry for the inconveniencies. |
(0007117)
satorp 2021-03-30 06:02 (Last edited: 2021-03-30 06:53) |
I see. Thank you for the update. By next major version you mean 4.0? Not 3.1? |
(0007120)
jsantos 2021-03-30 12:40 |
3.1, the next major release. Soon we are going to have a meeting to discuss about this and see if we find an easy solution. |
(0007182)
Susanna.Rowland 2021-04-28 13:25 |
Are there any updates on this issue? Is it still on schedule for the 3.1 release? |
(0007188)
sfernandez 2021-04-29 10:46 |
Hi Susanna, We still plan to solve this for the 3.1 release. The idea is to incorporate the assembly information in the Uri object that will be received by the providers to load resources, for example: virtual Ptr<Stream> LoadXaml(const Uri& uri) = 0; |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1650 | [NoesisGUI] C# SDK | minor | always | 2020-04-08 20:21 | 2021-07-23 03:21 |
Reporter: | stonstad | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Noesis Premultiplied Alpha Conversion label Missing | ||||
Description: | The label for instructing Noesis to perform premultiplied alpha conversion for an image is not appearing. See Error.png. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
Error.PNG (37,756 bytes) 2020-04-08 20:21 https://www.noesisengine.com/bugs/file_download.php?file_id=1182&type=bug |
||||
Notes | |
(0006178)
sfernandez 2020-04-09 11:06 |
When installing the Noesis unity package did you import the samples? We only define that label for the textures used in the samples, so if they are not imported the Noesis label won't be created in the project. Maybe we can add that label to any of the plugin editor images so it is always present. |
(0006180)
stonstad 2020-04-09 17:22 |
Thank you, Sergio. Importing assets was the needed fix. For future reference, is there a specific file in samples that I may import to get the label? |
(0006185)
sfernandez 2020-04-09 20:27 |
You can manually create the label. Just select any of your images you want to set for premultiplied alpha, click the label button in the inspector and write "Noesis" and hit ENTER. It will add the label to the list and make it available for the project. Does that work for you? |
(0006192)
stonstad 2020-04-10 21:46 |
yes, thank you! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2061 | [NoesisGUI] Unity3D | crash | sometimes | 2021-07-15 18:21 | 2021-07-21 20:10 |
Reporter: | stonstad | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | feedback | Product Version: | 3.0.12 | ||
Product Build: | Resolution: | reopened | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1 | ||
Target Version: | 3.1 | ||||
Platform: | Any | ||||
Summary: | Editor Crash, Noesis_View_Update | ||||
Description: |
Stack trace: 0x00007ffdb890c644 (Noesis) Noesis_View_Update 0x00007ffdb890cb84 (Noesis) Noesis_View_Update 0x00007ffdb8918616 (Noesis) Noesis_ClearExtendTypes 0x0000025e0428abee (Mono JIT Code) (wrapper managed-to-native) Noesis.Extend:Noesis_ClearExtendTypes () 0x0000025e0427d6d3 (Mono JIT Code) [Extend.cs:98] Noesis.Extend:Shutdown () 0x0000025e0427c333 (Mono JIT Code) [Extend.cs:37] Noesis.Extend:OnDomainUnload (object,System.EventArgs) Unity 2021.1.13f1. Noesis GUI 3.0.12. |
||||
Tags: | |||||
Steps To Reproduce: | I received this fatal exception in the Unity editor after playback was stopped. This is the first time I have seen this since upgrading to 3.0.12. I'll update this ticket if it continues or if I I develop reproduction steps. | ||||
Additional Information: | |||||
Attached Files: |
Editor.log (334,169 bytes) 2021-07-15 18:21 https://www.noesisengine.com/bugs/file_download.php?file_id=1457&type=bug crash.dmp (1,648,747 bytes) 2021-07-15 18:21 https://www.noesisengine.com/bugs/file_download.php?file_id=1458&type=bug |
||||
Notes | |
(0007325)
stonstad 2021-07-15 19:52 (Last edited: 2021-07-15 21:26) |
Confirmed it is happening randomly, sometimes every play/stop cycle. At other times, it is stable for 30+ minutes. *updated |
(0007326)
sfernandez 2021-07-16 10:11 |
Can you share the project to debug it? It will be faster to track down the source of the problem. |
(0007329)
sfernandez 2021-07-19 20:14 |
I found the bug and fix it, could you please try the following library: https://drive.google.com/file/d/1yAlu9TS0NGHMtpN6R6ExeW_vTdqJfb1A/view?usp=sharing |
(0007337)
stonstad 2021-07-21 19:24 |
Thank you. I'm trying it out. Is the fix specific to editor mode only? Thanks. |
(0007338)
sfernandez 2021-07-21 20:10 |
Yes, this code is only executed in editor mode when domain gets reloaded for Play. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2059 | [NoesisGUI] C++ SDK | minor | always | 2021-07-14 09:19 | 2021-07-14 09:20 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.0.12 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1 | ||||
Platform: | Any | ||||
Summary: | ComboBox Text should be updated when selecting an item | ||||
Description: |
Text property on ComboBox should be updated when an item gets selected, even if the ComboBox is not editable. Right now Noesis only updates it when IsEditable is set to true. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2055 | [NoesisGUI] Unity3D | major | always | 2021-06-29 13:38 | 2021-07-01 10:35 |
Reporter: | saarix | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.0.12 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1 | ||||
Platform: | Any | ||||
Summary: | Parent command binding not working properly | ||||
Description: |
I tried parent binding command from UserControl to another, which works well in WPF. But once I played the project in Unity it stopped working. As a base I am using this for of binding: Command="{Binding Parent.DataContext.OpenHomeCommand, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type UserControl}}}" I will attach screenshots of all my XAML and ViewModels involved so you can get better understanding of my usecase. (It is from a quick demo that I created just to demonstrate this usecase) |
||||
Tags: | C#, Unity | ||||
Steps To Reproduce: | After click on the button, it does not invoke command on MainViewModel. | ||||
Additional Information: | |||||
Attached Files: |
MainViewModel.png (13,749 bytes) 2021-06-29 13:38 https://www.noesisengine.com/bugs/file_download.php?file_id=1454&type=bug MainWindow.png (32,085 bytes) 2021-06-29 13:38 https://www.noesisengine.com/bugs/file_download.php?file_id=1455&type=bug Navbar.png (21,964 bytes) 2021-06-29 13:38 https://www.noesisengine.com/bugs/file_download.php?file_id=1456&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2054 | [NoesisGUI] Unity3D | major | always | 2021-06-29 13:12 | 2021-07-01 10:19 |
Reporter: | saarix | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.0.12 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1 | ||||
Platform: | Any | ||||
Summary: | Binding to ActualWidth property returns 0 at runtime | ||||
Description: |
I was trying to bind a grids width property to its child elements ActualWidth to control size. But it is always set to 0, even tho the actual width of the child is correct in the inspector. This solution works fine in WPF, but breaks in Unity. As described in my forum post: https://www.noesisengine.com/forums/viewtopic.php?f=3&t=2346&p=12942#p12942 |
||||
Tags: | C#, Unity | ||||
Steps To Reproduce: |
The issue should always happen with this code: <DockPanel> <Control Template="{StaticResource IconPlus}" Width="120" Height="120" DockPanel.Dock="Left" Panel.ZIndex="1" /> <Control Template="{StaticResource IconCoin}" Width="120" Height="120" DockPanel.Dock="Right" Panel.ZIndex="1" /> <Grid Width="{Binding Path=ActualWidth, ElementName=CoinsAmount, UpdateSourceTrigger=PropertyChanged}"> <Control Template="{StaticResource DarkPanelBackground}" Margin="-45, 40, -60, 40" /> <TextBlock x:Name="CoinsAmount" Text="8 547" FontSize="36" VerticalAlignment="Center" HorizontalAlignment="Center" Foreground="White" /> </Grid> </DockPanel> |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2051 | [NoesisGUI] Unity3D | tweak | always | 2021-06-21 09:37 | 2021-06-21 09:37 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | OS: | ||||
Priority: | normal | OS Version: | |||
Status: | new | Product Version: | 3.0.12 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Unity types nuget | ||||
Description: |
As suggested in https://www.noesisengine.com/forums/posting.php?mode=reply&f=3&t=2337 it could be useful to have a nuget with many of the default Unity types so viewmodels can be created in Blend using them, reducing the need of #if blocks. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2047 | [NoesisGUI] Unreal | crash | always | 2021-06-15 15:56 | 2021-06-18 19:59 |
Reporter: | sergey_sitnikov_ninjatheory | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.12 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Crash when using DataTrigger bound to DataContext | ||||
Description: |
There is a crash in Noesis in some specific cases when xaml uses DataTrigger bound to a DataContext property. It is not crashing if it is bound to some other property of the element. Here is an example: <Grid x:Name="HintPCParent"> <Grid x:Name="ButtonHint_Pc" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="0,0,5,0" Visibility="{TemplateBinding PCHintVisibility}"> <TextBlock x:Name="ButtonHint_Pc_Key" Style="{StaticResource Bold_XXS}" Text="{TemplateBinding PCHint}" Foreground="{DynamicResource Col_4}" VerticalAlignment="Center" HorizontalAlignment="Center" Padding="0" Margin="0,0,0,-3"/> </Grid> <Grid.Style> <Style TargetType="Grid"> <Setter Property="Visibility" Value="Collapsed"/> <Style.Triggers> <DataTrigger Binding="{Binding Settings.ControllerType }" Value="MouseAndKeyboard"> <Setter Property="Visibility" Value="Visible"/> </DataTrigger> </Style.Triggers> </Style> </Grid.Style> </Grid> I have also tried using DataTrigger in ControlTemplate.Triggers instead with the same result. I other places DataTriggers work absolutely fine, but when used in that specific file it causes crash. Crash dump is attached. |
||||
Tags: | C++, UE4, xaml | ||||
Steps To Reproduce: | Not every DataTrigger causes that crash so there are not real steps to reproduce. It is just in that specific case it will always crash. | ||||
Additional Information: | |||||
Attached Files: |
UE4CC-Windows-0AAC39604FF526D6D02B4B96473383D9_0000.zip (388,957 bytes) 2021-06-15 15:56 https://www.noesisengine.com/bugs/file_download.php?file_id=1447&type=bug UE4CC-Windows-72213015497A202C274847AFC5DE8CE7_0000.zip (343,625 bytes) 2021-06-16 09:47 https://www.noesisengine.com/bugs/file_download.php?file_id=1449&type=bug UE4CC-Windows-EA9C8C9E49C72BB548B0CFA9584A2F64_0000.zip (346,348 bytes) 2021-06-17 15:43 https://www.noesisengine.com/bugs/file_download.php?file_id=1450&type=bug UE4CC-Windows-83B4716D4014A57545BC7AA489B6EAB9_0000.zip (341,600 bytes) 2021-06-17 16:01 https://www.noesisengine.com/bugs/file_download.php?file_id=1451&type=bug UE4CC-Windows-BBD83AB0438347D7BEF1D998F74646DE_0000.zip (271,834 bytes) 2021-06-17 16:13 https://www.noesisengine.com/bugs/file_download.php?file_id=1452&type=bug UE4CC-Windows-342A90954289735B6C8DDC809D91EEAD_0000.zip (333,351 bytes) 2021-06-17 20:27 https://www.noesisengine.com/bugs/file_download.php?file_id=1453&type=bug |
||||
Notes | |
(0007296)
sergey_sitnikov_ninjatheory 2021-06-16 09:47 |
Added a new crash dump file. |
(0007298)
sergey_sitnikov_ninjatheory 2021-06-16 14:26 |
I have investigate it a bit further and it seems that the crash is likely related to the fact that Binding to the DataContext is used INSIDE the ControlTemplate. So as a simple example, I have created a style that sets a Template and inside it uses a Binding to the ViewModel property. I found out that if that Binding is never used anywhere else but only inside the ControlTemplate, then Noesis will crash on the first usage of that control template/style. But if that Binding to the property is used directly in some control then there is no crash! <Style TargetType="{x:Type Button}"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type Button}"> <Grid> <TextBlock x:Name="ButtonText" Text="{Binding TestObject.TestProperty}"/> </Grid> </ControlTemplate> </Setter.Value> </Setter> </Style> It will crash if used in the ContentControl like that: <ContentControl xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" Width="Auto" Height="Auto"> <StackPanel> <Button/> </StackPanel> </ContentControl> But it will not crash anymore if used this way: <ContentControl xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" Width="Auto" Height="Auto"> <StackPanel> <Button Content="{Binding TestObject.TestProperty}"/> <Button/> </StackPanel> </ContentControl> I hope it makes sense. Please let me know if you need any additional information. |
(0007299)
sfernandez 2021-06-16 16:05 |
Thanks for the detailed info, the crash dumps point me to a problem initializing an element when applying the template on the control. It seems that the binding is modifying a value that invalidates some data that is being iterated, I'll try to reproduce and fix it as soon as possible. |
(0007302)
sfernandez 2021-06-17 12:37 |
I've been trying to reproduce the crash using both examples without success, it worked for me in Unreal and using our XamlPlayer. Would it be possible for you to generate new crash dumps with the following debug library of Noesis? https://drive.google.com/file/d/1QUtlPTYGkpeX77EoW83VBhivPU6v4Q-9/view?usp=sharing Or if you can attach a small Unreal project that reproduces the crash that will be even better. I need some more information to confirm what I think is the source of the problem. Thanks for your feedback. |
(0007303)
sergey_sitnikov_ninjatheory 2021-06-17 13:50 |
Hey Sergio, Should I just take Noesis.dll from that library? Cheers, Sergey |
(0007304)
sfernandez 2021-06-17 14:57 |
Yes, place that Noesis.dll inside the Binaries folder of your project. |
(0007305)
sergey_sitnikov_ninjatheory 2021-06-17 15:20 |
Hi Sergio, Unfortunately, that zip is recognised by googledrive as infected for some reason and it doesn't let me to download it. Can you please just zip the dll file and send it to me by the email instead? Cheers, Sergey |
(0007306)
sfernandez 2021-06-17 15:28 |
Sure, mail sent. |
(0007307)
sergey_sitnikov_ninjatheory 2021-06-17 15:43 |
Hi Sergio, The crash now looks different. I haven't been able to reproduce it yet with the simple example but I will spend some time tying to simplify it as much as possible, Cheers, Sergey |
(0007308)
sergey_sitnikov_ninjatheory 2021-06-17 16:01 (Last edited: 2021-06-17 16:01) |
I have skipped two exceptions and got the same crash as before. However this one has crashed in the situation when the original library would not. |
(0007309)
sergey_sitnikov_ninjatheory 2021-06-17 16:13 |
This crash is on file import when I try to import the Window xaml with that problematic control as a child. |
(0007310)
sergey_sitnikov_ninjatheory 2021-06-17 17:58 |
Hello Sergio, It looks like the problem is likely deeper than it seemed at the beginning and in my case is related to the fact that I stream level instance right after the initialisation of the Noesis view and its viewmodel. I will keep investigating further and also will try the new dll you sent earlier. Cheers, Sergey |
(0007311)
sergey_sitnikov_ninjatheory 2021-06-17 20:27 |
Hey Sergio, I managed to reproduce the issue and sent you more details by the email. Here is the latest crash dump using debug Noesis.dll. Cheers, Sergey |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2050 | [NoesisGUI] C++ SDK | feature | always | 2021-06-18 12:11 | 2021-06-18 12:12 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.0.12 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1 | ||||
Platform: | Any | ||||
Summary: | Add support to visualize/edit DataContext state in inspector | ||||
Description: | Right now only dependency properties are visible and editable. It would be nice to expand DataContext properties to visualize and edit them too. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2049 | [NoesisGUI] Unity3D | major | always | 2021-06-17 12:58 | 2021-06-17 14:57 |
Reporter: | peter_e-h_easylaser | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.0.12 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Grid will grow when contents grow, but not shrink when content shrinks. | ||||
Description: |
I have a ScrollViewer ControlTemplate that looks like this (simplified for readability): Code: Select all <ControlTemplate TargetType="{x:Type ScrollViewer}"> <Grid> <DockPanel> <ScrollViewer> <GridViewHeaderRowPresenter /> </ScrollViewer> <ScrollContentPresenter Name="PART_ScrollContentPresenter" /> </DockPanel> <ScrollBar Name="PART_VerticalScrollBar" HorizontalAlignment="Right" /> </Grid> </ControlTemplate> The ScrollViewer is used inside a ListView/GridView, and PART_ScrollContentPresenter displays the columns. If PART_ScrollContentPresenter grows (e.g. show hidden column), the Grid grows with it, so everything is displayed correctly. However if PART_ScrollContentPresenter shrinks, the Grid stays the same size, leaving a gap between PART_ScrollContentPresenter and PART_VerticalScrollbar. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2041 | [NoesisGUI] Unity3D | feature | have not tried | 2021-06-04 16:48 | 2021-06-09 19:17 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.0.12 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1 | ||||
Platform: | Any | ||||
Summary: | Create Blend project from existing Unity project | ||||
Description: |
Add a menu entry in our Noesis menu to generate a Blend project from an existing Unity project. Similar to Visual Studio project template this option should: - add the Noesis.GUI.Extension nuget reference - set up the folder structure - include all the xaml+cs and dependencies available inside Assets in the project |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007287)
KeldorKatarn 2021-06-09 01:13 (Last edited: 2021-06-09 01:20) |
This should be a new .NET Standard SDK project, not one of the old ones. Those are awkward. It might also be beneficial to create a Directory.Build.props file at the project root so the bin and obj folders can be moved properly into the Blend directory. A .NET Standard project can then be as simple as: <?xml version="1.0" encoding="utf-8"?> <Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <LangVersion>8</LangVersion> <TargetFramework>net472</TargetFramework> <EnableDefaultCompileItems>false</EnableDefaultCompileItems> <EnableDefaultPageItems>false</EnableDefaultPageItems> <EnableDefaultEmbeddedResourceItems>false</EnableDefaultEmbeddedResourceItems> <EnableDefaultNoneItems>false</EnableDefaultNoneItems> <OutputType>WinExe</OutputType> <UseWPF>true</UseWPF> <RootNamespace>UnityProjectNamespace</RootNamespace> <!-- Should be the same as Unity project so the namespaces for replacement ViewModels still match and Resharper doesn't complain about wrong namespaces --> <AssemblyName>UnityProjectName.Blend</AssemblyName> </PropertyGroup> <ItemGroup> <PackageReference Include="JetBrains.Annotations" Version="2021.1.0" /> <PackageReference Include="Noesis.GUI.Extensions" Version="3.0.6" /> </ItemGroup> <ItemGroup> <Compile Include="Assets\Scripts\**\*.xaml.cs" /> <Page Include="Assets\Scripts\**\*.xaml" /> </ItemGroup> <ItemGroup> <Compile Include="Blend\**\*.cs" /> <Page Include="Blend\**\*.xaml" /> </ItemGroup> <ItemGroup> <ApplicationDefinition Include="Blend\App.xaml" /> </ItemGroup> <ItemGroup> <Compile Remove="Blend\**\obj\**\*.*" /> <Page Remove="Blend\**\obj\**\*.*" /> </ItemGroup> </Project> Maybe also include font and image files or such. |
(0007288)
jsantos 2021-06-09 14:32 |
Thank you for this, let's see if we can have something ready for 3.1, will Blend open this new .NET Standard SDK project ? |
(0007289)
KeldorKatarn 2021-06-09 19:08 (Last edited: 2021-06-09 19:11) |
Blend for Visual Studio does yes :) I can even edit the project file in there. This new project file type is WAY better. It supports hotloading, i.e. it detects when a new file was added. So if I add a relevant class in Rider or VS or Unity or wherever to my Unity Project, the Blend project will automatically pick it up if it matches one of those include filters. Usually you just put these projects at the root and they just include eveything, that's why they need hot loading anyway, because any file added by VS isn't actually added to the project file anymore. That's why the project files can be so slim. In our case we don't want everything included so I deactivated the default includes and just include certain search patterns. But those patterns will pick up any new file. This is INSANELY more efficient in this workflow with Noesis. |
(0007290)
KeldorKatarn 2021-06-09 19:15 (Last edited: 2021-06-09 19:17) |
Also here's my Directory.Build.props at the project root: (This makes sure the obj and bin folders are properly moved. BaseIntermediateOutputPath cannot be set in the project itself since NuGet and other stuff needs to know about that before reading the project file property group, so those things end up in the right place. - Well it CAN be set but VS will throw a warning for that reason) <Project> <PropertyGroup> <OutputPath>Blend/bin</OutputPath> <BaseIntermediateOutputPath>Blend/obj</BaseIntermediateOutputPath> <MSBuildProjectExtensionsPath>Blend/obj/$(MSBuildProjectName)</MSBuildProjectExtensionsPath> <RestoreOutputPath>Blend/obj/$(MSBuildProjectName)</RestoreOutputPath> </PropertyGroup> </Project> I also found a way to have the blend projects themselves in the Blend folder, since you can also automatically link files and even give them the proper base path, which works fine. However it messes with Resharper's ability to detect correct Resource paths and right-click add item does not allow adding UserControls in those linked paths. I'll investigate further if that can be done somehow. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2043 | [NoesisGUI] Unreal | major | always | 2021-06-07 18:56 | 2021-06-08 16:57 |
Reporter: | sergey_sitnikov_ninjatheory | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.12 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Element is not shown when used LinearGradientBrush as an OpacityMask in UE4 | ||||
Description: |
UE4 renderer doesn't show an element when it uses LinearGradientBrush as an OpacityMask. It is working correctly in WPF and XamlPlayer |
||||
Tags: | WPF, xaml | ||||
Steps To Reproduce: |
1. Add provided xaml to the VS WPF solution and launch it. 2. Observe that the circle is visible 3. Import provided xaml to UE4 and add it to viewport 4. Observe that the circle is not visible Expected behaviour: OpacityMasks work the same way in both WPF and UE4 plugin of Noesis |
||||
Additional Information: | |||||
Attached Files: |
Welcome.xaml (4,027 bytes) 2021-06-07 18:56 https://www.noesisengine.com/bugs/file_download.php?file_id=1443&type=bug WPF_RingVisible.jpg (144,035 bytes) 2021-06-07 18:56 https://www.noesisengine.com/bugs/file_download.php?file_id=1444&type=bug Gui.XamlPlayer_RingInvisible.jpg (27,250 bytes) 2021-06-07 18:56 https://www.noesisengine.com/bugs/file_download.php?file_id=1445&type=bug |
||||
Notes | |
(0007278)
sfernandez 2021-06-07 20:24 |
Hi Sergey, If I add the missing "Grad_3" gradient as a resource, then I can see the ring correctly rendered in our XamlPlayer. Is it possible you have that gradient defined somewhere else in the VS project? |
(0007279)
sergey_sitnikov_ninjatheory 2021-06-08 14:44 |
Thank you Sergio, You are right. My fault here that I forgot to add that resource preparing the sample. I can confirm that it is working in the XamlPlayer. However, I still can't see it in UE4, it is only visible when I comment the OpacityMask part. So it looks like a UE4 only issue then. Sergey |
(0007280)
sergey_sitnikov_ninjatheory 2021-06-08 14:48 |
I have updated issue information. |
(0007281)
sergey_sitnikov_ninjatheory 2021-06-08 15:08 |
Just a tiny update: it does work in UE4 if I replace the LinearGradientBrush with the SolidColorBrush |
(0007282)
sfernandez 2021-06-08 16:18 |
Ok, we've been able to reproduce it in UE4, it is related to using Effect + OpacityMask in the same element. It can be workaround right now by applying the effect to an outer element. <Border HorizontalAlignment="Center" VerticalAlignment="Center"> <Border.Effect> <DropShadowEffect Color="{DynamicResource Theme_Col_6}" Opacity="1" ShadowDepth="0" BlurRadius="5"/> </Border.Effect> <Ellipse x:Name="Ring" Width="100" Height="100" Stroke="{DynamicResource Grad_3}" StrokeThickness="5"> <Ellipse.OpacityMask> <LinearGradientBrush> <GradientStop Color="{StaticResource Theme_Transparent}" Offset="0"/> <GradientStop Color="{StaticResource Theme_Transparent}" Offset="0.5"/> <GradientStop Color="{StaticResource Theme_Highlight}" Offset="0.75"/> <GradientStop Color="{StaticResource Theme_Highlight}" Offset="1"/> </LinearGradientBrush> </Ellipse.OpacityMask> </Ellipse> </Border> |
(0007283)
sergey_sitnikov_ninjatheory 2021-06-08 16:55 |
Awesome! Thank you Sergio! I can confirm it is working correctly now when the effect is in the parent element. |
(0007284)
hcpizzi 2021-06-08 16:57 |
It's been fixed on revision 10313 on our Subversion repository. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2040 | [NoesisGUI] C++ SDK | feature | always | 2021-06-03 12:35 | 2021-06-03 12:35 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.0.12 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1 | ||||
Platform: | Any | ||||
Summary: | Add text selection helper controls for touch in TextBox | ||||
Description: |
In UWP when using touch on a TextBox and you tap over the text a helper control is shown on the caret to help moving it (a caret with a small circle below, see attached images). Or if you double tap the text, then a pair of those helper controls are shown around the selection to help modify the selected text. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
TouchSelection1.png (2,682 bytes) 2021-06-03 12:35 https://www.noesisengine.com/bugs/file_download.php?file_id=1441&type=bug TouchSelection2.png (4,672 bytes) 2021-06-03 12:35 https://www.noesisengine.com/bugs/file_download.php?file_id=1442&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2039 | [NoesisGUI] C++ SDK | minor | always | 2021-06-03 11:29 | 2021-06-03 11:30 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.0.12 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1 | ||||
Platform: | Any | ||||
Summary: | Visual descendant bounds not correctly calculated when involves clipping | ||||
Description: |
In WPF elements that have clipping (for any reason) the descendant bounds is calculated ignoring that clipping. The clipping geometry is only taken into account when calculating parent descendant bounds. For example, this rectangle will have a descendant bounds of (0;0;400;1000). <Rectangle x:Name="child" Fill="Blue" Width="400" Height="1000" Clip="M50,0L250,0 250,100 50,100z"/> But this border will report a descendant bounds of (50;0;200;100): <Border x:Name="parent" Margin="200,100"> <Rectangle x:Name="child" Fill="Blue" Width="400" Height="1000" Clip="M50,0L250,0 250,100 50,100z"/> </Border> |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2026 | [NoesisGUI] C# SDK | feature | always | 2021-05-22 07:42 | 2021-06-02 11:25 |
Reporter: | KeldorKatarn | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | low | OS Version: | |||
Status: | assigned | Product Version: | 3.0.12 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Suggestion: Make MarkupExtension an interface | ||||
Description: |
To remain compatible with WPF this should probably be done additionally instead of "instead" of the base class. So the abstract class should probably implement the interface instead of the interface replacing the abstract class. The reasons for this feature are simple a) this is already being discussed for WPF .NET Core https://github.com/dotnet/wpf/issues/170 b) this is how it was in Silverlight where it proved to be: c) more flexible. You can made a DependencyObject implement the interface which allows you to have a markupextension with binding support Or you can have any kind of useful class that you want to be able to easily use in a property attribute instead of a property tag, which keeps the XAML neater. but that class might have a different base class. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007254)
KeldorKatarn 2021-05-24 03:41 |
Then again maybe this should only happen once .NET is doing it also. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1038 | [NoesisGUI] C++ SDK | feature | always | 2017-04-05 17:05 | 2021-05-27 14:44 |
Reporter: | KeldorKatarn | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Caliburn.Micro metaticket | ||||
Description: | Meta ticket to reference all the work required to use Caliburn.Micro framework in Noesis. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007261)
jsantos 2021-05-27 14:44 |
https://www.noesisengine.com/forums/viewtopic.php?f=3&t=2294 |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1790 | [NoesisGUI] C# SDK | feature | always | 2020-09-15 08:18 | 2021-05-27 14:39 |
Reporter: | ck_russ | Platform: | |||
Assigned To: | OS: | ||||
Priority: | normal | OS Version: | |||
Status: | new | Product Version: | 3.0 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.0 | ||||
Platform: | Any | ||||
Summary: | Add Noessis Gui Binding generator to v3.0 | ||||
Description: |
Noesis being able to automatically generate bindings for objects and events in the code behind would be a major QoL improvement for usage of the library. Forum Topic: https://www.noesisengine.com/forums/viewtopic.php?f=3&t=1930 Sample implementation on GitHub: https://github.com/CyberFoxHax/NoesisGUIBindingsGenerator |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007260)
jsantos 2021-05-27 14:39 |
As mentioned in https://www.noesisengine.com/forums/viewtopic.php?f=3&t=2324, this could be a solution too https://devblogs.microsoft.com/dotnet/introducing-c-source-generators/ |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2036 | [NoesisGUI] C# SDK | minor | always | 2021-05-27 14:04 | 2021-05-27 14:21 |
Reporter: | Faerdan | Platform: | |||
Assigned To: | OS: | ||||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.0.12 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | SortCollectionBehavior not efficient when items are modified | ||||
Description: |
When items in the source collection are modified and SortComparer raises the SortRequired event the entire sorted collection is recreated. It would be better if we can remove only the modified item from the sorted collection and insert it again in the sorted position. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1822 | [NoesisGUI] C++ SDK | minor | always | 2020-10-27 12:03 | 2021-05-27 10:46 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.0.6 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1 | ||||
Platform: | Any | ||||
Summary: | Different objects when using resources defined inside a template element | ||||
Description: |
Giving the following control template:<ControlTemplate TargetType="Control"> <Grid x:Name="root"> <Grid.Resources> <ImageBrush x:Key="imgBrush" ImageSource="Test.png"/> </Grid.Resources> <Rectangle x:Name="rect" Fill="{StaticResource imgBrush}"/> </Grid> </ControlTemplate> When getting a reference to the resource in Grid.Resources and Rectangle.Fill, it returns different objects in Noesis, in WPF both are the same. Grid root = (Grid)control.Template.FindName("root", control); ImageBrush brush1 = (ImageBrush)root.FindResource("imgBrush"); Rectangle rect = (Rectangle)control.Template.FindName("rect", control); ImageBrush brush2 = (ImageBrush)rect.Fill; if (brush1 == brush2) ... // True for WPF, False for Noesis |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: |
The workaround for now is to use a binding instead of a StaticResource:<ControlTemplate TargetType="Control"> <Grid x:Name="root"> <Grid.Resources> <ImageBrush x:Key="imgBrush" ImageSource="Test.png"/> </Grid.Resources> <Rectangle x:Name="rect" Fill="{Binding Resources[imgBrush], ElementName=root}"/> </Grid> </ControlTemplate> |
||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2029 | [NoesisGUI] C# SDK | minor | always | 2021-05-25 11:28 | 2021-05-25 14:50 |
Reporter: | KeldorKatarn | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | low | OS Version: | |||
Status: | assigned | Product Version: | 3.0.12 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | WPF Inconsistency: MarkupExtensionReturnTypeAttribute is missing | ||||
Description: | The MarkupExtensionReturnTypeAttribute type is missing | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2028 | [NoesisGUI] C# SDK | minor | always | 2021-05-25 10:58 | 2021-05-25 14:50 |
Reporter: | KeldorKatarn | Platform: | |||
Assigned To: | OS: | ||||
Priority: | low | OS Version: | |||
Status: | new | Product Version: | 3.0.12 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | WPF Inconsistency: Dispatcher.InvokeAsync is missing | ||||
Description: | Dispatcher.InvokeAsync is missing from the Dispatcher API | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2015 | [NoesisGUI] C# SDK | feature | always | 2021-05-10 19:52 | 2021-05-25 14:48 |
Reporter: | KeldorKatarn | Platform: | |||
Assigned To: | OS: | ||||
Priority: | high | OS Version: | |||
Status: | new | Product Version: | 3.0.12 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | WPF inconsistency: AnimationTimeline does not expose virtual methods | ||||
Description: |
I cannot override GetCurrentValue and CreateInstanceCore and TargetPropertyType also AnimationClock.CurrentProgress is not a nullable |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2018 | [NoesisGUI] Unity3D | crash | always | 2021-05-11 01:56 | 2021-05-25 14:47 |
Reporter: | KeldorKatarn | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | immediate | OS Version: | |||
Status: | assigned | Product Version: | 3.0.12 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1 | ||||
Platform: | Any | ||||
Summary: | Unity Editor crashes when using converter implementing both IValueConverter and IMultiValueConverter | ||||
Description: |
See tile. The XAML import complains that the converter cannot be assigned to the binding and then soon after the editor crashes. See here for the usecase and example project: https://github.com/VacuumBreather/Caliburn.Noesis/tree/feature/converters The Converters sample scene. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
Editor.log (68,601 bytes) 2021-05-11 01:56 https://www.noesisengine.com/bugs/file_download.php?file_id=1428&type=bug error.log (112,720 bytes) 2021-05-11 01:56 https://www.noesisengine.com/bugs/file_download.php?file_id=1429&type=bug crash.dmp (1,295,945 bytes) 2021-05-11 01:56 https://www.noesisengine.com/bugs/file_download.php?file_id=1430&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2033 | [NoesisGUI] C# SDK | major | always | 2021-05-25 11:53 | 2021-05-25 14:46 |
Reporter: | KeldorKatarn | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | high | OS Version: | |||
Status: | assigned | Product Version: | 3.0.12 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | WPF inconsistency: KeyFrame .ctors missing | ||||
Description: |
The KeyFrames cannot be created in code. Their constructors are missing. DiscreteDoubleKeyFrame, EasingDoubleKeyFrame, and probably all the others too. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2031 | [NoesisGUI] C# SDK | major | always | 2021-05-25 11:42 | 2021-05-25 14:46 |
Reporter: | KeldorKatarn | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | high | OS Version: | |||
Status: | assigned | Product Version: | 3.0.12 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | WPF Inconsistency: CommandBinding constructors missing | ||||
Description: |
The constructors are missing: CommandBinding (ICommand) CommandBinding (ICommand, ExecutedRoutedEventHandler) CommandBinding(ICommand, ExecutedRoutedEventHandler, CanExecuteRoutedEventHandler) |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1984 | [NoesisGUI] Unity3D | major | always | 2021-04-27 01:23 | 2021-05-25 14:46 |
Reporter: | KeldorKatarn | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | urgent | OS Version: | |||
Status: | assigned | Product Version: | 3.0.11 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | MouseButtonEventArgs Source Property incorrect value | ||||
Description: |
The MouseButtonEventArgs.Source property returns the wrong value. It returns what should be OriginalSource. This is inconsistent with WPF and prevent implementing a lot of important logic. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007172)
sfernandez 2021-04-27 21:01 |
Could you please point out an scenario where you need to use the Source property instead of the OriginalSource? Wouldn't the sender of the event be an option in those situations? WPF UIElement by default sets Source to be the sender. Anyway, as you pointed out the meaning is not the same as in WPF, we should probably change this. |
(0007174)
KeldorKatarn 2021-04-27 21:48 (Last edited: 2021-04-27 21:49) |
Imagine this layout: <DockPanel xmlns:b="http://schemas.microsoft.com/xaml/behaviors" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Background="Transparent"> <Menu Height="50" Background="Red" VerticalAlignment="Top" DockPanel.Dock="Top" /> <ToolBar Height="50" Background="Blue" VerticalAlignment="Top" DockPanel.Dock="Top" /> <b:Interaction.Behaviors> <!-- <behaviors:RemoveFocusBehavior /> --> </b:Interaction.Behaviors> </DockPanel> The behavior does this: protected override void OnAttached() { base.OnAttached(); AssociatedObject.PreviewMouseDown += OnPreviewMouseDown; } private void OnPreviewMouseDown(object sender, MouseButtonEventArgs args) { if (ReferenceEquals(args.Source, AssociatedObject)) { Keyboard.ClearFocus(); } } If I click on the Menu, then args.Source will be Menu, if I click on the Toolbar, the args.Source will be Toolbar. if I click into the empty space, the args.Source will be DockPanel However the sender will ALWAYS be DockPanel, since that's where the event handler attached. Right now Noesis is putting Border or some other hit visual element in the Source property. That should be OriginalSource to detect the visual element that caused the event to be created. But the logical control is supposed to be in Source. Without this being correct, I can in this example not detect if I clicked any of the DockPanel's child elements or the DockPanel iteself where no child elements exist. |
(0007190)
sfernandez 2021-04-29 12:20 |
I see your point here. >> Without this being correct, I can in this example not detect if I clicked any of the DockPanel's child elements or the DockPanel iteself where no child elements exist. In this particular case you could check our Source (equivalent to WPF's OriginalSource) to determine if you clicked in the DockPanel, because the Source will be DockPanel unless you click in any child of that panel, right? |
(0007196)
KeldorKatarn 2021-04-29 19:57 |
Yes but I also had the case where I filled the remaining space with another child. So then it doesn't work anymore since I need to detect the specific child. As I said I'm not sure if this usecase will even remain in my code. But it let me detect this problem and it's a massive inconsistency with WPF. Considering how often I've used this property and Original source in my time as WPF developer, especially in Behaviors and special event logic, I think I can say that those two properties are very powerful to implement certain logic and need to work as they do in WPF: This is just one example for such a logic. That's why I think it's important to make sure these work identically to WPF. |
(0007198)
KeldorKatarn 2021-04-30 08:22 |
I have another example for you regarding Source and OriginalSource. Consider this situation: public FileDialogView() { InitializeComponent(); Initialized += OnInitialized; } private void OnInitialized(object sender, EventArgs args) { var treeView = (TreeView)FindName("TreeView"); treeView.AddHandler(TreeViewItem.SelectedEvent, new RoutedEventHandler(OnTreeViewItemSelected)); } private void OnTreeViewItemSelected(object sender, RoutedEventArgs e) { Debug.Log($"sender: {sender}, e.Source: {e.Source}"); #if !NOESIS (e.OriginalSource as TreeViewItem)?.BringIntoView(); #endif } In WPF e.Source is the TreeView and e.OriginalSource is the TreeViewItem In Noesis e.Source is the TreeViewItem That is inconsistent and breaks code between Blend and Noesis |
(0007255)
KeldorKatarn 2021-05-24 19:42 |
I'm not sure how WPF does this, but I think Source is the source item in the logical tree and original source the true source visual in the visual tree which is part of the subtree of the source in the logical tree? I'd have to confirm this, but I THINK that's how it works? |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1981 | [NoesisGUI] Unity3D | minor | always | 2021-04-27 00:22 | 2021-05-25 14:45 |
Reporter: | KeldorKatarn | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | urgent | OS Version: | |||
Status: | assigned | Product Version: | 3.0.11 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | KeyEventArgs is missing the OriginalSource property | ||||
Description: | The summary says it all. The KeyEventArgs class is missing the OriginalSource property. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1999 | [NoesisGUI] Unity3D | crash | always | 2021-05-04 12:19 | 2021-05-25 14:43 |
Reporter: | KeldorKatarn | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.0.11 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Unity crashes when TextBox is filled line by line with a lot of content | ||||
Description: |
The title says it all. I'm reading a large text file and adding it line by line to the TextBox with a 10ms delay. Initially I used a 100ms delay which caused the TextBox to render crap after a certain number of lines (it rendered lines over old ones and stuff like that) After the change to 10ms it crashed the Unity editor. |
||||
Tags: | |||||
Steps To Reproduce: |
The sample is in my Caliburn.Noesis GitHub. It's the only sample scene in there right now. It opens a File dialog. Select Assembly-CSharp.csproj from the project itself. That's a sufficiently large file to crash or at least cause issues. Does the TextBox control have a limit in Noesis in how much content it can handle? Either way this should not crash the editor. |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007219)
jsantos 2021-05-04 12:25 |
Yes, the implementation is probably not ready for a lot of lines. We should fix this |
(0007220)
KeldorKatarn 2021-05-04 12:27 |
The sample should give you a good base line to play around with it then and test it. As a side note, let me know what you think of the sample so far. I think I got it working in both Unity and WPF. |
(0007221)
jsantos 2021-05-05 10:26 |
I think the sample is great and once we theme it to look better, it will be perfect. Thanks for this excellent work. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2012 | [NoesisGUI] C# SDK | feature | always | 2021-05-10 19:17 | 2021-05-25 14:41 |
Reporter: | KeldorKatarn | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.0.12 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1 | ||||
Platform: | Any | ||||
Summary: | WPF Inconsistency: DependencyProperty.Register lacks an overload for Validation | ||||
Description: | The Register(String, Type, Type, PropertyMetadata, ValidateValueCallback) overload seems to be missing. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2016 | [NoesisGUI] C# SDK | feature | always | 2021-05-10 20:00 | 2021-05-25 14:40 |
Reporter: | KeldorKatarn | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.0.12 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | WPF Inconsistency: Noesis.ItemsCollections does not implement INotifyCollectionChanged | ||||
Description: |
The title says it all. I'm using this to detext on a ListBox when its ItemsSource has changed to scroll it all the way back to the top. Workaround is welcome for now. I didn't find another way to do it. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007240)
sfernandez 2021-05-10 20:17 |
Are you binding an ObservableCollection to the ItemsSource? Because that class implements the INotifyCollectionChanged interface. |
(0007242)
KeldorKatarn 2021-05-10 20:21 |
No, I'm checking against the control's collection. Check here to see what I'm trying to do: https://github.com/VacuumBreather/Caliburn.Noesis/blob/feature/conductor_sample/Assets/Samples/Conductors/Scripts/Views/ScrollToTopBehavior.cs |
(0007243)
sfernandez 2021-05-10 20:32 |
Ok, this is related to the fact that ItemCollection doesn't inherit in Noesis from CollectionView (ICollectionView -> INotifyCollectionChanged). This is something we have to fix. |
(0007244)
KeldorKatarn 2021-05-10 21:16 |
Yes, I think that's also needed for the grouping functionality of the ListBox isn't it? |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2014 | [NoesisGUI] C# SDK | feature | always | 2021-05-10 19:25 | 2021-05-25 14:40 |
Reporter: | KeldorKatarn | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.0.12 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | WPF Inconsistency: PresentationSource missing | ||||
Description: | The class PresentationSource is missing | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007239)
sfernandez 2021-05-10 19:40 |
What part do you need from PresentationSource? The CompositionTarget, so you can register to the Rendering event? In Noesis that event is part of the View that holds the UI tree. You can do: someControl.View.Rendering += (s, e) => { // do something }; |
(0007241)
KeldorKatarn 2021-05-10 20:19 |
Actually I'm doing this: (I'm not 100% sure this even makes any difference in a game but... I'm using it in a decorator to compensate in case LayoutRounding is active. Maybe Noesis already compensates for that?) private Size GetDpi() { #if UNITY_5_5_OR_NEWER return new Size(One, One); #else var source = PresentationSource.FromVisual(this); var dpiX = One; var dpiY = One; if (source?.CompositionTarget != null) { dpiX = NinetySix * source.CompositionTarget.TransformToDevice.M11; dpiY = NinetySix * source.CompositionTarget.TransformToDevice.M22; } return new Size(dpiX, dpiY); #endif } |
(0007257)
KeldorKatarn 2021-05-25 06:13 |
Actually, I just saw since Framework 4.6.2 this has been added VisualTreeHelper.GetDpi(Visual visual) Is that implemented in Noesis? If it is, I'm not going to need this I think |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2032 | [NoesisGUI] C# SDK | minor | always | 2021-05-25 11:44 | 2021-05-25 14:39 |
Reporter: | KeldorKatarn | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.0.12 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | WPF Inconsistency: IEasingFunction interface is missing | ||||
Description: | The IEasingFunction interface is missing and should be implemented by EasingFunctionBase | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2034 | [NoesisGUI] C# SDK | minor | have not tried | 2021-05-25 12:22 | 2021-05-25 12:22 |
Reporter: | jsantos | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1 | ||||
Platform: | Any | ||||
Summary: | Implement support for getting DPIs of View | ||||
Description: |
VisualTreeHelper.GetDpi(Visual visual); // Since .NET Framework 4.6.2 https://www.noesisengine.com/forums/viewtopic.php?f=3&t=2319 |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2021 | [NoesisGUI] Unreal | crash | sometimes | 2021-05-14 15:15 | 2021-05-21 13:46 |
Reporter: | sergey_sitnikov_ninjatheory | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.12 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Windows | ||||
Summary: | Frequent crashes during xaml reimport | ||||
Description: |
UE4 crashes frequently on xaml reimport. Sometimes it is possible to work around it by dragging and dropping xaml to the folder with existing asset, however it might crash when reimported second time. Crash minidump has been attached. |
||||
Tags: | C++, UE4, xaml | ||||
Steps To Reproduce: | - Reimport xaml file | ||||
Additional Information: | |||||
Attached Files: |
UE4CC-Windows-8697BCCD49AD89CCD8A41C8E5C02EB18_0000.zip (235,086 bytes) 2021-05-14 15:15 https://www.noesisengine.com/bugs/file_download.php?file_id=1431&type=bug ContentAreas.zip (2,912 bytes) 2021-05-14 18:36 https://www.noesisengine.com/bugs/file_download.php?file_id=1432&type=bug UE4CC-Windows-834C38EE403BE755F2C329A8CEBC13A8_0000.zip (280,072 bytes) 2021-05-20 18:46 https://www.noesisengine.com/bugs/file_download.php?file_id=1436&type=bug |
||||
Notes | |
(0007245)
hcpizzi 2021-05-14 18:28 |
Hi Sergey, Does this happen with every XAML, or just a particular one? Would you mind sharing the XAML in question with us? Thanks |
(0007246)
sergey_sitnikov_ninjatheory 2021-05-14 18:36 |
Hi, it is not happening with all xaml files, only with some specific ones, however it is hard for me to figure out what might be wrong with those. I can share those with you, however they might require additional references to be imported as well. The issue definitely happened with those two files in the provided archive. As I have said earlier, usually it is fine to drag-an-drop that file to the folder with the existing one for the first time. However, any further attempts to do it that way, or to reimport the asset with the Reimport button would cause a crash. |
(0007251)
sfernandez 2021-05-20 12:44 (Last edited: 2021-05-20 12:45) |
Hi Sergey, I've been trying to reproduce these crashes with the provided xamls (adapted so I can use them) without luck. And the crash dump doesn't explain what could be the source of the problem taking into account the xaml files. So I generated a new Noesis library with extra logging for you to try: https://drive.google.com/file/d/1pUDbv7HIg4eZpsgXPVUe1SemV2lyxkIz/view?usp=sharing Please enable in NoesisGUI plugin settings the 'Log verbosity' to 'Normal' and attach the crash dump and logs again. Thanks for your collaboration. |
(0007252)
sergey_sitnikov_ninjatheory 2021-05-20 18:46 |
Hi Sergio, I have attached a new crashdump with additional logs. Please let me know if you need any additional information. Cheers, Sergey |
(0007253)
sfernandez 2021-05-21 11:13 |
Thanks, the logs where very useful, I know what is happening now, working on the fix :) |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2024 | [NoesisGUI] C++ SDK | minor | always | 2021-05-19 12:55 | 2021-05-19 13:46 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | OS: | ||||
Priority: | normal | OS Version: | |||
Status: | new | Product Version: | 3.0.12 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | WPF differences on how Touch and Manipulation events are sent | ||||
Description: |
With the following xaml:<Window x:Class="Touch.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <Grid x:Name="LayoutRoot" Background="Silver" IsManipulationEnabled="True"> <Rectangle x:Name="rect" Width="200" Height="100" Fill="Red"/> </Grid> </Window> Touching the rectangle generates the following events in WPF and Noesis: WPF ====================================== MainWindow.TouchDown Rectangle(rect) MainWindow.GotTouchCapture Rectangle(rect) : Captured=Rectangle(rect) MainWindow.LostTouchCapture Rectangle(rect) : Captured=Grid(LayoutRoot) MainWindow.GotTouchCapture Grid(LayoutRoot) : Captured=Grid(LayoutRoot) LayoutRoot.ManipulationStarting Grid(LayoutRoot) LayoutRoot.ManipulationStarted Grid(LayoutRoot) --------------------------------------------------------------------- MainWindow.TouchUp Grid(LayoutRoot) MainWindow.LostTouchCapture Grid(LayoutRoot) : Captured=null LayoutRoot.ManipulationInertiaStarting Grid(LayoutRoot) LayoutRoot.ManipulationCompleted Grid(LayoutRoot) NOESIS ====================================== MainWindow.TouchDown Rectangle(rect) MainWindow.GotTouchCapture Rectangle(rect) : Captured=Rectangle(rect) LayoutRoot.ManipulationStarting Grid(LayoutRoot) LayoutRoot.ManipulationStarted Grid(LayoutRoot) MainWindow.LostTouchCapture Rectangle(rect) : Captured=Grid(LayoutRoot) MainWindow.GotTouchCapture Grid(LayoutRoot) : Captured=Grid(LayoutRoot) --------------------------------------------------------------------- LayoutRoot.ManipulationInertiaStarting Grid MainWindow.LostTouchCapture Grid : Captured=null LayoutRoot.ManipulationCompleted Grid There are two important differences here: 1. On touch down, when manipulation starts, in WPF first the source captures the touch, then it raises ManipulationStarting and ManipulationStarted events. In Noesis capture happens after manipulation start events. 2. On touch up, in WPF the TouchUp event is raised before terminating the manipulation. In Noesis TouchUp event is not fired if a manipulation is active. Another difference is that WPF doesn't send MouseMove events when ManipulationInertiaStarting or ManipulationCompleted events are cancelled. Noesis is sending MouseMove(x,y) before promoting the MouseUp and MouseMove(-1,-1) after. So in WPF the control's "MouseOver" state will keep visible after cancelling the manipulations, but not in Noesis. Although I don't really like how WPF behaves in this situation, because leaves the UI in an incorrect visual state. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2017 | [NoesisGUI] C++ SDK | crash | have not tried | 2021-05-10 20:26 | 2021-05-18 10:34 |
Reporter: | ext.mnawrot | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.12 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Windows | ||||
Summary: | Triggering SetFocusAction with IsVisibleChanged event causes a crash (potential memory leak) | ||||
Description: |
``` <!-- WORKS FINE --> <i:EventTrigger EventName="IsVisibleChanged"> <ei:PlaySoundAction Source="../Products/{productId}/Audio/Test-beep.mp3" /> </i:EventTrigger> <!-- WORKS FINE --> <i:EventTrigger EventName="Loaded"> <noesis:SetFocusAction TargetName="<some-target>" /> </i:EventTrigger> <!-- CRASHES the app on clean up (unregistering events) --> <i:EventTrigger EventName="IsVisibleChanged"> <noesis:SetFocusAction /> </i:EventTrigger> ``` |
||||
Tags: | |||||
Steps To Reproduce: |
I modified the Buttons sample to help reproducing this issue: https://github.com/Noesis/Tutorials/pull/16 1. Run the app 2. Click "SHOW START" button 3. Close the app 4. Observe the exception |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007248)
sfernandez 2021-05-18 10:34 |
Fixed on changeset r10245. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2020 | [NoesisGUI] Unreal | minor | always | 2021-05-14 11:45 | 2021-05-14 11:45 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.0.12 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Binding in SelectedIndex property stops working if using OneWay mode | ||||
Description: |
Using a binding like this: <ListBox ItemsSource="{Binding ItemList}" SelectedIndex="{Binding ItemIndex, Mode=OneWay}" DisplayMemberPath="Name"/> When ItemIndex changes in the viewmodel, it only works for the first time because binding gets removed when updating the selection. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1579 | [NoesisGUI] Unity3D | tweak | always | 2019-11-02 13:14 | 2021-05-11 16:40 |
Reporter: | Feldruebe | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 2.2.5 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1 | ||||
Platform: | Android | ||||
Summary: | Combining MarkupExtension and IValueConverter crashes Unity | ||||
Description: | If you are combining a MarkupExtension and an IValueConverter Unity crashes when using the converter. | ||||
Tags: | Unity | ||||
Steps To Reproduce: |
Use the following converter in an xaml. public class EnumMatchToVisibilityConverter : MarkupExtension, IValueConverter { public int Test { get; set; } public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { if (value is int && parameter is int) { return (int)value == (int)parameter ? Visibility.Visible : Visibility.Collapsed; } return Binding.DoNothing; } public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { throw new NotImplementedException(); } } |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1975 | [NoesisGUI] C# SDK | minor | always | 2021-04-22 10:48 | 2021-05-11 16:40 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.0.11 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1 | ||||
Platform: | Any | ||||
Summary: | Can't create MarkupExtension that implements IValueConverter | ||||
Description: | From forum post: https://www.noesisengine.com/forums/viewtopic.php?f=3&t=2273 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1947 | [NoesisGUI] C# SDK | feature | always | 2021-03-23 16:11 | 2021-05-10 20:32 |
Reporter: | peter_e-h_easylaser | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | ItemCollection should properly inherit from CollectionView | ||||
Description: | Currently if I want to check for changes to the items in e.g. a ListView I have to access its ItemsSource. This leads to poorly separated code. Inheriting from CollectionView would give us access to ICollectionChanged and other neat things that would allow us to write cleaner code behind. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2011 | [NoesisGUI] C# SDK | feature | always | 2021-05-10 18:57 | 2021-05-10 18:58 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.0.12 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Allow application to configure RenderDevice settings | ||||
Description: |
Allow Application to override default values for RenderDevice properties: - OffscreenWidth - OffscreenHeight - OffscreenDefaultNumSurfaces - OffscreenMaxNumSurfaces - GlyphCacheWidth - GlyphCacheHeight |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1173 | [NoesisGUI] Unity3D | crash | always | 2017-10-29 17:09 | 2021-05-07 18:08 |
Reporter: | monstercho | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | high | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Noesis.dll caused an Access Violation (0xc0000005) in module Noesis.dll at 0033:5ce69d0f | ||||
Description: |
I have a xaml where tapping a button opens another xaml by doing: Resources.Load(System.IO.Path.GetFileNameWithoutExtension(xamlPath)); Noesis.GUI.LoadComponent(o, xamlPath); I get the crash on 6th try of doing this. Currently don't have a minimal project to reproduce - was hoping that the attached log/dump may give you clue. Can test with debug noesis version if you have. |
||||
Tags: | 2.1Beta | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
crash.dmp (874,144 bytes) 2017-10-29 17:09 https://www.noesisengine.com/bugs/file_download.php?file_id=844&type=bug error.log (36,770 bytes) 2017-10-29 17:09 https://www.noesisengine.com/bugs/file_download.php?file_id=845&type=bug |
||||
Notes | |
(0004855)
monstercho 2017-10-29 18:37 |
Just a clarification because what I wrote is misleading - crash is not when I try to load the new page. I'm navigating forward and back between those 2 xamls and when the crash happens it is before the Click event of the button - I put a breakpoint inside it and it crashes before reaching it. |
(0004865)
sfernandez 2017-10-30 17:15 (Last edited: 2017-10-30 17:15) |
The crash is related with touch manipulations:> Noesis.dll!Noesis::Gui::TouchScreen::NewManipulationFinger(Noesis::Gui::UIElement * uiElement, const Noesis::Drawing::Point & p, unsigned int id) Line 642 C++ Noesis.dll!Noesis::Gui::TouchScreen::TouchDown(int x, int y, unsigned int id) Line 160 C++ We will investigate it. |
(0004867)
monstercho 2017-10-30 20:50 |
TouchDown was a great lead! In our project Noesis view EnableTouch/EnableMouse are disabled. We are feeding input events to Noesis by calling TouchDown/Up (both on PC and Android, no mouse down/up). But recently we added feeding both TouchDown/Up and MouseDown/Up in 1 special case - when button is inside a scrollviewer - done as workaround for the button not getting visual pressed state when inside a scrollviewer (forum: http://www.noesisengine.com/forums/viewtopic.php?f=3&t=1210&sid=86879a9e273e156cdde74f4074dcd6f9). MouseDown/Up visually results in a pressed state, while touchdown/up not. Now I disabled the workaround and Unity/Noesis don't crash anymore. Crash was both under Editor and Android. |
(0004868)
jsantos 2017-10-30 20:54 |
Thanks for the feedback! I am analyzing this right now. |
(0006628)
jsantos 2020-09-14 01:48 |
Is this still an issue? |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1811 | [NoesisGUI] Unity3D | feature | always | 2020-10-15 22:48 | 2021-05-07 10:31 |
Reporter: | Nitae | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.7 | ||
Target Version: | 3.0.7 | ||||
Platform: | Any | ||||
Summary: | using Render texture mode with HDRP causes render overlap in viewport an rewrite in other render textures | ||||
Description: | hi, I'm Nitae I work for Foresight Sports. I found troubles with noesis view using unity HDRP, when i use noesis view in render texture mode thge render overlap the viewport a somethimes rewrite other render textures. Iam using Unity 2019.4.0f1 and noesis 3.0.1 tested in noesis 3.0.6 and the same happends. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
testhdrp.png (946,367 bytes) 2020-10-15 22:48 https://www.noesisengine.com/bugs/file_download.php?file_id=1312&type=bug NoesisView.cs (45,809 bytes) 2020-10-21 12:32 https://www.noesisengine.com/bugs/file_download.php?file_id=1314&type=bug |
||||
Notes | |
(0006684)
jsantos 2020-10-16 11:49 |
Hi Nitae! Could you please attach a minimal (as much as possible) unity project reproducing the issue? |
(0006685)
Nitae 2020-10-16 16:29 |
Here is a project reproducing the issue the scene name is Main https://drive.google.com/file/d/1nmzUH-oVq2-TCpx-LXF7W05UYsA173jW/view?usp=sharing |
(0006698)
jsantos 2020-10-20 17:41 |
Thank you, I was able to reproduce the issue. I am working on it. |
(0006699)
jsantos 2020-10-21 12:32 |
Please, find attached the fixed NoesisView solving the issue. This will be part of the imminent 3.0.7 release. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1543 | [NoesisGUI] C++ SDK | minor | always | 2019-08-22 08:57 | 2021-05-06 20:39 |
Reporter: | jsantos | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.3 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Home and End keys not working properly in ListBox | ||||
Description: |
I would expect these keys to go to the beginning and to the end of the list respectively. In the following example, the End key change the tab item.<Grid> <StackPanel> <TabControl Width="200" Height="250"> <TabItem Header="Scroll"> <ListBox Margin="20" x:Name="list" ScrollViewer.PanningMode="VerticalOnly" ScrollViewer.PanningDeceleration="0.00001"> <ListBoxItem Content="Item01"/> <ListBoxItem Content="Item02"/> <ListBoxItem Content="Item03"/> <ListBoxItem Content="Item04"/> <ListBoxItem Content="Item05"/> <ListBoxItem Content="Item06"/> <ListBoxItem Content="Item07"/> <ListBoxItem Content="Item08"/> <ListBoxItem Content="Item09"/> <ListBoxItem Content="Item10"/> <ListBoxItem Content="Item11"/> <ListBoxItem Content="Item12"/> <ListBoxItem Content="Item13"/> <ListBoxItem Content="Item14"/> <ListBoxItem Content="Item15"/> <ListBoxItem Content="Item16"/> <ListBoxItem Content="Item17"/> <ListBoxItem Content="Item18"/> <ListBoxItem Content="Item19"/> <ListBoxItem Content="Item20"/> <ListBoxItem Content="Item21"/> <ListBoxItem Content="Item22"/> <ListBoxItem Content="Item23"/> <ListBoxItem Content="Item24"/> <ListBoxItem Content="Item25"/> <ListBoxItem Content="Item26"/> <ListBoxItem Content="Item27"/> <ListBoxItem Content="Item28"/> <ListBoxItem Content="Item29"/> <ListBoxItem Content="Item30"/> <ListBoxItem Content="Item31"/> </ListBox> </TabItem> <TabItem Header="Tab 2"> <ListBox Margin="20" x:Name="list2" ScrollViewer.PanningMode="Both"> <Button Width="100" Height="150" Click="Button_Click" TouchDown="Button_TouchDown">OK 0</Button> <Button Width="100" Height="150" >OK 1</Button> <Button Width="100" Height="150" >OK 2</Button> <Button Width="100" Height="150" >OK 3</Button> <Button Width="100" Height="150" >OK 4</Button> <Button Width="100" Height="150" >OK 5</Button> <Button Width="100" Height="150" >OK 6</Button> </ListBox> </TabItem> </TabControl> <Button Margin="20" Width="50" Click="Clicked" TouchDown="Touched">ACTION</Button> </StackPanel> </Grid> |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1940 | [NoesisGUI] C# SDK | minor | always | 2021-03-15 18:33 | 2021-05-06 17:28 |
Reporter: | ai_enabled | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.10 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | IMultiValueConverter receives BaseComponent[] values when the control is hidden | ||||
Description: |
Hi guys, it's a new bug that just appeared in 3.0.10 and seems to be related to this change from the release notes: "FIXED MultiBinding Converter should be called even if inner bindings failed to resolve." The issue is: when the control is collapsed and it has a MultiValueConverter inside, object[] values provided to the IMultiValueConverter as arguments all appear as BaseComponent instance (the same instance several times; are they supposed to be "null"?)...see the attached screenshot. Regards! |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
Screenshot at 20-32-38.png (168,981 bytes) 2021-03-15 18:33 https://www.noesisengine.com/bugs/file_download.php?file_id=1390&type=bug |
||||
Notes | |
(0007080)
sfernandez 2021-03-15 18:51 |
When one of the binding is not resolved the converter will receive a DependencyProperty.UnsetValue in the corresponding index of the 'values' array. Is that what you are seeing? |
(0007081)
ai_enabled 2021-03-15 19:28 (Last edited: 2021-03-15 19:28) |
You're right, it's DependencyProperty.UnsetValue. Thank you! So I have to use FallbackValue or compare each value with the UnsetValue. I was totally unaware of this feature as I've rarely used IMultiValueConverter (it was added fairly recently). I was assuming it's some kind of data corruption. The issue happened with a quite complex data binding case like this one: <hud:HUDButtonBadgeControl.Number> <MultiBinding Converter="{StaticResource ValuesAdditionMultiConverter}"> <Binding Path="SomeInstance.DataContext.CountA" /> <Binding Path="SomeInstance.DataContext.CountB/> </MultiBinding> </hud:HUDButtonBadgeControl.Number> Suggestion: define a new private class in C# SDK: DependencyPropertyUnsetValue. Use it specifically to return a singleton instance for DependencyProperty.UnsetValue. So library users like me will see it in the debugger and/or exception message, and understand that it's not a bug with some corrupted data being passed in. Regards! |
(0007082)
ai_enabled 2021-03-15 19:33 |
By the way, is it expected that FallbackValue provides "False"/"True" as a string instead of bool and "1"/"2"/"3.0"/etc as a string instead of the integer or floating-point number? It's quite complicated to use. |
(0007083)
sfernandez 2021-03-15 19:37 |
>> Suggestion: define a new private class in C# SDK: DependencyPropertyUnsetValue. Use it specifically to return a singleton instance for DependencyProperty.UnsetValue. So library users like me will see it in the debugger and/or exception message, and understand that it's not a bug with some corrupted data being passed in. I was just thinking on exactly that because C# users shouldn't see any reference to BaseComponent. This will also apply to Binding.DoNothing value. |
(0007084)
sfernandez 2021-03-15 20:12 |
>> By the way, is it expected that FallbackValue provides "False"/"True" as a string instead of bool and "1"/"2"/"3.0"/etc as a string instead of the integer or floating-point number? It's quite complicated to use. Yes, in WPF you will also receive the FallbackValue as a string, the same for the CommandParameter. |
(0007224)
sfernandez 2021-05-06 17:28 |
Now DependencyProperty.UnsetValue and Binding.DoNothing show with the right name when debugging in C#. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2001 | [NoesisGUI] Unity3D | major | always | 2021-05-05 12:46 | 2021-05-05 14:16 |
Reporter: | peter_e-h_easylaser | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.12 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | PathGeometry not rendered correctly in Noesis | ||||
Description: |
I have a PathGeometry that is rendered incorrectly in Noesis 3.0.12 compared to the same geometry in a Blend project. Link to Blend Project: https://easylaser-my.sharepoint.com/:u:/p/peter_eden_horn/EaeahbMd5OxCqagmdvxSPZ0Bju_kB6RBRgt1B8Qi7ERcBQ?e=6SqZcb Link to Unity 2019.1.14 project: https://easylaser-my.sharepoint.com/:u:/p/peter_eden_horn/EfPuFvCOT55CguYC0burbPkB9JMt2gNdQdA7DZm4wFZhBA?e=sxNduW |
||||
Tags: | |||||
Steps To Reproduce: |
It fails with this simple xaml:<Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Background="White"> <Path Fill="Black" Stretch="Uniform" Width="200" HorizontalAlignment="Center" VerticalAlignment="Center"> <Path.Data> <PathGeometry Figures="M8,29L8,59 38,59 38,29z M 16.375 37.140625 h 6.021484 v 6.017578 H 16.375 Z m 7.220703 0 h 6.025391 v 6.017578 H 23.595703 Z M 16.375 44.359375 h 6.021484 v 6.019531 h 1.199219 v -6.019531 h 6.025391 v 6.021484 H 16.375 Z" FillRule="NonZero"/> </Path.Data> </Path> </Grid> |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007222)
sfernandez 2021-05-05 13:57 (Last edited: 2021-05-05 13:58) |
It seems to work if you specify the SVG path directly in the Data property:<Path xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Name="path23" Fill="#FF6B6861" StrokeThickness="4.93333" StrokeMiterLimit="10" StrokeLineJoin="Miter" StrokeStartLineCap="Flat" StrokeEndLineCap="Flat" Opacity="1" Data="m 28.861328 2.8671875 c -1.300201 -0.016094 -2.607615 0.03037 -3.916016 0.1425781 l 0.421876 4.9179688 C 34.577062 7.1378984 43.40795 9.902091 49.818359 16.3125 c 6.290487 6.290487 9.067156 14.909459 8.423829 23.935547 l 4.921874 0.347656 C 63.895734 30.330125 60.684774 20.198445 53.308594 12.822266 46.731502 6.2451743 37.962739 2.9798431 28.861328 2.8671875 Z m -2.5 11.4355465 c -0.458222 0.01043 -0.917176 0.03062 -1.376953 0.0625 l 0.34375 4.921875 c 6.164409 -0.427425 11.845752 1.388721 15.949219 5.492188 4.007432 4.007432 5.828802 9.511108 5.515625 15.513672 l 4.925781 0.257812 C 52.093071 33.376263 49.851942 26.379286 44.765625 21.292969 39.882155 16.409499 33.234661 14.14631 26.361328 14.302734 Z M 13.121094 29.259766 c -2.541667 0 -4.6250002 2.07812 -4.6250002 4.625 v 19.75 c 0 2.546866 2.0833332 4.630859 4.6250002 4.630859 H 32.875 c 2.541667 0 4.625 -2.083993 4.625 -4.630859 v -19.75 c 0 -2.54688 -2.083333 -4.625 -4.625 -4.625 z M 16.375 37.140625 h 6.021484 v 6.017578 H 16.375 Z m 7.220703 0 h 6.025391 v 6.017578 H 23.595703 Z M 16.375 44.359375 h 6.021484 v 6.019531 h 1.199219 v -6.019531 h 6.025391 v 6.021484 H 16.375 Z"> <Path.RenderTransform> <MatrixTransform Matrix="0.75000002 0 0 0.75000002 0 0"/> </Path.RenderTransform> </Path> You can use that as a workaround until we fix it. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1879 | [NoesisGUI] C++ SDK | major | always | 2021-01-12 14:42 | 2021-05-04 11:16 |
Reporter: | jsantos | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.9 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.12 | ||
Target Version: | 3.0.12 | ||||
Platform: | Any | ||||
Summary: | Tooltip issues | ||||
Description: |
The sample DataBinding showcases a few issues we have in Noesis we tooltips: - ToolTip Mouse placement offset incorrectly specified in the Theme. - ToolTip not closed when moving mouse out of the target but over the ToolTip. - ToolTip reopened when clicking on the target. - DataBinding sample showing tooltips without the fade animation. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1971 | [NoesisGUI] Unreal | major | always | 2021-04-16 11:10 | 2021-05-04 02:44 |
Reporter: | sergey_sitnikov_ninjatheory | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.10 | ||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.12 | ||
Target Version: | 3.0.12 | ||||
Platform: | Any | ||||
Summary: | Vanilla TextBox is not rendered/working correctly in UE4 | ||||
Description: |
Hello guys, We are having issues with vanilla TextBox control in UE4. When it is imported to Unreal it is shown with a purple background (I guess, some expected component is missing) and it doesn't accept any input events (see attached screenshot). However, the same xaml works correctly in XamlPlayer v3.0.6 and v3.0.11 (I don't have v3.0.10 at the moment). Here is a simple xaml I used: <ContentControl xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" d:DesignWidth="1920" d:DesignHeight="1080"> <Grid x:Name="Grid"> <TextBox Width="100" Height="30" Text="HELLO TO YOU" /> </Grid> </ContentControl> Cheers, Sergey |
||||
Tags: | TextBox, UE4, xaml | ||||
Steps To Reproduce: |
1. Create a xaml file using provided example 2. Drag and drop that file into UE4 (4.26 in our case and Noesis plugin version is 3.0.10) 3. Add xaml to viewport and launch PIE 4. Observe the result 5. Drag and drop created xaml file into XamlPlayer 6. Observe the result |
||||
Additional Information: | |||||
Attached Files: |
TextBoxBug_UE4.jpg (4,109 bytes) 2021-04-16 11:10 https://www.noesisengine.com/bugs/file_download.php?file_id=1411&type=bug TextBoxRenderedCorrectly_XamlPlayer.jpg (5,249 bytes) 2021-04-16 11:10 https://www.noesisengine.com/bugs/file_download.php?file_id=1412&type=bug |
||||
Notes | |
(0007151)
jsantos 2021-04-16 11:13 (Last edited: 2021-04-16 11:14) |
It seems the style for the TextBox is missing (the minimal internal theme just use pink for everything to detect this). Is this using our default theme? Can you hellp here @sfernandez? |
(0007152)
sergey_sitnikov_ninjatheory 2021-04-16 11:15 |
No, this is without any themes at all. |
(0007153)
jsantos 2021-04-16 11:19 (Last edited: 2021-04-16 11:19) |
This is normal then, without theme, our controls display pink. https://www.noesisengine.com/docs/Gui.Core.StylingTutorial.html#default-styles We are doing this for performance reasons, to avoid loading a default theme that later is going to be overriden by each client. |
(0007154)
sergey_sitnikov_ninjatheory 2021-04-16 11:24 |
Ok, thank you. So we always need to redefine default scheme. Why does it work in XamlPlayer in that case? |
(0007155)
jsantos 2021-04-16 11:38 |
XamlPlayer is embedding our Noesis theme (https://www.noesisengine.com/docs/Gui.Core.ApplicationTutorial.html#noesis-theme) and setting it at launch time. You can do the same in unreal, the same theme is available at /Content/Theme and you can set it in settings. Please, let me know if you need more help with this. |
(0007156)
jsantos 2021-04-16 11:39 |
In Unity, we have a visual studio extension that setups a minimal projects with everything ready and our theme. I think we should have the same for unreal. |
(0007157)
sergey_sitnikov_ninjatheory 2021-04-16 11:58 |
Thank you for your help Jesus. We will look at those themes. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1816 | [NoesisGUI] Unity3D | minor | always | 2020-10-24 20:28 | 2021-05-04 02:43 |
Reporter: | Armitage1982 | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.0.6 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | WebGL | ||||
Summary: | In WebGL the Last Gallery CheckBox examples (Select All) throw MissingMethodException | ||||
Description: |
Using the Gallery Example in a Unity 2020.1.10f1 WebGL Build the Basic input => CheckBox => Hierarchical options => Select all checkbox throw this MissingMethodException : BUILD.framework.js.br:2 MissingMethodException: Constructor on type 'System.ComponentModel.NullableConverter' not found. at System.RuntimeType.CreateInstanceImpl (System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, System.Object[] args, System.Globalization.CultureInfo culture, System.Object[] activationAttributes, System.Threading.StackCrawlMark& stackMark) [0x00000] in <00000000000000000000000000000000>:0 (Filename: currently not available on il2cpp Line: -1) In the Edge Web Console. Behavior does not work as it should like in the Windows counterpart. |
||||
Tags: | |||||
Steps To Reproduce: |
Just build the Gallery Example from https://github.com/Noesis/Tutorials/tree/master/Samples/Gallery/Unity in WebGL with unity 2020.1.10f1 |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1808 | [NoesisGUI] C# SDK | feature | N/A | 2020-10-14 19:28 | 2021-05-04 02:43 |
Reporter: | ai_enabled | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.0.6 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Difference from WPF - TextBox TextChanged signature | ||||
Description: |
Hi guys, I've found a little API difference: WPF: TextBox.TextChanged event — TextChangedEventHandler / sender + TextChangedEventArgs NoesisGUI: TextBox.TextChanged event — RoutedEventHandler / sender + RoutedEventArgs |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1889 | [NoesisGUI] C# SDK | minor | always | 2021-01-18 20:45 | 2021-05-04 02:42 |
Reporter: | DavidYawCSpeed | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.0.9 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | MultiBinding's Binding list gets overwritten by list from XAML | ||||
Description: |
I have a subclass of MultiBinding, which sets a couple properties by default: It sets a converter, and it sets the first binding in the collection. Any bindings specified in XAML should be added to the list (this is what WPF does), but instead the entire list is replaced, and my default first binding is removed. There is a workaround for this, so this is 'minor' severity. |
||||
Tags: | |||||
Steps To Reproduce: |
public class FancyMultiBinding : MultiBinding { private static Logger logger = LogManager.GetCurrentClassLogger(); private static Binding CreateFirstBinding() { Binding bind = new Binding(); bind.RelativeSource = new RelativeSource(RelativeSourceMode.FindAncestor, typeof(Window), 1); bind.Path = new PropertyPath("Resources[FooBar]"); return bind; } public FancyMultiBinding() { // If this is specified in XAML, don't make the developer re-type // the converter and first binding every time. Apply them by default. this.Converter = new FancyMultiConverter(); this.Bindings.Add(CreateFirstBinding()); } } <TextBlock FontSize="40" Foreground="Pink"> <TextBlock.Text> <local:FancyMultiBinding ConverterParameter="TESTING"> <Binding Path="Width" RelativeSource="{RelativeSource FindAncestor, AncestorType={x:Type Window}}"/> <Binding Path="Height" RelativeSource="{RelativeSource FindAncestor, AncestorType={x:Type Window}}"/> </local:FancyMultiBinding> </TextBlock.Text> </TextBlock> When I set a breakpoint in FancyMultiConverter.Convert, the array 'values' has the Width and Height values, but not the string result of the FooBar resource. When I implement the same thing in WPF, the array of 'values' in the converter has all three binding results: The one applied in the constructor, plus the two specified in XAML. --------------------------------------------------------------------------------------------------------------- I do have a workaround for this, but it's not pretty. I apply the default first binding in the constructor, which works if it's the only binding, and in ProvideValue, I check if it's still there, and re-apply it if it was erased by the list in XAML. public class FancyMultiBinding : MultiBinding { private static Logger logger = LogManager.GetCurrentClassLogger(); private static Binding CreateFirstBinding() { Binding bind = new Binding(); bind.RelativeSource = new RelativeSource(RelativeSourceMode.FindAncestor, typeof(Window), 1); bind.Path = new PropertyPath("Resources[FooBar]"); return bind; } Binding defaultFirstBinding; public FancyMultiBinding() { // If this is specified in XAML, don't make the developer re-type // the converter and first binding every time. Apply them by default. this.Converter = new FancyMultiConverter(); defaultFirstBinding = CreateFirstBinding(); this.Bindings.Add(defaultFirstBinding); } public override object ProvideValue(IServiceProvider serviceProvider) { if (Bindings[0] != defaultFirstBinding) { Bindings.Insert(0, defaultFirstBinding); } return base.ProvideValue(serviceProvider); } } |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1896 | [NoesisGUI] C++ SDK | minor | always | 2021-01-20 17:28 | 2021-05-04 02:42 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.0.9 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Implement Close logic on XDisplay | ||||
Description: |
XDisplay does not implement Close() method and does not raise Closing and Close events when window is closed. Code can be translated from C# implementation of XDisplay. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1873 | [NoesisGUI] Unity3D | block | always | 2021-01-05 13:13 | 2021-05-04 02:42 |
Reporter: | ivan_b | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.0 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | TextBox/PasswordBox problem in UWP | ||||
Description: |
When building the Login sample of Noesis for UWP it does not work. The problem is that when I type something in the TextBox nothing is displayed, it remains blank. I have tested it with the 3.0.8 and the 2.2.4 version. My guess that it has something to do with text rendering because the input is recieved and processed by Noesis. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1942 | [NoesisGUI] C# SDK | tweak | always | 2021-03-16 00:47 | 2021-05-04 02:41 |
Reporter: | DavidYawCSpeed | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.0.10 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Change to XAML whitespace affects TextBlock.Run parsing | ||||
Description: |
Seen in XamlToy and on C# Windows. Whitespace inside the TextBlock.Inlines element results in an error. I'm listing this as "Tweak" severity because although an error is reported, it actually works properly. |
||||
Tags: | |||||
Steps To Reproduce: |
<TextBlock> <TextBlock.Inlines> <Run Text="A" /><Run Text="B" /><Run Text="C" /> </TextBlock.Inlines> </TextBlock> Result: Displayed text = "ABC". No errors. ---------------------------------------------------------------- <TextBlock> <TextBlock.Inlines> <Run Text="A" /> <Run Text="B" /> <Run Text="C" /> </TextBlock.Inlines> </TextBlock> Result: Displayed Text = "ABC". Error on the line that contains the last Run, "' ' is not a valid value for property Run." ---------------------------------------------------------------- <TextBlock> <TextBlock.Inlines> <Run Text="A" /><Run Text="B" /> <Run Text="C" /> </TextBlock.Inlines> </TextBlock> (There's a space between the second and third Run elements.) Result: Displayed Text = "ABC". Error on the line that contains the Runs, "' ' is not a valid value for property Run." |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1939 | [NoesisGUI] C# SDK | minor | always | 2021-03-15 17:55 | 2021-05-04 02:41 |
Reporter: | DavidYawCSpeed | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.0.10 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Windows | ||||
Summary: | Data Trigger in inline Window Style doesn't take effect | ||||
Description: | In the main window for my application, if I set a window style that includes a data trigger, the data trigger does not happen, and appears to not be processed. | ||||
Tags: | |||||
Steps To Reproduce: |
Test 1:<Window> <Window.Style> <Style TargetType="{x:Type Window}"> <Style.Triggers> <DataTrigger Binding="{Binding Path=Visibility, ElementName=ThatOtherTextBlock}" Value="Visible"> Result: No effect, no error messages printed. This is the main thing I want to do. Test 2: <Window.Style> <Style TargetType="{x:Type Window}"> <Setter Property="Background" Value="Yellow"/> Result: Background turns yellow. So I am setting the Style properly. Test 3: <Canvas> <Canvas.Style> <Style TargetType="{x:Type Canvas}"> <Style.Triggers> <DataTrigger Binding="{Binding Path=Visibility, ElementName=ThatOtherTextBlock}" Value="Visible"> Result: This works properly. So my data trigger (and the stuff inside of it, which I'm not showing here) is correct. Test 4: <Window.Style> <Style TargetType="{x:Type Window}"> <Style.Triggers> <DataTrigger Binding="{Binding Path=Visibility, ElementName=DoesNotExist_asdfasdf}" Value="Visible"> Result: No effect. No error messages printed, including no error message about being unable to bind to that element name. |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1949 | [NoesisGUI] Unity3D | minor | always | 2021-03-24 10:21 | 2021-05-04 02:41 |
Reporter: | Sybaris | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Foreground property is not passed down the hierarchy | ||||
Description: |
Create a menu with a couple of menu items below it. On the menu tag itself set Foreground="Magenta". All menu items should inherit this foreground color but they don't. Response from sfernandez: The foreground brush is specified in the style for the MenuItem in Noesis theme. It is strange because in Blend if you create a Menu with some menu items the Foreground is inherited from the Menu as you said. But if you select the MenuItem and click on "Format > Edit Style > Edit a Copy..." it creates a style that defines a setter for the Foreground property and it is not inheriting the foreground from the Menu anymore. We used those copies as references to create our theme styles. |
||||
Tags: | Unity | ||||
Steps To Reproduce: |
Create a menu with a couple of menu items below it. On the menu tag itself set Foreground="Magenta". All menu items should inherit this foreground color but they don't. |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1970 | [NoesisGUI] Unity3D | feature | always | 2021-04-15 15:42 | 2021-05-04 02:41 |
Reporter: | Faerdan | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.0.11 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | ContentControl is missing virtual OnContentChanged(object oldContent, object newContent) method. | ||||
Description: |
The following method is missing from ContentControl: protected virtural void OnContentChanged(object oldContent, object newContent); https://docs.microsoft.com/en-us/dotnet/api/system.windows.controls.contentcontrol.oncontentchanged?view=net-5.0 To work around this we have to add our own Content dependency property, to which we add a property changed callback, which is just a hack. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1967 | [NoesisGUI] C# SDK | crash | random | 2021-04-13 12:39 | 2021-05-04 02:41 |
Reporter: | ai_enabled | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.0.11 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Random crash related to ObservableCollection | ||||
Description: |
Hello, please check the attached crash dump. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
dotnet.exe.3452.dmp.7z (2,438,977 bytes) 2021-04-13 12:39 https://www.noesisengine.com/bugs/file_download.php?file_id=1408&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1991 | [NoesisGUI] C# SDK | minor | always | 2021-04-30 09:33 | 2021-05-04 02:40 |
Reporter: | KeldorKatarn | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.0.11 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | TreeViewItem.BringIntoView() does not work in default ItemContainer Style | ||||
Description: | The control does not correctly wrong the item into view. It seems it scrolls it into the area of the screen, but not of the actual control. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007199)
KeldorKatarn 2021-04-30 09:36 |
I THINK this might actually have to do with the expansion animation, maybe? |
(0007206)
sfernandez 2021-05-03 11:19 |
Yes, you are right, the problem is the expand animation. I have to check it but I guess this kind of style will fail to bring the item into view also in WPF. Anyway, our theme provides a non-animated TreeViewItem style too: <Style TargetType="TreeViewItem" BasedOn="{StaticResource {x:Type TreeViewItem}}"> <Setter Property="Template" Value="{StaticResource Template.TreeViewItem.NoAnim}"/> </Style> I tried it and bring into view works as expected that way. |
(0007210)
KeldorKatarn 2021-05-03 14:05 (Last edited: 2021-05-03 14:34) |
I found some other Themes to be working as well. Maybe they have a shorter animation. Yes I'd assume this fails in WPF too. I've had the problem of animations causing issues in this regards in other projects too. I guess it's a problem that can't really be resolved nicely. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1804 | [NoesisGUI] Unity3D | major | always | 2020-10-08 17:46 | 2021-05-04 02:40 |
Reporter: | bmello4688 | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | feedback | Product Version: | 3.0.6 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Windows | ||||
Summary: | Unable to view embedded user controls in xaml | ||||
Description: |
When referencing another user control in your xaml. Noesis does not display the embedded control. When using Databindings the application can crash Example <UserControl x:Class="Simity.Studio.UI.Editor.Views.MainView" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:v="clr-namespace:Simity.Studio.UI.Editor.Views" xmlns:vm="clr-namespace:Simity.Studio.UI.Editor.ViewModels" xmlns:dvm="clr-namespace:Simity.Studio.UI.Editor.ViewModels.Dialogs" xmlns:c="clr-namespace:Simity.Studio.UI.Editor.Views.Converters" mc:Ignorable="d" d:DesignHeight="450" d:DesignWidth="800"> <UserControl.Resources> <!--<DataTemplate DataType="{x:Type vm:RobotEditorViewModel}"> <v:RobotEditorView/> </DataTemplate> <DataTemplate DataType="{x:Type dvm:SelectNewOrExistingProjectViewModel}"> <v:SelectNewOrExistingProjectDialog/> </DataTemplate> <DataTemplate DataType="{x:Type dvm:ProgressDialogViewModel}"> <v:ProgressDialog/> </DataTemplate>--> <c:BoolToVisibilityConverter x:Key="BoolToVisibilityConverter"/> </UserControl.Resources> <Grid> <!--<UserControl Visibility="{Binding ShowDialog, Converter={StaticResource BoolToVisibilityConverter}}" Content="{Binding Dialog}"/> <UserControl Content="{Binding MainContent}"/>--> <v:SelectNewOrExistingProjectDialog/> <v:RobotEditorView/> </Grid> </UserControl> |
||||
Tags: | Unity | ||||
Steps To Reproduce: | Create a xaml that references a previously made user control | ||||
Additional Information: | |||||
Attached Files: |
Noesis.zip (1,451,641 bytes) 2020-10-08 18:08 https://www.noesisengine.com/bugs/file_download.php?file_id=1304&type=bug |
||||
Notes | |
(0006659)
bmello4688 2020-10-08 18:08 (Last edited: 2020-10-08 18:09) |
Here is an example project. Check out MainView.xaml. You can also uncomment the commented out stuff to really test it with a viewmodel first architecture. |
(0006697)
sfernandez 2020-10-20 12:42 |
Hi, I opened the project in Unity, imported NoesisGUI 3.0.6 unity package, and there are a lot of compiler errors due to missing code (Splat, ReactiveUI, System.Reactive). How are you including those assemblies in Unity so scripts can be compiled correctly? |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1890 | [NoesisGUI] Unity3D | crash | sometimes | 2021-01-19 09:02 | 2021-05-04 02:40 |
Reporter: | HakPak | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | feedback | Product Version: | 3.0.9 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Windows | ||||
Summary: | Seemingly random Crashes in editor and build | ||||
Description: |
According to the error.log, the crash is caused by an access violation. Stacktrace: 0x00007FFD219897D6 (Noesis) KeyEventArgs_IsToggled_get 0x00007FFD21986D4D (Noesis) DragEventArgs_GetAllowedEffectsHelper 0x00007FFD219A0181 (Noesis) DataObjectEventArgs_CancelCommand 0x00007FFD2199FFA7 (Noesis) DataObjectEventArgs_CancelCommand 0x00007FFD21985DBA (Noesis) DragEventArgs_GetAllowedEffectsHelper 0x00007FFD21A08E93 (Noesis) TouchEventArgs_GetTouchDeviceId 0x00007FFD21A010A0 (Noesis) TouchEventArgs_GetTouchDeviceId 0x00007FFD21A06084 (Noesis) TouchEventArgs_GetTouchDeviceId 0x00007FFD21AEA844 (Noesis) KeyEventArgs_KeyStates_get 0x00007FFD21AB2E2D (Noesis) KeyEventArgs_KeyStates_get 0x00007FFD21AB3502 (Noesis) KeyEventArgs_KeyStates_get 0x00007FFD21AB1E5C (Noesis) KeyEventArgs_KeyStates_get 0x00007FFD21A062AE (Noesis) TouchEventArgs_GetTouchDeviceId 0x00007FFD21AEA844 (Noesis) KeyEventArgs_KeyStates_get 0x00007FFD21AF41B1 (Noesis) DataObjectEventArgs_IsDragDrop_get 0x00007FFD21AF3F8B (Noesis) DataObjectEventArgs_IsDragDrop_get 0x00007FFD21AF2610 (Noesis) ContentControl_Content_get 0x00007FFD21AF24FA (Noesis) ContentControl_Content_get 0x00000285A03C7FC3 (Mono JIT Code) (wrapper managed-to-native) Noesis.View:Noesis_View_Update (System.Runtime.InteropServices.HandleRef,double) |
||||
Tags: | |||||
Steps To Reproduce: | Nothing specific, the crash seems to happen when my ViewModels update their data. | ||||
Additional Information: | |||||
Attached Files: |
Crash_2021-01-19_074457198.rar (142,847 bytes) 2021-01-19 09:02 https://www.noesisengine.com/bugs/file_download.php?file_id=1363&type=bug Crash_2021-01-19_110826344.rar (89,890 bytes) 2021-01-19 12:12 https://www.noesisengine.com/bugs/file_download.php?file_id=1364&type=bug Crash_2021-01-20_180914970.rar (1,558,340 bytes) 2021-01-20 19:24 https://www.noesisengine.com/bugs/file_download.php?file_id=1366&type=bug |
||||
Notes | |
(0006960)
sfernandez 2021-01-19 10:40 |
Hello, as it seems this cannot be reproduced in a deterministic way and I need a bit more information to understand the scenario where this is happening, I've built a new debug library with some extra logs: https://drive.google.com/file/d/147oOtAjWjfp-rENOdz069aRBx9TBc6yj/view?usp=sharing Could you please try this library in your project? I also need you to set Tools > NoesisGUI > Settings... > Log Verbosity = "Bindings". Please send the dump and logs again when it crashes again. Thanks for your help. |
(0006961)
HakPak 2021-01-19 12:12 |
Hello sfernandez, after including the library and changing the setting, the game crashes immediately after the unity splash screen, unity also crashed when I tried to play in editor. |
(0006968)
sfernandez 2021-01-20 18:25 |
I've built a new library with more logs to narrow the source of the problem, could you please try again with Log Verbosity still set to "Bindings": https://drive.google.com/file/d/17vcW5x1Vm32j_fe1ApUjT24OfagChC3-/view?usp=sharing |
(0006969)
HakPak 2021-01-20 19:24 |
With the new library the game was able to start again and the error did occur, albeit much later than usual. I presume it has to be some difference in the timing, because the log verbosity caused a lot of slowdowns. |
(0007002)
sfernandez 2021-01-27 18:42 |
Is it possible that you are changing the UI or the ViewModel bound to the UI from a different thread than Unity Main? I say it because in the logs I see a message printed from the ThreadPoolWorkQueue: "Starting turn 65, it's shion isu komugi's turn.", and the crash is hard to explain without threading issues. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1950 | [NoesisGUI] C++ SDK | block | always | 2021-03-26 15:15 | 2021-05-04 02:36 |
Reporter: | Tadinu | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.11 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.12 | ||
Target Version: | 3.0.12 | ||||
Platform: | Linux | ||||
Summary: | Compiling error on Linux as inheriting from UNoesisInstance | ||||
Description: |
I bumped into this compiling error as creating a UUIWidget class, inheriting from UNoesisInstance. By including `NoesisInstance.h`, it complains as follows: [2/28] Compile PCH.NoesisRuntime.h [5/28] Compile Module.UI.gen.cpp [6/28] Compile Module.UI.cpp [7/28] Compile UIModule.cpp [4/28] Compile PCH.NoesisBlueprint.h [3/28] Compile PCH.NoesisEditor.h In file included from UEProject/Plugins/UI/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/UI/Module.UI.cpp:3: In file included from UEProject/Plugins/UI/Source/UI/Private/UIWidget.cpp:1: In file included from UEProject/Plugins/UI/Source/UI/Public/UIWidget.h:6: In file included from UEProject/Plugins/NoesisGUI/Source/NoesisRuntime/Classes/NoesisInstance.h:12: In file included from Runtime/UMG/Public/Blueprint/UserWidget.h:15: UnrealEngine/Engine/Source/Runtime/UMG/Public/Components/Widget.h:180:1: error: declaration shadows a variable in namespace 'Noesis' [-Werror,-Wshadow] ENUM_CLASS_FLAGS(EWidgetDesignFlags); ^ UNREAL/UnrealEngine/Engine/Source/Runtime/Core/Public/Misc/EnumClassFlags.h:14:42: note: expanded from macro 'ENUM_CLASS_FLAGS' inline constexpr Enum operator~ (Enum E) { return (Enum)~(__underlying_type(Enum))E; } ^ UEProject/Plugins/UI/ThirdParty/NoesisSDK/Include/NsCore/Math.h:38:13: note: previous declaration is here const float E = 2.71828182845904523536028747135266249775724709369996f; |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007160)
hcpizzi 2021-04-19 14:18 |
Hi, This happens when you have an "using namespace Noesis;" because of a conflict between our float E and some macro expansion variables in UE4. Is that the case? |
(0007161)
Tadinu 2021-04-20 12:42 |
Oh I suppose so, probably I copied it from some tutorial sample, I then removed all "using namespace Noesis;" in the source. It compiles fine now. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1944 | [NoesisGUI] C++ SDK | minor | always | 2021-03-18 02:11 | 2021-05-04 02:29 |
Reporter: | Tadinu | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.11 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.12 | ||
Target Version: | 3.0.12 | ||||
Platform: | Linux | ||||
Summary: | Compiling error on Linux | ||||
Description: |
Hi Noesis, I also hit this error as compiling in Linux, but it is from NoesisSDK source: In file included from AUEProject/Plugins/NoesisGUI/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/NoesisEditor/PCH.NoesisEditor.h:280: In file included from AUEProject/Plugins/NoesisGUI/Source/NoesisEditor/Private/NoesisEditorPrivatePCH.h:117: In file included from AUEProject/Plugins/NoesisGUI/Source/NoesisRuntime/Public/NoesisRuntime.h:9: In file included from AUEProject/Plugins/NoesisGUI/Source/Noesis/NoesisSDK.h:14: In file included from AUEProject/Plugins/NoesisGUI/Source/Noesis/NoesisSDK/Include/NoesisPCH.h:14: AUEProject/Plugins/NoesisGUI/Source/Noesis/NoesisSDK/Include/NsCore/TypePropertyUtil.h:35:28: error: member access into incomplete type 'const Noesis::TypeProperty' return Boxing::Box(prop->template Get<T>(ptr)); ^ AUEProject/Plugins/NoesisGUI/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/NoesisEditor/PCH.NoesisEditor.h:280: In file included from AUEProject/KawasakiSim/Plugins/NoesisGUI/Source/NoesisEditor/Private/NoesisEditorPrivatePCH.h:117: In file included from AUEProject/Plugins/NoesisGUI/Source/NoesisRuntime/Public/NoesisRuntime.h:9: In file included from AUEProject/Plugins/NoesisGUI/Source/Noesis/NoesisSDK.h:14: In file included from AUEProject/Plugins/NoesisGUI/Source/Noesis/NoesisSDK/Include/NoesisPCH.h:14: AUEProject/Plugins/NoesisGUI/Source/Noesis/NoesisSDK/Include/NsCore/TypePropertyUtil.h:91:9: error: member access into incomplete type 'const Noesis::TypeProperty' prop->template Set<T>(ptr, DynamicCast<T>(value)); ^ AUEProject/Plugins/NoesisGUI/Source/Noesis/NoesisSDK/Include/NsCore/TypeClass.h:22:7: note: forward declaration of 'Noesis::TypeProperty' class TypeProperty; So I would think an inclusion of <NsCore/TypeProperty.h> is required in NoesisSDK/Include/NsCore/TypePropertyUtil.h |
||||
Tags: | C++, UE4 | ||||
Steps To Reproduce: |
Setup UE4.26.1 Setup a UE project with 2 plugins, say A and NoesisGUI Configure A.uplugin, A.Build.cs,AEditor.Build.cs such as NoesisGUI as plugin dependency with NoesisRuntime, NoesisEditor as module dependencies Put NoesisSDK folder under NoesisGUI/Source/Noesis Compile the project by UE |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1997 | [NoesisGUI] C++ SDK | minor | N/A | 2021-05-02 15:35 | 2021-05-03 19:18 |
Reporter: | steveh | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.9 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.12 | ||
Target Version: | 3.0.12 | ||||
Platform: | Any | ||||
Summary: | Const safety incorrect for ItemColelction::IndexOf | ||||
Description: |
Hi guys, the parameter for ItemCollection::IndexOf are not const: int ItemCollection::IndexOf(BaseComponent* item) const (and likewise BaseCollection::IndexOfComponent etc). This prevents me from doing the following: /*static*/ void MyCustomComponent::OnPropertyChanged(DependencyObject *pObject, const DependencyPropertyChangedEventArgs &rArgs) { SelfClass *pSelf = DynamicCast<SelfClass*>(pObject); if (nullptr != pSelf) { ItemCollection *pItems = GetItemCollection(); if (nullptr != pItems) { s32 nOldIdx = -1; s32 nNewIdx = -1; if (rArgs.oldValue != nullptr) { nOldIdx = pItems->IndexOf(reinterpret_cast<const BaseComponent*>(rArgs.oldValue)); // Errors <-- cannot remove const } } } } I can use a const_cast for now, but I don't see any reason why the parameter can't be const as it should only be checking to see if the address of the property is in the collection, it shouldn't need to mutate the object. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1978 | [NoesisGUI] C++ SDK | minor | always | 2021-04-23 16:06 | 2021-05-03 15:32 |
Reporter: | jsantos | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.11 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.12 | ||
Target Version: | 3.0.12 | ||||
Platform: | Any | ||||
Summary: | XamlPlayer crashing when dropping App.xaml files | ||||
Description: | XamlPlayer should ignore App.xaml instead of crashing. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1953 | [NoesisGUI] C++ SDK | trivial | always | 2021-03-26 19:33 | 2021-05-03 15:17 |
Reporter: | steveh | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.9 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.12 | ||
Target Version: | 3.0.12 | ||||
Platform: | Any | ||||
Summary: | Compile error in Error.h when running static analysis | ||||
Description: |
Hi guys, just a simple typo caused by some compiler options when running static analysis: #ifndef NS_CHECK #ifdef _PREFAST_ #define NS_CHECK(expr, ...) __analysis_assume(!!(expr) #elif defined(__clang_analyzer__) #include <assert.h> #define NS_CHECK(expr, ...) assert(expr) #elif defined(NS_PROFILE) #define NS_CHECK(expr, ...) \ NS_MACRO_BEGIN \ if (NS_UNLIKELY(!(expr))) \ { \ Noesis::InvokeErrorHandler(__FILE__, __LINE__, false, __VA_ARGS__); \ } \ NS_MACRO_END #else #define NS_CHECK(...) NS_UNUSED(__VA_ARGS__) #endif #endif Specifically this bit here: #define NS_CHECK(expr, ...) __analysis_assume(!!(expr) It's missing a closing parenthesis. This will only cause an error if _PREFAST_ is defined which is only defined during static analysis. Adding the missing closing parenthesis fixed the compile error. |
||||
Tags: | |||||
Steps To Reproduce: |
1. Run static analysis 2. You should get a compile error here about unexpected EOF inline BaseRefCounted::~BaseRefCounted() { // Note that 1 is valid when the object lives is the stack or is being manually destroyed NS_CHECK(mRefCount == 1 || mRefCount == 0, "Unexpected RefCount(%d) deleting object at %p", (int32_t)mRefCount, this); } Cheers, -Steven |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007114)
jsantos 2021-03-29 18:33 |
Thanks for reporting this Steve. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1980 | [NoesisGUI] C++ SDK | tweak | always | 2021-04-23 20:47 | 2021-04-30 18:42 |
Reporter: | ext.mnawrot | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.0.11 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1 | ||||
Platform: | Any | ||||
Summary: | ScrollViewer KeyUp / KeyDown event is not triggered by the xbox pad right thumbstick | ||||
Description: |
I was testing gamepad events with the following listeners: [code] this->KeyDown() += [](BaseComponent* /* sender */, const KeyEventArgs& /* args */) { std::cout << "key down" << std::endl; }; this->KeyUp() += [](BaseComponent* /* sender */, const KeyEventArgs& /* args */) { std::cout << "key up" << std::endl; }; [/code] Most of the game pad button were captured except the right thumbstick and the left / right triggers. However the ScrollViewer is using them correctly to scroll the content. According the UWP spec those events should be included (I know WPF ~= UWP) as following https://docs.microsoft.com/en-us/uwp/api/windows.ui.xaml.input.keyroutedeventargs?view=winrt-19041#remarks |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007169)
jsantos 2021-04-26 13:45 |
Hi! Thanks for the report. Could you please describe how important is this feature for you? |
(0007170)
ext.mnawrot 2021-04-26 17:37 |
It's not urgent but currently we had to write a workaround using the `scrollChanged` event which is shared by all sources of scrolling. We wanted to alter the behavior of right joystick only to add scroll acceleration. At this point we don't see an easy way to do that. |
(0007180)
jsantos 2021-04-28 11:20 |
@sfernandez, I wonder if doing the same as the ScrollViewer is doing would be a better workaround? How are Scroll and HScroll events being propagated to controls? |
(0007185)
sfernandez 2021-04-28 14:05 |
Scroll and HScroll functions are generating MouseWheel events. ScrollViewer overrides the MouseWheel event to scroll. The good thing about Scroll/HScroll is that it uses a float as scroll increment so you can specify the speed of the scrolling. |
(0007187)
jsantos 2021-04-29 10:39 (Last edited: 2021-04-29 10:40) |
Wouldn't it be a better workaround overriding the MouseWheel even then? |
(0007194)
ext.mnawrot 2021-04-29 19:39 |
I tried the MouseWheel event but it seem not be triggered by the scrollViewer when I used the right joystick |
(0007195)
sfernandez 2021-04-29 19:56 (Last edited: 2021-04-29 20:22) |
Is it possible that your integration layer is not sending the Scroll/ScrollH events to the IView when the right thumbstick is moved? |
(0007201)
ext.mnawrot 2021-04-30 18:42 |
then I guess the scroll wouldn't work at all for the right joystick... Here is how integrated with the IView: ``` void SetupDisplay(NoesisApp::Display* display, NoesisApp::RenderContext* ctx, Noesis::Ptr<Noesis::IView> view) { // Gather window events and send to view display->SizeChanged() += [view, ctx](NoesisApp::Display*, uint32_t width, uint32_t height) { view->SetSize(width, height); ctx->Resize(); }; display->Activated() += [view](NoesisApp::Display*) { view->Activate(); }; display->Deactivated() += [view](NoesisApp::Display*) { view->Deactivate(); }; display->MouseButtonUp() += [view](NoesisApp::Display*, int x, int y, Noesis::MouseButton b) { view->MouseButtonUp(x, y, b); }; display->MouseButtonDown() += [view](NoesisApp::Display*, int x, int y, Noesis::MouseButton b) { view->MouseButtonDown(x, y, b); }; display->MouseMove() += [view](NoesisApp::Display*, int x, int y) { view->MouseMove(x, y); }; display->MouseDoubleClick() += [view](NoesisApp::Display*, int x, int y, Noesis::MouseButton b) { view->MouseDoubleClick(x, y, b); }; display->MouseWheel() += [view](NoesisApp::Display*, int x, int y, int delta) { view->MouseWheel(x, y, delta); }; display->Scroll() += [view](NoesisApp::Display*, float delta) { view->Scroll(delta); }; display->HScroll() += [view](NoesisApp::Display*, float delta) { view->HScroll(delta); }; display->TouchUp() += [view](NoesisApp::Display*, int x, int y, uint64_t id) { view->TouchUp(x, y, id); }; display->TouchDown() += [view](NoesisApp::Display*, int x, int y, uint64_t id) { view->TouchDown(x, y, id); }; display->TouchMove() += [view](NoesisApp::Display*, int x, int y, uint64_t id) { view->TouchMove(x, y, id); }; display->KeyDown() += [view](NoesisApp::Display*, Noesis::Key key) { view->KeyDown(key); }; display->KeyUp() += [view](NoesisApp::Display*, Noesis::Key key) { view->KeyUp(key); }; display->Char() += [view](NoesisApp::Display*, uint32_t c) { view->Char(c); }; } ``` |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1994 | [NoesisGUI] Unity3D | major | always | 2021-04-30 12:18 | 2021-04-30 16:46 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.11 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.12 | ||
Target Version: | 3.0.12 | ||||
Platform: | Any | ||||
Summary: | DataTemplate xaml reports duplicate name elements | ||||
Description: |
When loading a xaml that has a template (DataTemplate/ControlTemplate) as root<DataTemplate xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="clr-namespace:Testing" DataType="{x:Type local:SomeVM}"> <local:SomeView/> </DataTemplate> if the contained UserControl has a named element inside it will throw an error like: Cannot register duplicate name 'something' in this namescope. when using that data template. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1993 | [NoesisGUI] C# SDK | feature | N/A | 2021-04-30 11:30 | 2021-04-30 11:44 |
Reporter: | KeldorKatarn | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.0.11 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Custom FocusScope to allow proper FocusScope use | ||||
Description: |
The FocusScope as WPF defines it is just a temporary scope that is used for Menus and ToolBars so the commands they trigger get called in the original scope. That unfortunately means that if you use a FocusScope anywhere else, you break RoutedCommands. This article discusses a custom attached property that would allow a use of a FocusScope as people intuitively think about it. See following article for a discussion and example implementation. https://www.codeproject.com/Articles/38507/Using-the-WPF-FocusScope |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1979 | [NoesisGUI] C++ SDK | major | always | 2021-04-23 18:09 | 2021-04-29 11:11 |
Reporter: | Susanna.Rowland | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.11 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.12 | ||
Target Version: | 3.0.12 | ||||
Platform: | Any | ||||
Summary: | TabControl focus inconsistent with WPF standard | ||||
Description: |
In WPF, when a TabControl is focused, the focus is passed to the first focusable child element in the tab item, by default. With Noesis, the tab itself is visibly gaining focus, not the first child. This occurs both when you use the mouse or keyboard controls (ctrl-tab). In addition, use of FocusManager.FocusedElement as a workaround appears to be being ignored/overridden. |
||||
Tags: | C++, Focus, TabControl | ||||
Steps To Reproduce: |
Launch Noesis with the attached XAML (based of the Noesis Commands sample). Observe that the selected tab contents does not receive focus on start. Switch tabs using the keyboard shortcuts (ctrl+tab & ctrl+shift+tab) and observe the tab holds focus and does not pass it to the first child element. Switch tabs using the mouse and again observe the tab holds focus and does not pass it to the first child element. |
||||
Additional Information: | |||||
Attached Files: |
MainWindow.xaml (2,976 bytes) 2021-04-23 18:09 https://www.noesisengine.com/bugs/file_download.php?file_id=1415&type=bug |
||||
Notes | |
(0007189)
sfernandez 2021-04-29 11:11 |
We fixed the differences in behavior with WPF when using mouse and keyboard/gamepad to move the focus. I'm going to close this ticket leaving the FocusManager issue for ticket 0001982. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1986 | [NoesisGUI] C# SDK | major | always | 2021-04-27 18:20 | 2021-04-29 10:38 |
Reporter: | Susanna.Rowland | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Path.TrimStart/TrimEnd non functional in blend | ||||
Description: |
Attempting to use the radial progress bar from your examples and while it works in C++, in C# it always shows 100% fill which is problematic for our designer. I have the latest Noesis.GUI.Extensions installed via NuGet. |
||||
Tags: | C#, Noesis.GUI.Extensions | ||||
Steps To Reproduce: |
Run the Gallery-blend project and select "Status and info" -> "Progress bar". Scroll down to see the "custom style". Observe that the left most progress bar does not so any visible change despite the values changing due to the animation |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007177)
jsantos 2021-04-28 11:01 |
Yes, this is a known issue. Many of the Noesis extensions listed here https://www.noesisengine.com/docs/Gui.Core.ExtensionsTutorial.html are not implemented in WPF/Blend. Not sure if all of them can be implemented. If this is very critical for your development we can investigate how to bring Path Trimming to Blend. Long term solution for this: we are working in our own editor, similar to Blend, but created with Noesis. |
(0007181)
Susanna.Rowland 2021-04-28 12:13 |
It isn't currently critical for us, although it would be useful. Can I ask what the ETA is on your editor as this will have an impact on how we plan our workflow going forwards? Also, it would be very helpful if you were to add notes in the documentation you mentioned, to identify which components are known to be non functional in WPF/Blend, as our designer lost a significant amount of time attempting to work out what they had done incorrectly before we realised that this was an issue with the extension itself. |
(0007186)
jsantos 2021-04-29 10:37 (Last edited: 2021-04-29 10:38) |
There is no ETA for the editor right now, it is a long-term milestone (not happening this year or next one). Sorry about the problem with your designer. We will improve the documentation. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1946 | [NoesisGUI] C# SDK | major | always | 2021-03-19 12:35 | 2021-04-29 10:26 |
Reporter: | ai_enabled | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.9 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.12 | ||
Target Version: | 3.0.12 | ||||
Platform: | Any | ||||
Summary: | RepeatButton commits extra command when pressed repeatedly | ||||
Description: |
Hi guys, If the user clicks on the button too often, it often invokes the Command two times per single frame. I've tried setting high Delay but the issue persisted so it seems to be not related. It's like it's listening to the double click event now. Really odd. Regards! |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007090)
ai_enabled 2021-03-19 15:54 |
Actually, there is a more serious issue. Very often the click is registered two times in the row. There were no changes on our side and we've noticed the issue only today, using 3.0.9 and didn't test it thoroughly. |
(0007091)
ai_enabled 2021-03-19 16:11 |
Were there any input-related changes lately? |
(0007092)
ai_enabled 2021-03-19 17:08 (Last edited: 2021-03-19 17:08) |
After further investigation, it seems to be related to Noesis.MouseDoubleClick operating now differently. (I've commented it out and cannot reproduce the issue anymore) |
(0007093)
ai_enabled 2021-03-19 17:14 (Last edited: 2021-03-19 17:15) |
Reworked now our input processing code to match how NoesisGUI operates in Unity (to call either MouseDoubleClick or MouseButtonDown, previously we've called MouseDoubleClick before MouseButtonDown in the case of double click). The issue seems to be gone, will keep you updated! |
(0007094)
ai_enabled 2021-03-19 21:25 |
Yes, it was that. Using the input processing code similar to one from Unity plugin, resolved it completely. Please close this issue. |
(0007095)
jsantos 2021-03-20 13:16 (Last edited: 2021-03-20 13:16) |
We expect the following events when double click happens:MouseButtonDown <-- first click MouseButtonUp MouseDoubleClick <-- second click MouseButtonUp This is legacy behavior from Win32 API and risky to change but we should definitely document this properly because it is not the first time it is source of confusion. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1988 | [NoesisGUI] Unity3D | minor | have not tried | 2021-04-28 11:33 | 2021-04-28 14:10 |
Reporter: | jsantos | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.11 | ||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.12 | ||
Target Version: | 3.0.12 | ||||
Platform: | Any | ||||
Summary: | Improve Visual Studio extension to hide /obj/ folder from root | ||||
Description: |
https://www.noesisengine.com/forums/posting.php?mode=reply&f=3&t=2279#pr12564Yes my project layout is basically exactly the same. I still need to manually edit the Blend project file though since VisualStudio has no UI for changing the /obj/ folder location, you can only change the /bin folder. I don't want the /obj to show up at my Unity project root, I want that stuff to end up in a /Blend subfolder. That's why I need to hand edit the project file. Not sure if your template has that already done, it's basically the <BaseIntermediateOutputPath> tag. I think there's also a feature request for the VS team to have a UI for changing this. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1985 | [NoesisGUI] Unity3D | major | always | 2021-04-27 12:50 | 2021-04-28 13:59 |
Reporter: | easylaser | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.11 | ||
Product Build: | Resolution: | reopened | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.12 | ||
Target Version: | 3.0.12 | ||||
Platform: | Any | ||||
Summary: | noesis:Xaml.Dependencies are not working | ||||
Description: |
Hi, None of the XAMLs added with noesis:Xaml.Dependencies are shown in the inspector. For example: <noesis:Xaml.Dependencies> <noesis:Dependency Source="Assets/InirectRef.xaml"/> </noesis:Xaml.Dependencies> |
||||
Tags: | |||||
Steps To Reproduce: |
Create a new project and add Noesis 3.0.11 Put the attached files in the Assets folder. Open Base.asset and check dependencies. |
||||
Additional Information: | |||||
Attached Files: |
Base.cs (258 bytes) 2021-04-27 12:50 https://www.noesisengine.com/bugs/file_download.php?file_id=1416&type=bug BaseVM.cs (841 bytes) 2021-04-27 12:50 https://www.noesisengine.com/bugs/file_download.php?file_id=1417&type=bug DirectRef.cs (208 bytes) 2021-04-27 12:50 https://www.noesisengine.com/bugs/file_download.php?file_id=1418&type=bug IndirectRef.cs (214 bytes) 2021-04-27 12:50 https://www.noesisengine.com/bugs/file_download.php?file_id=1419&type=bug Base.xaml (1,106 bytes) 2021-04-27 12:50 https://www.noesisengine.com/bugs/file_download.php?file_id=1420&type=bug DirectRef.xaml (720 bytes) 2021-04-27 12:50 https://www.noesisengine.com/bugs/file_download.php?file_id=1421&type=bug IndirectRef.xaml (724 bytes) 2021-04-27 12:50 https://www.noesisengine.com/bugs/file_download.php?file_id=1422&type=bug |
||||
Notes | |
(0007173)
sfernandez 2021-04-27 21:10 (Last edited: 2021-04-27 21:10) |
The dependency uri should be relative or absolute (starting with a '/'). In this example it should be:<noesis:Xaml.Dependencies> <noesis:Dependency Source="IndirectRef.xaml"/> </noesis:Xaml.Dependencies> or: <noesis:Xaml.Dependencies> <noesis:Dependency Source="/Assets/IndirectRef.xaml"/> </noesis:Xaml.Dependencies> I tried both and they work as expected. |
(0007175)
easylaser 2021-04-28 09:33 |
Sorry to bother. I used the same Uri as in LoadComponent. I couldn't imagine that they should differ... |
(0007176)
sfernandez 2021-04-28 10:15 |
Don't worry, we improved the documentation of that extension to make it clear how to specify the URI. Thanks. |
(0007179)
jsantos 2021-04-28 11:15 |
I don't think fixing the documentation is enough. We should emit a warning or error in the console. I am reopening this. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1983 | [NoesisGUI] Unity3D | major | always | 2021-04-27 00:56 | 2021-04-27 20:47 |
Reporter: | KeldorKatarn | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.11 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.12 | ||
Target Version: | 3.0.12 | ||||
Platform: | Any | ||||
Summary: | Keyboard class is missing the ClearFocus() method | ||||
Description: | The Keyboard class is missing the ClearFocus() method | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1973 | [NoesisGUI] Unity3D | block | always | 2021-04-19 10:36 | 2021-04-21 17:42 |
Reporter: | easylaser | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.11 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.12 | ||
Target Version: | 3.0.12 | ||||
Platform: | Any | ||||
Summary: | GridView.Column is frosen | ||||
Description: |
I have a ListView with a GridView that have dynamic number of Columns. I'm defining the columns in code: Code: Select all var viewColumn = new GridViewColumn() { Header = col.ToString(), Width = 100 }; gv.Columns.Add(viewColumn); The Columns are added in OnLoaded and updated when the data changes This works pretty well in Noesis 2, but in Noesis 3 the Columns collection is frozen. https://www.noesisengine.com/forums/viewtopic.php?f=3&t=2265 |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1974 | [NoesisGUI] Unity3D | feature | N/A | 2021-04-20 16:50 | 2021-04-21 17:05 |
Reporter: | easylaser | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.11 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.12 | ||
Target Version: | 3.0.12 | ||||
Platform: | Any | ||||
Summary: | Need a way to check if an object is 'grabbed' by Noesis | ||||
Description: |
Hi, During my investigation of our memory leaks, I needed a way to check if an object is 'grabbed' by Noesis I added the following code: namespace Noesis { internal partial class Extend { public static bool IsGrabbed(object o) { lock(_extends) return _extends.Any(x => Object.ReferenceEquals(x.Value.instance, o)); } } } Is it possible to have this included in the 'official' code base? |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007162)
sfernandez 2021-04-21 17:03 |
Yes, we can add that function to our code, will do it for next release. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1964 | [NoesisGUI] Unity3D | crash | always | 2021-04-10 17:24 | 2021-04-19 21:00 |
Reporter: | KeldorKatarn | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.11 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.12 | ||
Target Version: | 3.0.12 | ||||
Platform: | Any | ||||
Summary: | Crash when calling LoadXaml(true) | ||||
Description: | Calling LoadXaml(true) on a NoesisView causes a crash of the Unity Editor | ||||
Tags: | |||||
Steps To Reproduce: |
- Unity Version 2019.4.9f1 - Attach NoesisView to main camera. - Add monobehavior to main camera which calls this.noesisView.LoadXaml(true); on a reference to that NoesisView - The editor crashes. Unity crash report files attached. |
||||
Additional Information: | |||||
Attached Files: |
crash.dmp (1,513,235 bytes) 2021-04-10 17:24 https://www.noesisengine.com/bugs/file_download.php?file_id=1405&type=bug Editor.log (808,069 bytes) 2021-04-10 17:24 https://www.noesisengine.com/bugs/file_download.php?file_id=1406&type=bug error.log (126,472 bytes) 2021-04-10 17:24 https://www.noesisengine.com/bugs/file_download.php?file_id=1407&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1952 | [NoesisGUI] Unreal | block | always | 2021-03-26 15:34 | 2021-04-19 19:05 |
Reporter: | Tadinu | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.11 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.12 | ||
Target Version: | 3.0.12 | ||||
Platform: | Linux | ||||
Summary: | libNoesis.so installation to package on Linux | ||||
Description: |
Hi Noesis, So I have created a PR here adding libNoesis.so as Runtime dependency to the target installation path, so the parent project's executable program could run NoesisGUI after being packaged. https://github.com/Noesis/UE4Plugin/pull/24 Could you have a look then? Thanks. |
||||
Tags: | C++, UE4 | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007111)
jsantos 2021-03-26 15:37 |
Yes, thanks for all these reports! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1960 | [NoesisGUI] Unreal | minor | have not tried | 2021-04-08 14:14 | 2021-04-19 12:03 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.11 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.12 | ||
Target Version: | 3.0.12 | ||||
Platform: | Any | ||||
Summary: | TArray inside base class not found | ||||
Description: |
At some point the code does the following:UNoesisFunctionLibrary::NotifyArrayChanged(ViewModel, TEXT("SomeArray")); This only works if the property "SomeArray" is directly defined in the ViewModel class. If the property is defined in a base class then it logs the following error: > LogNoesis: Warning: Couldn't resolve property DebugViewModel::SomeArray And the view does not get updated, however it updates when I edit the xaml file and reload it inside UE4. I receive the same log message when declaring a simple int property inside the parent class, however the view updates correctly. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1968 | [NoesisGUI] Unreal | crash | always | 2021-04-13 14:35 | 2021-04-15 12:52 |
Reporter: | sergey_sitnikov_ninjatheory | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.10 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.12 | ||
Target Version: | 3.0.12 | ||||
Platform: | Any | ||||
Summary: | Crash in Noesis.dll on XamlView->SetSize when using ScrollViewer with the name PART_ContentHost in TextBox template | ||||
Description: |
Hello guys, I found out that UE4 crashes in UNoesisInstance::Update trying to call XamlView->SetSize(Width, Height) when XAML uses TextBox template with a ScrollViewer that has a name PART_ContentHost. Please let me know if you need more information on how to reproduce the issue. Cheers, Sergey |
||||
Tags: | C++, TextBox, UE4, xaml | ||||
Steps To Reproduce: |
1. Define a new textbox style <Style x:Key="TextBox_Test" TargetType="{x:Type TextBox}"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type TextBox}"> <ScrollViewer x:Name="PART_ContentHost" Focusable="false" HorizontalScrollBarVisibility="Hidden" VerticalScrollBarVisibility="Hidden"/> </ControlTemplate> </Setter.Value> </Setter> </Style> 2. Use that style for the TextBox <TextBox Style="{StaticResource TextBox_Test}" Text="HELLO"/> 3. Reimport xaml in UE4 4. Observe crash |
||||
Additional Information: | |||||
Attached Files: |
UE4Minidump.dmp (1,199,952 bytes) 2021-04-15 11:39 https://www.noesisengine.com/bugs/file_download.php?file_id=1409&type=bug Gym_Text.xaml (956 bytes) 2021-04-15 11:39 https://www.noesisengine.com/bugs/file_download.php?file_id=1410&type=bug |
||||
Notes | |
(0007148)
sfernandez 2021-04-14 20:14 |
Hi Sergey, I'm not able to reproduce the crash with 3.0.10 plugin, it reimports fine. Where are you defining the style, in the same xaml where the TextBox uses it? Could you please collect a minidump of the crash so we can see where is coming from? |
(0007149)
sergey_sitnikov_ninjatheory 2021-04-15 11:39 |
Hi Sergio, I have prepared a simple xaml that crashes 100% for me on 3.0.10. I have attached both xaml and a crash mini-dump. |
(0007150)
sfernandez 2021-04-15 12:36 |
Thanks for the dump, it helped me figure out what was happening and I'm now able to reproduce it. We'll fix it for the next release. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1959 | [NoesisGUI] Unreal | crash | always | 2021-04-08 14:06 | 2021-04-14 17:16 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.11 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.12 | ||
Target Version: | 3.0.12 | ||||
Platform: | Any | ||||
Summary: | Crash importing textures in UE5 | ||||
Description: |
When the flags RestoreUITexturePNGPremultipliedAlpha and PremultiplyAlpha are set to true the import of textures crashes.> RegisteredTextureBuckets[TexturePriority].Emplace(Texture); void UTexture2D::UpdateResource() GetDefault<UNoesisSettings>()->RestoreUITexturePNGPremultipliedAlpha NoesisEngineModule void OnObjectPropertyChanged(UObject* Object, struct FPropertyChangedEvent& Event) FCoreUObjectDelegates::OnObjectPropertyChanged.Broadcast(Texture, EmptyPropertyChangedEvent); PostCompilation(Texture.Get()); RegisteredTextureBuckets[PriorityIndex]; FTextureCompilingManager::ProcessTextures() We should also change plugin code to use FillPNGZeroAlpha setting from TextureImporter section instead of creating our own setting. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1965 | [NoesisGUI] Documentation | minor | have not tried | 2021-04-12 16:43 | 2021-04-12 17:46 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.11 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.12 | ||
Target Version: | 3.0.12 | ||||
Platform: | Any | ||||
Summary: | Improve custom controls documentation | ||||
Description: |
Now we have duplicated documents with deprecated code: https://www.noesisengine.com/docs/Gui.Core.CustomControlTutorial.html https://www.noesisengine.com/docs/Gui.Core.CustomControls.html |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1962 | [NoesisGUI] Unity3D | feature | always | 2021-04-09 11:31 | 2021-04-12 10:57 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.11 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.12 | ||
Target Version: | 3.0.12 | ||||
Platform: | Any | ||||
Summary: | Can't get ApplicationResources dictionary | ||||
Description: |
There is no way to obtain the ApplicationResources dictionary in Unity. The API exists in the native library but it is not exposed to C#. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1783 | [NoesisGUI] C# SDK | minor | always | 2020-09-01 18:18 | 2021-04-10 21:14 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.0 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1 | ||||
Platform: | Any | ||||
Summary: | Routed event args missing constructors or wrong signature | ||||
Description: | RoutedEventArgs and derived classes are missing some constructors or have a wrong signature. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1956 | [NoesisGUI] Unity3D | minor | always | 2021-03-31 20:06 | 2021-04-08 21:17 |
Reporter: | kokolihapihvi | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.11 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.12 | ||
Target Version: | 3.0.12 | ||||
Platform: | Any | ||||
Summary: | Viewbox also scales ToolTip | ||||
Description: |
I believe the tooltip scale should stay constant regardless of parent element scale, which seems to be the case in WPF. I found this related forum post, but couldn't find an issue about this; https://www.noesisengine.com/forums/viewtopic.php?f=3&t=1831&p=10375&hilit=tooltip+scale#p10375 |
||||
Tags: | WPF, xaml | ||||
Steps To Reproduce: |
Xaml: <Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <Grid Width="500" Height="500"> <Grid.ColumnDefinitions> <ColumnDefinition Width="10*"/> <ColumnDefinition Width="10*"/> <ColumnDefinition Width="90*"/> </Grid.ColumnDefinitions> <Grid.RowDefinitions> <RowDefinition Height="10*"/> <RowDefinition Height="70*"/> </Grid.RowDefinitions> <Viewbox Grid.Column="0"> <TextBlock Text="A" Background="Green"> <TextBlock.ToolTip> <TextBlock FontSize="20">TOOLTIP</TextBlock> </TextBlock.ToolTip> </TextBlock> </Viewbox> <Viewbox Grid.Column="1" Margin="16"> <TextBlock Text="B" Background="Red"> <TextBlock.ToolTip> <TextBlock FontSize="20">TOOLTIP</TextBlock> </TextBlock.ToolTip> </TextBlock> </Viewbox> </Grid> </Grid> |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1958 | [NoesisGUI] C++ SDK | minor | always | 2021-04-05 16:32 | 2021-04-06 18:10 |
Reporter: | sgonchar | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.11 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.12 | ||
Target Version: | 3.0.12 | ||||
Platform: | Windows | ||||
Summary: | drop down does not focus or scroll if no default selected item | ||||
Description: | Discussion here: https://www.noesisengine.com/forums/posting.php?mode=reply&f=3&t=2251 | ||||
Tags: | |||||
Steps To Reproduce: |
- When entering screen / panel and select dropdown (via nav) - I press A or Return to open the drop down. - Drop down shows, but Inspector doesn't show PopupLayer - Note no highlight. Nav with keyboard or controller doesn't work. - Mouse over highlight works - Clicking with the Mouse selects a value - Now A/Enter on keyboard opens the drop down and highlight is visible, PopupLayer is in Inspector / things work as expected. |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1957 | [NoesisGUI] C++ SDK | major | always | 2021-04-01 15:11 | 2021-04-01 16:15 |
Reporter: | satorp | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.0.11 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1 | ||||
Platform: | Any | ||||
Summary: | TemplateBinding generates assertion for assignable types | ||||
Description: |
Using TemplateBinding for binding assignable (but not identical) types will generate an assertion for missing converter. NS_ASSERT(mConverter != 0); https://www.noesisengine.com/forums/viewtopic.php?f=3&t=2249#p12399 |
||||
Tags: | C++ | ||||
Steps To Reproduce: |
Use XAML expression A = {TemplateBinding B} when the type of A is not identical but assignable from the type of B |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1897 | [NoesisGUI] C# SDK | crash | always | 2021-01-21 15:53 | 2021-03-29 11:22 |
Reporter: | ai_enabled | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.9 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.12 | ||
Target Version: | 3.0.12 | ||||
Platform: | Any | ||||
Summary: | .NET 5 has broken RunClassConstructor workaround | ||||
Description: |
Hi guys, code https://github.com/Noesis/Managed/blob/151a432f4ce2610bb0d70332e7014f4c442405b4/Src/Noesis/Core/Src/Core/Extend.cs#L1687 unfortunately this workaround is no longer valid for .NET 5. Dependency properties are NOT recreated and remain disposed. Simply calling "RuntimeHelpers.RunClassConstructor(type.TypeHandle);" doesn't work for this case too. I'm urgently looking for a fix as it breaks our game. Regards! |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
Screenshot at 21-06-16.png (470,829 bytes) 2021-01-21 19:07 https://www.noesisengine.com/bugs/file_download.php?file_id=1368&type=bug Screenshot at 21-06-35.png (454,889 bytes) 2021-01-21 19:07 https://www.noesisengine.com/bugs/file_download.php?file_id=1369&type=bug Screenshot at 21-06-35-2.png (454,889 bytes) 2021-01-21 19:07 https://www.noesisengine.com/bugs/file_download.php?file_id=1370&type=bug Screenshot at 21-06-16-2.png (470,829 bytes) 2021-01-21 19:07 https://www.noesisengine.com/bugs/file_download.php?file_id=1371&type=bug |
||||
Notes | |
(0006976)
ai_enabled 2021-01-21 16:35 (Last edited: 2021-01-21 16:35) |
Apparently, TypeInitializer.Invoke(null, null) does nothing in .NET 5. I've tried to manually reset the static field for dependency property (had to make it non-readonly) and calling TypeInitializer.Invoke(null, null) after it. Nothing has changed, the field remains null. |
(0006977)
ai_enabled 2021-01-21 16:42 |
Besides dependency properties, there could be an issue with OverrideMetadata located in some static constructors and not being called too. Wow, it's a big issue. |
(0006980)
ai_enabled 2021-01-21 18:59 |
I've implemented a workaround but it's not good. 1. I've created a store of all the registered dependency properties (with their metadata) and "resurrect" all the registered dependency properties of type instead of using its TypeInitializer (by resurrection I mean construction of new native data and replacing the original pointer in the existing (disposed) dependency property instance). Surprisingly, it works very well! 2. I've created a store of all the OverrideMetadata calls (that are often used for DefaultStyleKeyProperty override) to store the DefaultValue of the provided metadata. I restore it for each registered type during TypeInitializer. It "seems" to work but I see that some style overrides are missing. Considering my further steps. |
(0006981)
ai_enabled 2021-01-21 19:07 |
The style seems to apply properly but either DataTrigger or ChangePropertyAction doesn't work. For example, foreground change doesn't apply here (see the attachments, the one where there is no orange foreground for "Configure" text is broken. |
(0006982)
ai_enabled 2021-01-21 19:26 |
Got it working! Apparently, I needed to store not only DefaultValue but also PropertyChangedCallback and CoerceValueCallback. I no longer see any issues but need to perform further testing. |
(0006983)
sfernandez 2021-01-21 19:41 |
I guess you implemented something similar to what you were saying in ticket 0001840. Could you please share where did introduce that registry of properties? How did you solve the problem of OverrideMetadata? |
(0006984)
ai_enabled 2021-01-21 20:28 (Last edited: 2021-01-21 20:28) |
I totally forgot about the old ticket. Indeed, it's a similar solution. It works well as I've tested it for a while now! For OverrideMetadata I've also created a dictionary of Type->override. It's not ideal but does the job well for our case (as in our case all static constructors call OverrideMetadata for themselves only and not some other type). If it would be convenient, I can provide a pull-request on Github so you can see the diff. |
(0006986)
sfernandez 2021-01-21 20:36 |
The pull request on GitHub would be great, this was something we wanted to change sooner or later, but that problem with .NET 5 will force us to fix it now. |
(0007024)
ai_enabled 2021-02-08 20:07 |
Sure. Here is the pull request https://github.com/Noesis/Managed/pull/4 Enjoy! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1859 | [NoesisGUI] C++ SDK | crash | always | 2020-12-11 12:45 | 2021-03-24 19:20 |
Reporter: | daldegam | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.0.8 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Android | ||||
Summary: | NativeSDK - Exception Crash - ARM | ||||
Description: |
Whenever I use an exception in my project, a crash happens and catch() is not executed. However, this only happens on Android devices armeabi-v7a, on other platforms, it doesn't. Investigating I found that the crash only happens when the Noesis.so library is linked and some exception handled happens. No code is needed to start noesis, just link the library and any exception thrown will make the program close. Cases that do not crash: - Noesis.so linked but without exceptions; - Noesis.se not linked with or without exceptions; I tried to find out for myself what is happening, but without success. I removed Noesis.so for x86_64 because the file got big and Mantis won't let me attach the file with the example. |
||||
Tags: | armeabi-v7a, C++, OpenGL | ||||
Steps To Reproduce: |
I'm using Android Studio 4.1.1 to build the sample project. I did a test project so that you can reproduce the problem. In the NativeEngine.cpp file I put a simple exception code: try { throw std::runtime_error("Noesis Team, look here!"); } catch (const std::exception &exp) { __android_log_print(ANDROID_LOG_ERROR, "Game", "Normal exception: %s", exp.what()); } In the CMakeList.txt file I put the link for lib 3.0.8 as follows: ${CMAKE_CURRENT_SOURCE_DIR}../../app/src/main/jniLibs/${CMAKE_ANDROID_ARCH_ABI}/libNoesis.so So to reproduce, just leave the lib linked and the exception enabled. |
||||
Additional Information: | |||||
Attached Files: |
gamecore.7z (3,868,160 bytes) 2020-12-11 12:45 https://www.noesisengine.com/bugs/file_download.php?file_id=1341&type=bug callstack.png (57,236 bytes) 2020-12-11 17:00 https://www.noesisengine.com/bugs/file_download.php?file_id=1342&type=bug |
||||
Notes | |
(0006888)
daldegam 2020-12-11 13:22 |
I made a folder in Google Drive with examples why I can't upload files larger than 5MB here; I compiled the project in three different ways, I also put the project code in the folder. There are then the following APKs: game-noesis-exception.apk (will crash) game-noesis-without-exception.apk (it won't crash) game-without-noesis-with-exception.apk (it won't crash) Link to folder: https://drive.google.com/drive/folders/19Ge7L9h0taIy9wFqpTr07O5dhxJHqA2L?usp=sharing |
(0006890)
jsantos 2020-12-11 16:29 |
I don't know if this is related to the fact that we compile NoesisGUI without exceptions. I will find time to test this, could you please paste the call stack and the crash information? Thanks! |
(0006892)
daldegam 2020-12-11 17:00 |
I will attach a screenshot with the content of the callstack, android studio will not let me copy as text. As you can see, when the throw happens, a SIGABRT happens too. ---- Crash details from Android Logcat: 12-11 13:53:46.443 9667-9680/br.com.daldegam.game A/libc: Fatal signal 6 (SIGABRT), code -6 in tid 9680 (GLThread 21503) 12-11 13:53:46.553 382-382/? A/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** 12-11 13:53:46.553 382-382/? A/DEBUG: Build fingerprint: 'samsung/j5lteub/j5lte:6.0.1/MMB29M/J500MUBU1BRD1:user/release-keys' 12-11 13:53:46.553 382-382/? A/DEBUG: Revision: '5' 12-11 13:53:46.553 382-382/? A/DEBUG: ABI: 'arm' 12-11 13:53:46.553 382-382/? A/DEBUG: pid: 9667, tid: 9680, name: GLThread 21503 >>> br.com.daldegam.game <<< 12-11 13:53:46.553 382-382/? A/DEBUG: signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr -------- 12-11 13:53:46.583 382-382/? A/DEBUG: r0 00000000 r1 000025d0 r2 00000006 r3 ae507978 12-11 13:53:46.583 382-382/? A/DEBUG: r4 ae507980 r5 ae507930 r6 00000000 r7 0000010c 12-11 13:53:46.583 382-382/? A/DEBUG: r8 ae5072b0 r9 b2f2f45f sl 00000001 fp 00000001 12-11 13:53:46.583 382-382/? A/DEBUG: ip 00000006 sp ae507190 lr b6c9cf15 pc b6c9f310 cpsr 400b0010 12-11 13:53:46.593 382-382/? A/DEBUG: backtrace: 12-11 13:53:46.593 382-382/? A/DEBUG: #00 pc 00044310 /system/lib/libc.so (tgkill+12) 12-11 13:53:46.593 382-382/? A/DEBUG: #01 pc 00041f11 /system/lib/libc.so (pthread_kill+32) 12-11 13:53:46.593 382-382/? A/DEBUG: #02 pc 0001ba13 /system/lib/libc.so (raise+10) 12-11 13:53:46.593 382-382/? A/DEBUG: #03 pc 00018c81 /system/lib/libc.so (__libc_android_abort+34) 12-11 13:53:46.593 382-382/? A/DEBUG: #04 pc 00016840 /system/lib/libc.so (abort+4) 12-11 13:53:46.593 382-382/? A/DEBUG: #05 pc 003a1bdf /data/app/br.com.daldegam.game-1/lib/arm/libNoesis.so 12-11 13:53:46.593 382-382/? A/DEBUG: #06 pc 003a1725 /data/app/br.com.daldegam.game-1/lib/arm/libNoesis.so 12-11 13:53:46.593 382-382/? A/DEBUG: #07 pc 003a15b3 /data/app/br.com.daldegam.game-1/lib/arm/libNoesis.so (__gxx_personality_v0+78) 12-11 13:53:46.593 382-382/? A/DEBUG: #08 pc 0004c790 /system/lib/libc.so (__gnu_Unwind_RaiseException+108) 12-11 13:53:46.593 382-382/? A/DEBUG: #09 pc 0001b1e4 /system/lib/libm.so (___Unwind_RaiseException+20) |
(0006893)
daldegam 2020-12-11 17:05 |
If you want to compile lib with -fexceptions, I can try and give you feedback if it has been resolved. Thanks! |
(0007101)
daldegam 2021-03-24 15:45 |
Hi! I would like to know if there is any prediction for this problem to be evaluated and solved. We have the project paused due to this impediment. Thanks in advance. |
(0007103)
jsantos 2021-03-24 16:39 |
Hi! Unfortunately we cannot enable exceptions in our official builds and this seems to be related to mixing libraries with and without exceptions (it seems to be related to https://github.com/android/ndk/issues/1192 where a workaround is commented but I haven't tried). Having access to the source code will solve this, in fact with the source code you will probably use noesis as a static lib. Not sure at what stage of licensing you are but if you are open to negotiate a license with source code, please let us know. |
(0007104)
daldegam 2021-03-24 19:20 |
Yes, we are interested, I will contact Andrea by email. Thanks. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1777 | [NoesisGUI] Unity3D | minor | always | 2020-08-11 21:26 | 2021-03-24 14:00 |
Reporter: | cjmx | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.0.4 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1 | ||||
Platform: | Any | ||||
Summary: | GeometryGroup doesn't work as expected | ||||
Description: |
Here is a XAMLToy ready code snippet: ---------- <Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <Canvas> <Path Stroke="Black" StrokeThickness="2" Fill="Blue"> <Path.Data> <GeometryGroup> <EllipseGeometry Center="110 60" RadiusX="50" RadiusY="50" /> <EllipseGeometry Center="80 110" RadiusX="50" RadiusY="50" /> <EllipseGeometry Center="140 110" RadiusX="50" RadiusY="50" /> </GeometryGroup> </Path.Data> </Path> </Canvas> </Grid> ---------- It should render three ellipses but it instead will show one ellipse as if there is only the first child of the GeometryGroup |
||||
Tags: | Unity, xaml | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1855 | [NoesisGUI] C++ SDK | block | always | 2020-12-08 15:10 | 2021-03-15 14:17 |
Reporter: | daldegam | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.8 | ||
Product Build: | Resolution: | reopened | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.11 | ||
Target Version: | 3.0.9 | ||||
Platform: | Any | ||||
Summary: | NativeSDK - RTTI Support | ||||
Description: |
Hello! I need to know if it is possible to Noesis NativeSDK for Android (Noesis.so) to be compiled with RTTI enabled. I know that Noesis doesn't need of RTTI, but my project does. It is already a big project that we are implementing the noesis engine. We were able to work with noesis on our Windows project with visual studio, but when we compile the android version, the compiler doesn't link successfully because noesis.so is compiled with -fno-rtti. Some sample of linker erros: error: undefined reference to 'typeinfo for Noesis::BaseObject' error: undefined reference to 'typeinfo for Noesis::BaseComponent' error: undefined reference to 'typeinfo for Noesis::UserControl' error: undefined reference to 'typeinfo for Noesis::ValueStorageManager' error: undefined reference to 'typeinfo for Noesis::BoxedValue' error: undefined reference to 'typeinfo for Noesis::TypeProperty' error: undefined reference to 'typeinfo for Noesis::Grid' error: undefined reference to 'typeinfo for Noesis::BaseComponent' error: undefined reference to 'typeinfo for Noesis::Canvas' error: undefined reference to 'typeinfo for Noesis::UIElement' Thanks in advance, Leandro Daldegam |
||||
Tags: | |||||
Steps To Reproduce: |
If you want to reproduce, change -fno-rtti from Packages\Samples\Login\Projects\android_x86\Makefile to -frtti; You will got some erros like that: ==== [Samples.Login] Building 'Release' configuration ==== [CC] android_native_app_glue.c [BIN] [Samples/Login] App.xaml [BIN] [Samples/Login] MainWindow.xaml [BIN] [Samples/Login] Resources.xaml [BIN] [Samples/Login] Login.mp3 [BIN] [Samples/Login] Fail.mp3 [BIN] [Samples/Login] Aero Matics Regular.ttf [CXX] [Samples/Login] App.xaml.cpp [CXX] [Samples/Login] Main.cpp [CXX] [Samples/Login] MainWindow.xaml.cpp [CXX] [Samples/Login] ViewModel.cpp [LD] libSamples_Login.so lto-llvm-19a866.o:ld-temp.o:typeinfo for Login::App: error: undefined reference to 'typeinfo for NoesisApp::Application' lto-llvm-19a866.o:ld-temp.o:typeinfo for AppLauncher: error: undefined reference to 'typeinfo for NoesisApp::ApplicationLauncher' lto-llvm-19a866.o:ld-temp.o:typeinfo for Noesis::Delegate<void (Noesis::BaseComponent*, Noesis::EventArgs const&)>::MultiDelegate::DelegateVector: error: undefined reference to 'typeinfo for Noesis::BaseComponent' lto-llvm-19a866.o:ld-temp.o:typeinfo for Login::MainWindow: error: undefined reference to 'typeinfo for NoesisApp::Window' lto-llvm-19a866.o:ld-temp.o:typeinfo for Noesis::Delegate<void (Noesis::BaseComponent*)>::MultiDelegate::DelegateVector: error: undefined reference to 'typeinfo for Noesis::BaseComponent' lto-llvm-19a866.o:ld-temp.o:typeinfo for Login::ViewModel: error: undefined reference to 'typeinfo for NoesisApp::NotifyPropertyChangedBase' lto-llvm-19a866.o:ld-temp.o:typeinfo for Noesis::TypePropertyFunction<Login::ViewModel, NoesisApp::DelegateCommand const*>: error: undefined reference to 'typeinfo for Noesis::TypeProperty' lto-llvm-19a866.o:ld-temp.o:typeinfo for Noesis::TypePropertyFunction<Login::ViewModel, char const*>: error: undefined reference to 'typeinfo for Noesis::TypeProperty' lto-llvm-19a866.o:ld-temp.o:typeinfo for Noesis::Boxed<Noesis::FixedString<24u> >: error: undefined reference to 'typeinfo for Noesis::BoxedValue' clang++: fatal error: linker command failed with exit code 1 (use -v to see invocation) make[1]: *** [Makefile:188: ../../../../../../Bin/android_x86/libSamples_Login.so] Error 1 make: *** [NoesisGUI-android-x86.mk:78: Samples.Login] Error 2 |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007079)
jsantos 2021-03-15 14:17 |
Not properly fixed on 3.0.9 |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1925 | [NoesisGUI] Unity3D | minor | always | 2021-02-16 11:00 | 2021-03-13 20:40 |
Reporter: | JinFox | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.5 | ||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.11 | ||
Target Version: | 3.0.11 | ||||
Platform: | Any | ||||
Summary: | Issue on Path showing artifacts with some Data (black lines) | ||||
Description: |
Hello, Using some path (including the one included in attachment of this ticket), I have discovered that some black lines were appearing on the rendering of the path. |
||||
Tags: | |||||
Steps To Reproduce: |
Simplest way to reproduce : 1 - open xamltoy : https://www.noesisengine.com/xamltoy/ 2 - paste the code of the path in the attachment. 3 - see the small black vertical lines appearing were only a half transparent fill is provided |
||||
Additional Information: | |||||
Attached Files: |
pathIssue.txt (14,894 bytes) 2021-02-16 11:00 https://www.noesisengine.com/bugs/file_download.php?file_id=1384&type=bug |
||||
Notes | |
(0007078)
jsantos 2021-03-13 20:39 (Last edited: 2021-03-13 20:40) |
This is a limitation of our PPAA antialiasing algorithm. By default we are slightly shrinking the geometry, this can cause overlapping that will be visible when using colors with transparency. The solution is disabling the shrinking factor by setting 'noesis:Element.PPAAIn="0"'. We are improving the documentation available at https://www.noesisengine.com/docs/Gui.Core.AntialiasingTutorial.htm with the following paragraph Although default values are quite conservative, any non-zero value for 'PPAAIn' can produce artifacts. 'PPAAIn' is in charge of shrinking the geometry and sometimes it can cause overlapping. This produces visual glitches when using non-transparent colors for filling. If this happens we recommend disabling the shrinking by setting 'noesis:Element.PPAAIn="0"' in the node. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1934 | [NoesisGUI] C# SDK | minor | always | 2021-03-05 15:07 | 2021-03-13 20:35 |
Reporter: | darthmaule2 | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.0.10 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | A specific path does not result in anti-aliasing being applied | ||||
Description: |
This path results in obvious jagged edges. <Path Data="M0 0 L16 32 L0 64 L16 64 L16 0 Z"/> But a slightly modified shape can be used as a work-around so this is low priority <Path Data="M0 0 L15 32 L0 64 L16 64 L16 0 Z"/> |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007073)
jsantos 2021-03-12 10:53 |
This is a hard case for our PPAA (cheap antialiasing) algorithm because the tessellator is generating two triangles that share a vertex. That vertex has 4 connected edges and the averaged normal used for PPAA is not correct. There is no easy solution for this without having a slower algorithm. I need to think more about it. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1932 | [NoesisGUI] C++ SDK | crash | always | 2021-02-24 13:51 | 2021-03-12 18:01 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.10 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.11 | ||
Target Version: | 3.0.11 | ||||
Platform: | Any | ||||
Summary: | Crash when there are more than 5 active manipulations | ||||
Description: | When TouchScreen code tries to add a new manipulation finger and there are no manipulation slots available it will crash. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1913 | [NoesisGUI] C++ SDK | minor | always | 2021-01-29 09:28 | 2021-03-12 17:30 |
Reporter: | milo | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.11 | ||
Target Version: | 3.0.11 | ||||
Platform: | Any | ||||
Summary: | In function OnManipulationdelta, I can not get the number of fingers. | ||||
Description: | So I have to count the number of fingers in the function touchdown and OnManipulationCompleted manually. In WPF, ManipulationDeltaEventArgs provides a Manipulators property for that purpose. Hope for It work in Noesis soon. | ||||
Tags: | WPF | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1931 | [NoesisGUI] C# SDK | feature | always | 2021-02-24 13:31 | 2021-03-12 12:54 |
Reporter: | darthmaule2 | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.10 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.11 | ||
Target Version: | 3.0.11 | ||||
Platform: | Any | ||||
Summary: | Feature Request: Make the parameters which determine a Tapped, DoubleTapped and Holding events trigger | ||||
Description: |
Some people testing touch on our devices have found the parameters to be too strict. 1.) They would see that a TouchDown occurred (because we apply an orange effect when that happens) but then never see the Tapped event occur. I assume they moved their finger too far but I would like to make that distance configurable. 2.) They would also see that a DoubleTapped was difficult because they had to tap too quickly or have both taps too close together. I would like to have those parameters configurable. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007050)
sfernandez 2021-02-24 13:47 |
Added your comments here: >> So probably the parameters that would be nice to experiment with are: - Tapped distance threshold: distance allowable between down and up - DoubleTapped distance threshold: distance allowable between first and second taps - DoubleTapped duration threshold: duration maximum to allow double tapped (after which it becomes just two Tapped events) - Holding distance threshold: distance allowable during a hold Just looking at the code for our previous product which uses WPF and we had to implement something custom for this, we used 20 pixels for the distance threshold. |
(0007074)
jsantos 2021-03-12 12:54 (Last edited: 2021-03-12 12:54) |
View will expose the following new functions:/// As Tapped and Holding events are mutually exclusive, this threshold indicates when an /// interaction should start a Holding event. By default it is 0.5 seconds void SetHoldingTimeThreshold(float seconds); /// Minimum distance, in pixels, between first interaction and last interaction to consider /// valid Tapped or Holding events. By default it is 10 pixels void SetHoldingDistanceThreshold(uint32_t pixels); /// The maximum delay required for two consecutives Tapped events to be interpreted as /// a DoubleTapped event. By default it is 0.5 seconds void SetDoubleTapTimeThreshold(float seconds); /// Minimum distance, in pixels, between first interaction and last interaction to consider /// a DoubleTapped event. By default it is 10 pixels void SetDoubleTapDistanceThreshold(uint32_t pixels); |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1922 | [NoesisGUI] C++ SDK | minor | always | 2021-02-15 17:51 | 2021-03-12 02:04 |
Reporter: | jsantos | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.10 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.11 | ||
Target Version: | 3.0.11 | ||||
Platform: | Any | ||||
Summary: | Underline sometimes disappears | ||||
Description: | Aliasing can cause this bug when the underline has 1px or less of height. Under that circumstances, depending on the vertical position of the underline it can disappear. | ||||
Tags: | |||||
Steps To Reproduce: |
<TextBlock MaxWidth="100" TextWrapping="Wrap"> <Run Text="bla bla"/> <Hyperlink> <Run Text="dfgdfgfdgfdgfdgfdgdfgdfgdf dfgdfgdfgdfgdfg dfgdfgdfgdfgdfgdfgdfgdfgdfgdfg"/> </Hyperlink> </TextBlock> |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1929 | [NoesisGUI] C++ SDK | minor | have not tried | 2021-02-23 13:08 | 2021-03-11 14:32 |
Reporter: | milo | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.10 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.11 | ||
Target Version: | 3.0.11 | ||||
Platform: | Any | ||||
Summary: | PathGeometry did not work with noesisgui3 | ||||
Description: |
<?xml version="1.0" encoding="UTF-8"?> <Canvas xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" Name="svg10" Width="1584.8" Height="1120.6801"> <Canvas.RenderTransform> <TranslateTransform X="0" Y="0"/> </Canvas.RenderTransform> <Canvas.Resources> <PathGeometry xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" x:Key="clipPath28" Figures="M 1162.8 -28.368 H 27.648 V -813.456 H 1162.8 v 785.088" FillRule="NonZero"/> </Canvas.Resources> <Canvas Name="g18"> <Canvas.RenderTransform> <MatrixTransform Matrix="1.3333333 0 0 -1.3333333 0 2.8017e-5"/> </Canvas.RenderTransform> <Canvas Name="g22"> <Canvas Name="g24" Clip="{StaticResource clipPath28}"> </Canvas> </Canvas> </Canvas> </Canvas> |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1936 | [NoesisGUI] Unity3D | crash | always | 2021-03-10 16:11 | 2021-03-10 17:41 |
Reporter: | Faerdan | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.4 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.11 | ||
Target Version: | 3.0.11 | ||||
Platform: | Any | ||||
Summary: | Unity crash on XAML import if a dependency property type doesn't match the default value type | ||||
Description: |
If a dependency property type doesn't match the default value type, and that property is used in XAML, Unity will crash on import. I've experienced this with a object property which had an empty string as it's default value. This should log an error. Right now it's very difficult to debug as the editor crashes and the editor log is not much help. |
||||
Tags: | |||||
Steps To Reproduce: |
Create a dependency property with a default value type that doesn't match the property type: public static readonly DependencyProperty ValueProperty = DependencyProperty.Register( nameof(Value), typeof(object), typeof(ParameterViewData), new PropertyMetadata(string.Empty)); Use that property in Xaml: <MyContentControl Value="Anything" /> |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1928 | [NoesisGUI] C++ SDK | minor | always | 2021-02-20 14:58 | 2021-03-02 12:16 |
Reporter: | asusralis | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.10 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.11 | ||
Target Version: | 3.0.11 | ||||
Platform: | Any | ||||
Summary: | Popup does not check if elements are in the tree. | ||||
Description: |
https://www.noesisengine.com/forums/viewtopic.php?f=3&t=2214&p=12233#p12233 |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1923 | [NoesisGUI] C# SDK | major | always | 2021-02-15 19:24 | 2021-02-18 20:31 |
Reporter: | DavidYawCSpeed | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.10 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.11 | ||
Target Version: | 3.0.11 | ||||
Platform: | Any | ||||
Summary: | Inconsistent behavior in OpenGL Render Contexts | ||||
Description: |
I have a cross-platform application that uses the WGL, GLX, or WGL Render Context. In 3.0.10, some changes were made to make the behavior of these render contexts different. The behavior of these OpenGL contexts should be the same. I'm focusing on method CaptureRenderTarget. https://github.com/Noesis/Managed/blob/master/Src/NoesisApp/RenderContexts/WGL/Src/RenderContextWGL.cs#L180 https://github.com/Noesis/Managed/blob/master/Src/NoesisApp/RenderContexts/GLX/Src/RenderContextGLX.cs#L191 https://github.com/Noesis/Managed/blob/master/Src/NoesisApp/RenderContexts/EGL/Src/RenderContextEGL.cs#L131 In 3.0.10, WGL got two changes: - Flip the image to be right-side up: int srcRow = (height - i - 1) * srcStride; - Don't change the order of bytes in a pixel: // RGBA -> BGRA --> Noesis.Marshal.Copy The first change is good, we no longer have to render with a Transform containing ScaleY = -1. But it should be made to all render contexts. The second change is not as good. This ends up flipping the colors from what we expected: An orange original ends up being captured as light blue. The behavior of the three OpenGL render contexts should be the same. My recommendation would be to add the image flip on GLX and EGL, and to re-add the byte order change on WGL. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007039)
sfernandez 2021-02-15 20:00 |
Are you sure that color order in WGL context is not correct now? Because I changed it after trying to implement the 2 displays scenario in Windows using WGL render context. I noticed that updating the texture with the pixels from the ImageCapture was giving the wrong color order. Are you using the pixel array to update a texture also? |
(0007040)
DavidYawCSpeed 2021-02-15 20:29 (Last edited: 2021-02-15 21:48) |
I performed the following: - CaptureRenderTarget. - Transform the pixels to a Bitmap, with no manipulation of either bytes-within-pixel or row ordering. - new System.Drawing.Bitmap(width, height, System.Drawing.Imaging.PixelFormat.Format32bppArgb) - bitmap.LockBits - For each row, Marshal.Copy(imagecapture.pixels, row * width * pixelSize, bitmap.Scan0 + bitmap.Stride * row, width * pixelSize); - Save to disk with bitmap.Save("TestSave.jpg") With the 3.0.10 WGL render context, the image comes out light blue, while the original is tan/yellow/orange. With the 3.0.10 EGL render context, it comes out the proper tan/yellow/orange. |
(0007042)
DavidYawCSpeed 2021-02-16 20:20 |
To be precise: Whether the render context re-orders the colors within the pixel, or whether it flips the image vertically, it doesn't matter as long as the various OpenGL contexts do the same thing, so that it behaves the same on multiple platforms. My preferences for what they do are listed above, but as long as they all do the same thing, we can make it work in our application. |
(0007043)
sfernandez 2021-02-16 20:41 |
My motivation to change the pixel color order was to improve the 2-window scenario where a render target was captured into a byte buffer and then used to update a texture for the secondary window. Without that change I needed to do an extra copy of the buffer to reorder the pixels for the texture update. Anyway, after the poor framerate results in your device that path is totally discarded, any approach that implies reading the pixels in the CPU and updating a texture is not going to work. We think that CaptureRenderTarget should return the pixels in a format more useful for writing images to disk, that would be BGRA as we had in previous versions. I will apply the Y inversion to all OpenGL render contexts and unify the pixel color ordering for the next version as indicated. |
(0007044)
DavidYawCSpeed 2021-02-17 01:11 (Last edited: 2021-02-17 01:21) |
Agreed, using the same format as the second window texture would be good for performance, but the performance isn't there on our hardware, so that concern is moot. Perhaps at some point in the future, CaptureRenderTarget could have parameters specifying the desired pixel format and row order. I did some additional testing: - In the D3D render: I tried specifying Format.B8G8R8A8_UNorm[_SRgb] instead of the existing RGB in the Init() method. Unfortunately, this did not result in any change, in either the primary window, secondary window, or the saved JPG. - In the WGL render: I tried specifying GL_BGRA = 0x000080E1 in the call to glReadPixels in CaptureRenderTarget. This reversed the RGB/BGR colors. I only tested this on Windows, but this seems like it would be better performance than reversing the colors so manually. - Also in the WGL render: I notice that "byte[] src = new byte[width * height * 4];" is called for each frame captured. This is spamming the garbage collector, in the same way that creating a new Image Capture object used to. Since the strides are equal, perhaps directly pass _imageCapture.Pixels to glReadPixels, and do an in-place re-ordering of the rows? Or cache the 'src' array in a similar manner to _imageCapture. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1921 | [NoesisGUI] C# SDK | minor | always | 2021-02-13 16:37 | 2021-02-15 18:11 |
Reporter: | dstroup | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.10 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.11 | ||
Target Version: | 3.0.11 | ||||
Platform: | Any | ||||
Summary: | Touch events very flaky win Gbm and Fbdev displays | ||||
Description: |
LibEvDev isn't handling EV_SYN, and maybe ABS_MT_TRACKING_ID, correctly. That latest LibEvDev.cs on github looks like an older version of the code you've sent us for testing. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1920 | [NoesisGUI] C# SDK | minor | always | 2021-02-10 22:24 | 2021-02-15 18:11 |
Reporter: | DavidYawCSpeed | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.10 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.11 | ||
Target Version: | 3.0.11 | ||||
Platform: | Linux | ||||
Summary: | Handle key repeats in LibEvdev for Gbm and FbDev displays | ||||
Description: |
Method HandleKeyEvent handles events 1 and 0 (press and release, respectively). It needs to handle 2 (hold) as well. https://github.com/Noesis/Managed/blob/master/Src/NoesisApp/Displays/Gbm/Src/LibEvdev.cs#L755 https://github.com/Noesis/Managed/blob/master/Src/NoesisApp/Displays/Fbdev/Src/LibEvdev.cs#L755 It should be something like this: private static void HandleKeyEvent(InputEvent ev) { // 0 = Key up/released // 1 = Key down/pressed // 2 = Key hold/repeating Key key = _keyMap[ev.code]; if (key != Key.None) { if (ev.value == 0) { KeyUp?.Invoke(key); } else if (ev.value == 1 || ev.value == 2) { KeyDown?.Invoke(key); } } } Tested and verified that ev.value comes through as 2 when holding down a key on a USB Keyboard. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1887 | [NoesisGUI] C++ SDK | minor | always | 2021-01-18 16:08 | 2021-02-10 01:24 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.9 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.10 | ||
Target Version: | 3.0.10 | ||||
Platform: | Any | ||||
Summary: | Next touch after handling TouchUp/Tapped/Holding is not correctly promoted | ||||
Description: |
When a control handles TouchUp, Tapped or Holding events, the event is not promoted to MouseUp, so mouse device thinks mouse left button is still pressed. All following TouchDown events that get promoted are ignored by mouse device because while left button is pressed mouse down events are not raised. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1918 | [NoesisGUI] C# SDK | major | always | 2021-02-04 16:31 | 2021-02-10 01:23 |
Reporter: | stonstad | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.9 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.10 | ||
Target Version: | 3.0.10 | ||||
Platform: | Any | ||||
Summary: | TouchBox Does Not Receive Focus as Expected | ||||
Description: |
See screenshot and associated XAML. This behavior happens on Android builds and in the Unity Editor when Emulate Touch is enabled. TextBoxes inconsistently respond to an initial touch, and focus is not set. I have to repeatedly touch the control for it to finally receive focus. The behavior is reproducible in Unity when Emulate Touch is enabled. On touch devices (Android) it happens consistently. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
CustomerSelect1.PNG (366,472 bytes) 2021-02-04 16:31 https://www.noesisengine.com/bugs/file_download.php?file_id=1379&type=bug SharingControl.cs (5,228 bytes) 2021-02-04 16:31 https://www.noesisengine.com/bugs/file_download.php?file_id=1380&type=bug SharingControl.xaml (3,231 bytes) 2021-02-04 16:31 https://www.noesisengine.com/bugs/file_download.php?file_id=1381&type=bug |
||||
Notes | |
(0007019)
stonstad 2021-02-04 16:32 |
I have to spam touches on a TextBox control to get it to focus. |
(0007020)
sfernandez 2021-02-04 19:19 |
I think this is the consequence of this issue: 0001887 Does it happen when you touch on a TextBox and then try to touch another control? |
(0007021)
sfernandez 2021-02-04 19:31 |
If you touch on an empty space and then on the TextBox, does it get the focus on first touch? |
(0007022)
stonstad 2021-02-04 23:42 |
Sergio, you are correct. If I touch something that is not a user control I can then focus a textbox. |
(0007026)
stonstad 2021-02-09 15:02 |
This issue affects a fielded/production application. Are there any work-arounds or an interim patch DLL available? Thanks, Shaun |
(0007027)
jsantos 2021-02-09 15:47 |
We are working on this, plan is having a release in 24h. If not possible I will try to give you a patch. |
(0007028)
stonstad 2021-02-09 18:54 |
Understood and thank you! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1883 | [NoesisGUI] C++ SDK | minor | always | 2021-01-15 13:19 | 2021-02-09 21:01 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.9 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.10 | ||
Target Version: | 3.0.10 | ||||
Platform: | Any | ||||
Summary: | Touch capture not released when cancelling ManipulationStarted | ||||
Description: |
If a element sets IsManipulationEnabled to true and in its ManipulationStarted cancels it, the touch is still captured by the element, so TouchMove and TouchUp events are only sent to that element. This can be reproduced in our application framework, because our Window uses manipulations to show the stats/debug toolbar, but touching in the middle of the window shouldn't capture anything. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1910 | [NoesisGUI] Unity3D | major | always | 2021-01-27 01:55 | 2021-02-08 11:04 |
Reporter: | samc | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.9 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.10 | ||
Target Version: | 3.0.10 | ||||
Platform: | Any | ||||
Summary: | PropertyChangedTrigger bug? | ||||
Description: |
I was trying to use PropertyChangedTrigger, but it appears to be triggering immediately on initialization, even though the value in my data model hasn't changed. My setup looks something like this: <ei:PropertyChangedTrigger Binding="{Binding LowHealthEvent}"> // actions... </ei:PropertyChangedTrigger> Is that expected? Is there a way around this? I don't want the trigger to fire until I've actually changed the value. It seems to work fine in all cases except startup. I set a breakpoint to ensure I'm not accidently notifying that it changed and it seems ok. Suggestions? sam |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007001)
sfernandez 2021-01-27 12:31 (Last edited: 2021-01-27 12:32) |
The behavior is expected because PropertyChangedTrigger.Binding default value is null, so when the Binding gets resolved for the first time it sets a value there different than null and the trigger is invoked. But looking at the name of the bound property, "LowHealthEvent", it seems to me that you should use here an event trigger instead: <noesis:DataEventTrigger Source="{Binding}" EventName="LowHealth"> // actions... </noesis:DataEventTrigger> Just define an event in your data model as explained in the trigger doc and raise it whenever you want: https://www.noesisengine.com/docs/App.Interactivity._DataEventTrigger.html |
(0007005)
samc 2021-01-27 19:14 |
Ah, that makes sense. Thank you for explaining! There are some other reasons why I want to keep it as an integer rather than an event (can go into those; it is related to some tools that our designers are using so they could hook things up like this without engineer intervention..) thanks! sam |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1915 | [NoesisGUI] C# SDK | minor | always | 2021-02-01 21:36 | 2021-02-04 09:56 |
Reporter: | DavidYawCSpeed | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.9 | ||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.10 | ||
Target Version: | 3.0.10 | ||||
Platform: | Windows | ||||
Summary: | Window.Close() doesn't close, leaves artifact on screen. | ||||
Description: |
I have a quit button in my application, separate from the Window's close button. When Window.Close() is called, the window doesn't close. - Clicks to this window end up accessing the window behind it. - D3D Render Context only: Instead of closing, the window changes to be solid white. - WGL Render Context only: Instead of closing, the window never updates again. Changes to the UI are not redrawn. |
||||
Tags: | |||||
Steps To Reproduce: |
<Button Click="QuitButtonClick" Content="Actually Quit"/> private void QuitButtonClick(object sender, RoutedEventArgs e) { this.Close(); } Test Platform: My Windows development PC, running in the Visual Studio debugger. Using Win32Display and either RenderContextWGL or RenderContextD3D11. |
||||
Additional Information: | |||||
Attached Files: |
Win32Display.cs (88,120 bytes) 2021-02-02 19:09 https://www.noesisengine.com/bugs/file_download.php?file_id=1378&type=bug |
||||
Notes | |
(0007011)
sfernandez 2021-02-02 19:08 |
I'm not able to reproduce this problem, when calling Close() the window and the application is closing fine. All the closing logic is implemented in the Win32Display class, it shouldn't depend on what RenderContext is used. Maybe what you are seeing is an effect of previously trying to minimize the window, which was not working as expected (issue 0001914). |
(0007012)
sfernandez 2021-02-02 19:09 |
Attached latest Win32Display with the fix for minimize (issue 0001914) so you can test that Close() is working fine. |
(0007016)
DavidYawCSpeed 2021-02-04 02:14 (Last edited: 2021-02-04 02:15) |
My apologies. You are correct, this was related to my previous work with trying to minimize from code. Sorry for the false report. |
(0007017)
sfernandez 2021-02-04 09:56 |
Don't worry, glad to help. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1882 | [NoesisGUI] C++ SDK | crash | unable to reproduce | 2021-01-13 23:23 | 2021-02-03 13:57 |
Reporter: | asusralis | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.6 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.10 | ||
Target Version: | 3.0.10 | ||||
Platform: | Any | ||||
Summary: | Crash when idling in scene mode while playing game. | ||||
Description: | I was finding a bug unrelated to Noesis by using the scene view in Unity while the game was playing. I tabbed out of Unity for a few minutes while the game was running when Unity crashed. This hasn't happened before. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0006955)
sfernandez 2021-01-18 17:14 |
The callstack of the crash points to an effect rendering, could you help here @jsantos?[Inline Frame] Noesis.dll!Noesis::BaseVector<float>::UninitializedMove Line 856 C++ [Inline Frame] Noesis.dll!Noesis::BaseVector<float>::PushBack Line 518 C++ Noesis.dll!Noesis::VGLContext::DrawDropShadowV Line 945 C++ Noesis.dll!Noesis::RenderTreeHelper::RenderOffscreenNodes Line 666 C++ Noesis.dll!Noesis::RenderTree::RenderOffscreen Line 277 C++ > Noesis.dll!Noesis::Renderer::RenderOffscreen Line 171 C++ Noesis.dll!Noesis::Renderer::RenderOffscreen Line 149 C++ Noesis.dll!Noesis_GetRenderOffscreenCallback::__l2::<lambda> Line 420 C++ Unity.exe!GfxDeviceWorker::RunCommand Unknown Unity.exe!GfxDeviceWorker::RunExt Unknown Unity.exe!GfxDeviceWorker::RunGfxDeviceWorker Unknown Unity.exe!Thread::RunThreadWrapper Unknown kernel32.dll!BaseThreadInitThunk Unknown ntdll.dll!RtlUserThreadStart Unknown |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1903 | [NoesisGUI] Unity3D | feature | always | 2021-01-25 16:01 | 2021-02-03 13:17 |
Reporter: | peter_e-h_easylaser | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.9 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.10 | ||
Target Version: | 3.0.10 | ||||
Platform: | Any | ||||
Summary: | Better error message when checking Visual ancestry. | ||||
Description: |
"Visual is not a descendant of the specified ancestor" is not a very clear error message. If you could include additional info (e.g. types and/or names of elements, that would be very helpful). Discussed in this forum thread: https://www.noesisengine.com/forums/viewtopic.php?f=3&t=2198 |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007015)
sfernandez 2021-02-03 13:17 |
Fixed in r9954 |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1821 | [NoesisGUI] C++ SDK | crash | sometimes | 2020-10-26 23:13 | 2021-02-03 10:40 |
Reporter: | asusralis | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.6 | ||
Product Build: | Resolution: | suspended | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.10 | ||
Target Version: | 3.0.10 | ||||
Platform: | Any | ||||
Summary: | Crash when exiting play mode in Unity. | ||||
Description: |
This seemed to happen when I exited play mode in Unity. It has only happened once so far. I am using the build that was given to me to fix the issue from this: https://www.noesisengine.com/bugs/view.php?id=1806 I will keep an eye out for this in the future to see what happened beforehand. |
||||
Tags: | |||||
Steps To Reproduce: | Exit Unity play mode | ||||
Additional Information: | |||||
Attached Files: |
Crash_2020-10-26_220917628.rar (381,468 bytes) 2020-10-26 23:13 https://www.noesisengine.com/bugs/file_download.php?file_id=1315&type=bug |
||||
Notes | |
(0006705)
sfernandez 2020-10-28 12:03 |
Have you been able to reproduce this issue in a deterministic way? The crash happens inside a HitTest from Lean.Touch.LeanTouch.PointOverGui. At some point reaches a visual child that seems to be destroyed. I added some logs and generated a new library to help me find which element contains a destroyed child. https://drive.google.com/file/d/1aWwVvBPDODx3j_7VvqrTDNGJ18rKEtFj/view?usp=sharing Could you please use that library (it also contains previous patch), with 'Log Severity' set to 'Normal' in NoesisSettings, so if it crashes again I can get a bit more info from Editor.log? |
(0006952)
asusralis 2021-01-14 17:42 |
Oh, I never saw this response. This was so long ago, I'm not sure how to reproduce it. I haven't ran into this problem since I reported it. |
(0007014)
sfernandez 2021-02-03 10:39 |
I'm closing this issue, please re-open it in case it reproduces again. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1914 | [NoesisGUI] C# SDK | minor | always | 2021-02-01 21:32 | 2021-02-02 19:03 |
Reporter: | DavidYawCSpeed | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.9 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.10 | ||
Target Version: | 3.0.10 | ||||
Platform: | Windows | ||||
Summary: | Setting WindowState = WindowState.Minimized leaves artifact on screen | ||||
Description: |
I have an application that I don't want the user to close by simply closing the window. (They'll exit it by clicking some other buttons in the application.) However, they can minimize the application, so I want attempting to close the window to actually minimize it. I implemented the event handler listed below, but the window doesn't minimize properly. - The minimize button at the top-right of the window does change to a 'restore' button, so some part of it knows that it's supposed to be minimized. - Clicks to this window end up accessing the window behind it. - D3D Render Context only: Instead of minimizing, the window changes to be solid white. - WGL Render Context only: Instead of minimizing, the window never updates again. Changes to the UI are not redrawn. - The window disappears from the Task Bar, even though I didn't tell it to do that. |
||||
Tags: | |||||
Steps To Reproduce: |
private void MainWindow_Closing(object sender, NoesisApp.CancelEventArgs e) { e.Cancel = true; this.WindowState = WindowState.Minimized; } Test Platform: My Windows development PC, running in the Visual Studio debugger. Using Win32Display and either RenderContextWGL or RenderContextD3D11. |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0007010)
DavidYawCSpeed 2021-02-01 21:41 |
Minimizing by manually clicking the minimize button in the title bar works fine. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1911 | [NoesisGUI] Unity3D | crash | random | 2021-01-27 18:24 | 2021-01-27 18:27 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.9 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.10 | ||
Target Version: | 3.0.10 | ||||
Platform: | Any | ||||
Summary: | Crash when entering play in Unity editor | ||||
Description: |
After updating to Unity 2020.2.2f1 we are experiencing a reproducible crash when stopping and starting play in the Editor. Reloading assemblies for play mode. Begin MonoManager ReloadAssembly Stacktrace: at <unknown> <0xffffffff> at (wrapper managed-to-native) Noesis.NoesisGUI_PINVOKE.BaseComponent_Release (intptr) [0x00009] in <140a61dea9e947aa888f9c58132b9ad7>:0 at Noesis.BaseComponent.Release (intptr) [0x00001] in NoesisGUI\Plugins\API\Proxies\BaseComponent.cs:62 at Noesis.Extend.ReleasePending () [0x00023] in NoesisGUI\Plugins\API\Core\Extend.cs:5154 at Noesis.Extend.Shutdown () [0x00179] in NoesisGUI\Plugins\API\Core\Extend.cs:100 at Noesis.Extend.OnDomainUnload (object,System.EventArgs) [0x00001] in NoesisGUI\Plugins\API\Core\Extend.cs:39 at (wrapper delegate-invoke) <Module>.invoke_void_object_EventArgs (object,System.EventArgs) [0x00073] in <9577ac7a62ef43179789031239ba8798>:0 at System.AppDomain.DoDomainUnload () [0x00010] in <9577ac7a62ef43179789031239ba8798>:0 at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x00020] in <9577ac7a62ef43179789031239ba8798>:0 ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1904 | [NoesisGUI] C++ SDK | crash | always | 2021-01-25 19:50 | 2021-01-25 21:16 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.9 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.10 | ||
Target Version: | 3.0.10 | ||||
Platform: | Any | ||||
Summary: | Crash using invalid MultiBinding inside a DataTrigger | ||||
Description: |
The following xaml will crash if the converter is not registered:<local:MultiIsLessThanConverter x:Key="NonEssentialsLayout"/> <Style x:Key="NonEssentialsGrid" TargetType="Grid"> <Setter Property="Visibility" Value="Visible"/> <Style.Triggers> <DataTrigger Value="True"> <DataTrigger.Binding> <MultiBinding Converter="{StaticResource NonEssentialsLayout}"> <Binding Path="ActualWidth" ElementName="NonEssentialsGrid"/> <Binding Path="ActualWidth" ElementName="Exp_Name"/> </MultiBinding> </DataTrigger.Binding> <Setter Property="Visibility" Value="Collapsed"/> </DataTrigger> </Style.Triggers> </Style> |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1901 | [NoesisGUI] C++ SDK | crash | have not tried | 2021-01-22 00:51 | 2021-01-25 10:51 |
Reporter: | steveh | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.10 | ||
Target Version: | 3.0.10 | ||||
Platform: | Any | ||||
Summary: | Crash when clearing bound ObservableCollection in code with DataTemplate having triggers | ||||
Description: |
Hi guys, apologies in advance I don't have a solid repro step for this crash, I'll continue to investigate but right now I have some info and I thought I'd ask to see if you can help me narrow anything down. So we've been seeing a fairly reproducible crash when we reload data into one of our listboxes. The crash goes down in different callstacks, but it's always when we're destroying dependencyobjects. This is triggered when we clear out an ObservableCollection which is the source of a binding expression for the ItemsSource DependencyProperty for the listbox. The callstack usually ends up trying to acess an invalid DependencyProperty value on a DataTrigger. I've attached an example of one of our callstacks where it went down. This issue was present in 3.0.6. I've only just got around to looking into the issue today and I noticed that you made quite a few fixed regarding DataTriggers and crash fixes in 3.0.9. I've just updated to 3.0.9 and the crash is exactly the same. As I mentioned, apologies I can't be more specific than this right now, the crashes are rather inconsistent and sporadic. I'll continue to investigate in the background but I'll appreciate any help you can provide in the meantime. Much appreciated, -Steven |
||||
Tags: | |||||
Steps To Reproduce: |
1. Load a XAML file with a ListBox. 2. Bind the ItemsSource DependencyProperty on the ListBox to an ObservableCollection property defined and exposed on a DataModel 3. Create a new DataTemplate, add a DataTrigger. See https://www.noesisengine.com/xamltoy/acb220b6ca7fa788dafbb3d53d93fc71 for an example. 4. Bind an event delegate to a button click event, have it clear the observablecollection and add a new entry, see my pseudo code below for an example of what this might look like // Example C++ interface: class CustomType { private: bool m_bLocked; }; class DataModel { public: void ClearData() { m_arrCollection->Clear(); // <-- It might crash here when destroying the ListBoxItem container m_arrCollection->Add(MakePtr<CustomType>()); } private: Ptr<ObservableCollection<CustomType>> m_arrCollection; } Button *pOne = FindName<Button>("One"); pOne->Click() += MakeDelegate(this, &SelfClass::OnClick); void OnClick(BaseComponent*, const RoutedEventArgs&) { DataModel *pDM = GetDataModel(); pDM->ClearData(); } |
||||
Additional Information: | |||||
Attached Files: |
callstack.txt (17,240 bytes) 2021-01-22 00:51 https://www.noesisengine.com/bugs/file_download.php?file_id=1372&type=bug |
||||
Notes | |
(0006992)
steveh 2021-01-22 12:24 |
A little update, I've tried adding logs to the destructor of DependencyObject and FrameworkElement to try and track the addresses of the dependencyobjects being destroyed, and I've been unable to reproduce after 15 minutes of clearing out the observable collection. I'm starting to think this might be a threading issue as the logs obviously affect the timings. I'll try writing out to a global string builder instead of logging to see if I can get it to crash but still keep the debugging info. |
(0006993)
sfernandez 2021-01-22 12:58 |
I've been trying myself to reproduce the crash without success. The callstak you attached indicates that mEffectiveConverter is a destroyed object, and that can only occur if the BindingExpression where the code is being executed is also destroyed. Without threading issues I don't see a way that the binding could get destroyed during CheckConverter execution. Perharps you can add inside BindingExpression::Unregister() the following to make sure binding is not disconnected from another thread: mTargetObject->VerifyAccess(); |
(0006994)
steveh 2021-01-24 03:28 |
Okay, sorry for this bug report, it was a false positive. I've spent the last day tracking this down. It turns out it was related to a very rare edge case that was stomping memory. It turns out that the pattern that caused it to happen just made it occur in the same address space as the UI which was causing it to trample over random dependency property memory. I enabled our stomp checker which makes individual allocations allocate 2 pages, writes to 1 page and locks the other. This allows us to throw access violations if Windows detect you attempt to access any memory in that virtual addressable space. This allowed me to capture our system which was stomping the DependencyObjects. It turns out it was something in our own engine to do with streaming of assets, but I managed to fix that issue and the UI cleans up fine, so apologies for the false positive, everything is good now. Feel free to close this bug. Cheers, -Steven |
(0006995)
sfernandez 2021-01-25 10:51 |
Thanks for the update, I'm closing it. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1900 | [NoesisGUI] C++ SDK | minor | always | 2021-01-21 22:16 | 2021-01-22 11:30 |
Reporter: | steveh | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.9 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.10 | ||
Target Version: | 3.0.10 | ||||
Platform: | Any | ||||
Summary: | BindingExpression binding mode doesn't work in 3.0.9 | ||||
Description: |
Hi guys, I've recently updated from 3.0.6 -> 3.0.9, and I'm now hitting an error on the following XAML: <MultiBinding StringFormat=" {0}/{1}"> <Binding Path="SomeArray.Count" Mode="OneWay" /> <Binding Path="SomeOtherArray.Count" Mode="OneWay" /> </MultiBinding> The issue is the Mode doesn't seem to come through, the error is as follow: "A TwoWay or OneWayToSource Binding cannot work on a read-only property" SomeArray and SomeOtherArray are both ObservableCollections. This exact XAML used to work fine with 3.0.6. I'm guessing #9800 caused this issue. Cheers, -Steven |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0006987)
sfernandez 2021-01-22 09:58 |
We found and fix a few issues with MultiBinding recently: changesets 9944 and 9947. Could you please integrate those and confirm your problem is fixed? |
(0006990)
steveh 2021-01-22 11:25 |
I can confirm that integrating those 2 changes have fixed my issue. Much appreciated Sergio! |
(0006991)
sfernandez 2021-01-22 11:30 |
Great, marking this as solved. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1840 | [NoesisGUI] C# SDK | major | always | 2020-11-19 18:01 | 2021-01-21 20:28 |
Reporter: | ai_enabled | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.0.6 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | NoesisGUI reloading issue: RunClassConstructor invokes static constructor to reinit dependency properties | ||||
Description: |
Hi guys, I was investigating a few random issues we have and noticed NoesisGUI calling static constructors for our types even when they're already constructed. I understand why it's required (to force reconstructing the dependency properties), however, this is a very hacky solution as NoesisGUI just cannot be 100% sure that it will operate only with the UI-related code. In some cases it invoked static constructors causing reconstructing singletons and other fields that are totally not related to user controls or even UI logic. For example, imagine we have an item tooltip control that has a dependency property for the item itself. Item is a business entity so it will be never used in the UI directly, but NoesisGUI attempts to register the whole type hierarchy for it including all its public properties that may include things such as physics and audio. While it's a separate big problem in itself (how to handle that case to prevent NoesisGUI from registering certain types), it's a good demonstration when NoesisGUI should not just straight away "reconstruct" types. The side effects could be awful and very hard to debug! Here is the block of code that is causing the issue: https://github.com/Noesis/Managed/blob/c2ccfc45ca8a39b8d0d063cdcded1a7d0230678f/Src/Noesis/Core/Src/Core/Extend.cs#L1674 An idea how you can resolve this issue: as you're using this solely to reconstruct the dependency/attached properties, perhaps you should cache all the dependency properties in a Dictionary<Type, RegisteredDependencyProperty[]>. When RunClassConstructor notices that the type was once constructed, it can just foreach the RegisteredDependencyProperty[] array and force their registration. Regards! |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0006774)
sfernandez 2020-11-19 19:23 |
Hi, This code is a big hack that we don't like either, but it had no problems when we initially designed it for Unity, because it was only used when assemblies were unloaded and reloaded again. I think the first thing to do to improve that code is avoid calling the static constructor if the type doesn't contain any DependencyProperty field. And as you suggested in the Github issue, directly ignore all BCL types. Keeping track of previously defined DependencyProperties is not an option because the code of the classes could have changed and new dependency properties added or removed. What do you think? |
(0006775)
ai_enabled 2020-11-19 19:53 |
>>> avoid calling the static constructor if the type doesn't contain any DependencyProperty field. It's definitely a better approach (if no other solutions are available) but there is still a chance that it may cause unexpected side effects. >>> because the code of the classes could have changed and new dependency properties added or removed. Do you refer to Unity assembly hot-reloading? Does it actually able to expand existing Type objects with new properties? Or it creates new Type objects as they're coming from a new (rebuilt) assembly? |
(0006776)
sfernandez 2020-11-19 20:16 |
Yes, Unity unloads current assembly, compiles a new one with any changes you have made to your classes, and loads the new assembly. So although the types have the same namespace+name, they are in fact new type objects on a new assembly (and old type objects don't exist anymore). |
(0006777)
ai_enabled 2020-11-19 20:30 |
Ok, then It's the same as what we have for CryoFall live reloading—assemblies are just rebuilt and the data is re-serialized. Then my original suggestion should work fine: >>> perhaps you should cache all the dependency properties in a Dictionary<Type, RegisteredDependencyProperty[]>. When RunClassConstructor notices that the type was once constructed, it can just foreach the RegisteredDependencyProperty[] array and force their registration. As the old types are no longer used their instances will just lie down forever in the dictionary. New types will be registered as new entries in the dictionary, and have their static constructor called only once. And if you need to rebuild the type in RunClassConstructor, you will need to call re-registering of the previously registered dependency properties instead of force calling the static constructor. The only challenge here is to wrap all the dependency properties (when they're registered for the first time), so you can call their registration again when necessary for the specific type. |
(0006985)
ai_enabled 2021-01-21 20:28 |
Further discussion in this ticket https://www.noesisengine.com/bugs/view.php?id=1897#bugnotes |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1898 | [NoesisGUI] C++ SDK | crash | random | 2021-01-21 16:38 | 2021-01-21 18:16 |
Reporter: | steveh | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.6 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.10 | ||
Target Version: | 3.0.10 | ||||
Platform: | Any | ||||
Summary: | Non thread safe code in InspectorTextureProvider | ||||
Description: |
Hi guys, we're hitting an assert at random intervals when loading textures and creating bitmap image render proxies at runtime. The assert is coming from hashmap when we're growing the bucket container: template<typename Bucket> inline void HashMapImpl<Bucket>::InsertBucketsFrom(Bucket* src, uint32_t count) { for (Bucket* it = src; it != src + count; ++it) { if (!it->IsEmpty()) { // Insert the key/value into the new table. Bucket* bucket; bool found = FindInsertBucket(it->Hash(), it->key, bucket); NS_ASSERT(!found); // <--- HERE new (bucket) Bucket(MoveArg(*it)); it->~Bucket(); mNumEntries++; } } } So I double checked, all the buckets in the source were unique so something must have added the key during the while loop. It turns out that there are no locks in InspectorTextureProvider, so for example this runs on render thread: Noesis::InspectorTextureProvider::OpenStream(const char * uri) Line 76 C++ Noesis::InspectorTextureProvider::LoadTexture(const char * uri, Noesis::RenderDevice * device) Line 196 C++ Noesis::VGLContext::CreateImage(const char * filename) Line 544 C++ Noesis::BitmapImageProxy::CreateImage(Noesis::RenderTree * tree) Line 45 C++ Noesis::ImageSourceProxy::GetImage(Noesis::RenderTree * tree) Line 34 C++ Noesis::ImageBrushProxy::UpdateImageSource(Noesis::RenderTree * tree, Noesis::ImageSourceProxy * is) Line 34 C++ Noesis::RenderTree::ProcessCommand(Noesis::RenderCommandId id, const void * data) Line 516 C++ Noesis::RenderTree::ProcessRenderCommands(const unsigned char * data, unsigned int size) Line 254 C++ Noesis::Renderer::UpdateRenderTree() Line 122 C++ And then we call Image::SetSource() on main thread: InspectorTextureProvider::OpenStream(const char * uri) Line 76 C++ InspectorTextureProvider::GetTextureInfo(const char * uri) Line 164 C++ BitmapImage::UpdateImageInfo(const char * uri) Line 204 C++ BitmapImage::StaticFillClassType::__l2::<lambda>(Noesis::DependencyObject * d, const Noesis::DependencyPropertyChangedEventArgs & e) Line 249 C++ Delegate<void __cdecl(Noesis::DependencyObject *,Noesis::DependencyPropertyChangedEventArgs const &)>::FunctorStub<void <lambda>(Noesis::DependencyObject *, const Noesis::DependencyPropertyChangedEventArgs &) >::Invoke(Noesis::DependencyObject * <args_0>, const Noesis::DependencyPropertyChangedEventArgs & <args_1>) Line 432 C++ Delegate<void __cdecl(Noesis::DependencyObject *,Noesis::DependencyPropertyChangedEventArgs const &)>::operator()(Noesis::DependencyObject * <args_0>, const Noesis::DependencyPropertyChangedEventArgs & <args_1>) Line 173 C++ DependencyObject::OnPropertyChanged(const Noesis::DependencyPropertyChangedEventArgs & args) Line 607 C++ Freezable::OnPropertyChanged(const Noesis::DependencyPropertyChangedEventArgs & e) Line 235 C++ DependencyObject::Init() Line 536 C++ InitComponent(Noesis::IComponentInitializer * component, bool doInit) Line 41 C++ TemplateBindingExpression::Evaluate() Line 76 C++ DependencyObject::InternalSetExpression(const Noesis::DependencyProperty * dp, Noesis::Expression * newExpression, unsigned char priority) Line 676 C++ DependencyObject::InternalInvalidateProperty(const Noesis::DependencyProperty * dp, unsigned char priority) Line 1109 C++ DependencyObject::InvalidateProperty(const Noesis::DependencyProperty * dp, unsigned char priority) Line 291 C++ TemplateBindingExpression::OnTemplatedParentPropertyChanged(Noesis::BaseComponent * __formal, const Noesis::DependencyPropertyChangedEventArgs & args) Line 186 C++ Delegate<void __cdecl(Noesis::BaseComponent *,Noesis::DependencyPropertyChangedEventArgs const &)>::MemberFuncStub<Noesis::TemplateBindingExpression,void (__cdecl Noesis::TemplateBindingExpression::*)(Noesis::BaseComponent *,Noesis::DependencyPropertyChangedEventArgs const &)>::Invoke(Noesis::BaseComponent * <args_0>, const Noesis::DependencyPropertyChangedEventArgs & <args_1>) Line 469 C++ [Inline Frame] Noesis::Delegate<void __cdecl(Noesis::BaseComponent *,Noesis::DependencyPropertyChangedEventArgs const &)>::operator()(Noesis::BaseComponent *) Line 172 C++ Noesis::Delegate<void __cdecl(Noesis::BaseComponent *,Noesis::DependencyPropertyChangedEventArgs const &)>::MultiDelegate::Invoke(Noesis::BaseComponent * <args_0>, const Noesis::DependencyPropertyChangedEventArgs & <args_1>) Line 570 C++ Noesis::Delegate<void __cdecl(Noesis::BaseComponent *,Noesis::DependencyPropertyChangedEventArgs const &)>::operator()(Noesis::BaseComponent * <args_0>, const Noesis::DependencyPropertyChangedEventArgs & <args_1>) Line 173 C++ Noesis::DependencyObject::OnPropertyChanged(const Noesis::DependencyPropertyChangedEventArgs & args) Line 608 C++ Noesis::Visual::OnPropertyChanged(const Noesis::DependencyPropertyChangedEventArgs & args) Line 905 C++ Noesis::UIElement::OnPropertyChanged(const Noesis::DependencyPropertyChangedEventArgs & args) Line 2013 C++ Noesis::FrameworkElement::OnPropertyChanged(const Noesis::DependencyPropertyChangedEventArgs & args) Line 1660 C++ Noesis::Control::OnPropertyChanged(const Noesis::DependencyPropertyChangedEventArgs & args) Line 443 C++ Noesis::Image::OnPropertyChanged(const Noesis::DependencyPropertyChangedEventArgs & args) Line 137 C++ Noesis::DependencyObject::NotifyPropertyChanged(const Noesis::DependencyProperty * dp, Noesis::StoredValue * storedValue, const void * oldValue, const void * newValue, bool valueChanged, bool isBaseComponent, const Noesis::PropertyMetadata * metadata) Line 1260 C++ Noesis::DependencyObject::InternalSetValue(const Noesis::DependencyProperty * dp, void * oldValue, const void * newValue, void * coercedValue, unsigned char priority, Noesis::Expression * newExpression, const Noesis::PropertyMetadata * metadata, Noesis::Value::Destination destination, bool isBaseComponent) Line 894 C++ Noesis::DependencyObject::SetValue_<Noesis::Ptr<Noesis::ImageSource> >(Noesis::Int2Type<1> __formal, const Noesis::DependencyProperty * dp, Noesis::ImageSource * value, Noesis::Value::Destination destination) Line 195 C++ Noesis::DependencyObject::SetValue<Noesis::Ptr<Noesis::ImageSource> >(const Noesis::DependencyProperty * dp, Noesis::ImageSource * value) Line 60 C++ Noesis::Image::SetSource(Noesis::ImageSource *) Line 40 C++ Is this unintended behaviour? I can add locks in InspectorTextureProvider but I don't know if we're supposed to be calling SetSource from main thread, I assumed we were. E.g. we do the following in our game: String szFullPath = "Assets/UI/Image1.png"; Ptr<BitmapImage> pImageSource = MakePtr<BitmapImage>(Uri(szFullPath.Str())); pImageControl->SetSource(pImageSource); This works almost all the time, the only time it doesn't is when the internal map in the InspectorTextureProvider asserts due to being mutated on multiple threads. Any ideas? Cheers, -Steven |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0006978)
hcpizzi 2021-01-21 18:16 |
You're absolutely right, there was a race condition there. The TextureProvider is meant to be used from both threads, which leads to these problems, but your use is correct. The issue is fixed in revision 9949. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1895 | [NoesisGUI] C++ SDK | major | always | 2021-01-20 17:15 | 2021-01-21 10:21 |
Reporter: | satorp | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.8 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.10 | ||
Target Version: | 3.0.10 | ||||
Platform: | Windows | ||||
Summary: | [Inspector] Application crashes while inspecting menu item | ||||
Description: |
This seems to happen when Inspector is on the same machine as the inspected application, and when "Track focused element" is enabled. |
||||
Tags: | |||||
Steps To Reproduce: |
- Open an application which has menu, and connect Inspector to it - Enable "Track focused element" on Inspector - Open any of the application's menu - Move mouse to any of the menu's item (or use arrow keys to navigate to a menu item), but do not click on the menu item (to keep the menu open) (Notice the menu item properties will be displayed on Inspector) - Switch focus to Inspector (or any other application) (if you use mouse click to switch focus, be careful not to move the mouse across the menu bar as it will close the menu before focus is switched) - Switch back to the application (Notice the application crashes) |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0006967)
sfernandez 2021-01-20 17:23 |
Thanks for the report, I think this is the same issue we just fixed in changeset 9940. You have access to source code, right? Could you please integrate that changeset and see if your issue is solved? |
(0006973)
satorp 2021-01-21 10:09 |
@sfernandez Yes, I've confirmed that it does fix this issue. |
(0006974)
sfernandez 2021-01-21 10:21 |
Thanks for the confirmation, marking this as solved. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1893 | [NoesisGUI] C++ SDK | minor | always | 2021-01-19 18:32 | 2021-01-20 21:45 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.9 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.10 | ||
Target Version: | 3.0.10 | ||||
Platform: | Any | ||||
Summary: | MultiBindings inside DataTemplate not working | ||||
Description: |
When a MultiBinding is defined inside a template the converter is not called and it doesn't work as expected.<ItemsControl ItemsSource="{Binding Items}"> <ItemsControl.ItemTemplate> <DataTemplate> <TextBlock> <TextBlock.Text> <MultiBinding Mode="OneWay" Converter="{StaticResource MultiConverter}"> <Binding Source="{StaticResource Value1}"/> <Binding Source="{StaticResource Value2}"/> </MultiBinding> </TextBlock.Text> </TextBlock> </DataTemplate> </ItemsControl.ItemTemplate> </ItemsControl> |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1892 | [NoesisGUI] C++ SDK | minor | always | 2021-01-19 16:02 | 2021-01-19 17:00 |
Reporter: | satorp | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.0.8 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Windows | ||||
Summary: | [Inspector] Mouse selection does not work well with menu items | ||||
Description: |
Mouse selection does not work well with menu items: - The mouse selection highlight (red border) is not shown on menu items (but selection seems to work when clicking on menu item) - When Inspector and the target application are on the same computer, switching to Inspector will close the opened menu, and the visual tree of the menu will disappear. Inspector will still show the tree, but clicking on any item besides the currently selected item will display nothing on the Properties pane. |
||||
Tags: | |||||
Steps To Reproduce: |
- Open any application which has menu - Start Inspector and connect to the application - Activate application's menu bar by clicking on any of its item - Switch to Inspector and enable mouse selection - Switch back to the application by clicking on its title bar (Notice the focus will be on any of the item on menu bar) - Click on the currently active menu item (Notice the menu item will be highlighted by Inspector) - Use keyboard (Down arrow or Enter key) to open the active menu - Move mouse inside the opened menu (Notice that Inspector does not highlight items inside the menu but selection by clicking will still work) - Move mouse outside of window and move back to the menu (Notice now the highlighting works again) |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1891 | [NoesisGUI] C++ SDK | minor | always | 2021-01-19 13:49 | 2021-01-19 13:56 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.9 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.10 | ||
Target Version: | 3.0.10 | ||||
Platform: | Any | ||||
Summary: | Nine-slice ToolTips showing lines in the background when opened multiple times | ||||
Description: |
Using a nine-slice control for tooltips, and the background rectangles are not totally opaque, when the ToolTip is opened multiple times lines appear between those background rectangles. Disabling PPAA globally makes this effect disappear, so it must be related. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
ToolTipLines.png (5,043 bytes) 2021-01-19 13:52 https://www.noesisengine.com/bugs/file_download.php?file_id=1365&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1839 | [NoesisGUI] C++ SDK | major | always | 2020-11-17 12:20 | 2021-01-14 13:14 |
Reporter: | satorp | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.7 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.8 | ||
Target Version: | 3.0.8 | ||||
Platform: | Windows | ||||
Summary: | ListBoxItem selection is always reverted to the last focused item | ||||
Description: |
Consider two Views sharing a single VM which has an LBIndex property. Each View has a ListBox with its SelectedIndex bound to the VM's LBIndex property (ListBox1 on View1, and ListBox2 on View2). - Click on 1st item of ListBox1 (→1st item of ListBox2 is also selected due to binding) - Click on 2nd item of ListBox2 (→2nd item of ListBox1 is also selected due to binding) - Activate View1 by clicking anywhere on the view (except on ListBox1) - Notice that the 1st item of ListBox1 is automatically re-selected (and so is the 1st item of ListBox2) It seems that ListBoxItem always tries to select itself on view activation when it's the last item that received the input focus before the view is deactivated. Since selection state and input focus are two different concepts, I think the selection should not be automatically set. This is also how it works on WPF. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0006763)
sfernandez 2020-11-17 12:34 |
You mean you have different IView objects? Is this because you have different operating system windows? |
(0006764)
satorp 2020-11-17 13:20 |
We have two windows, each with its own IView* (returned by Noesis::CreateView) of two XAML instances. The two XAMLs share the same VM instance. |
(0006765)
sfernandez 2020-11-17 14:10 |
Ok, I checked with WPF and found that we are incorrectly changing selection when a ListBoxItem gets focus from code. WPF does not change list selection in that case. Will fix it for next release. |
(0006766)
satorp 2020-11-17 14:32 |
Thank you for the quick response. When is the next scheduled release? In the mean time, do you have any suggestion for workaround? |
(0006767)
sfernandez 2020-11-17 16:06 |
One workaround could be to remove the focus from the ListBoxItem before deactivating the view, that way, when it gets activated again, it won't restore the focus to the ListBoxItem and change the selection. Could that work for the time being? |
(0006854)
sfernandez 2020-12-02 10:39 |
Is the workaround a valid option for you? Can we lower the priority on this? |
(0006855)
satorp 2020-12-02 14:25 (Last edited: 2020-12-02 23:56) |
Sorry for late reply. I thought I've replied to this before, but don't know why the note was not added. Thank you for the workaround suggestion, but currently it's difficult to implement in our system. We still have about 1-2 months time frame, so it's fine to lower the priority for now if we can get the fix by the next release. |
(0006859)
sfernandez 2020-12-03 14:07 |
Fixed for the upcoming 3.0.8 version. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1851 | [NoesisGUI] Unity3D | crash | always | 2020-12-01 08:50 | 2021-01-12 00:48 |
Reporter: | NirHasson | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.7 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.9 | ||
Target Version: | 3.0.9 | ||||
Platform: | macOS | ||||
Summary: | Noesis 3.0.7 crash on Macbook Pro with AMD Radeon Metal Driver - Unity 2019.4.13f1 | ||||
Description: |
When running Noesis on Macbook Pro with AMD Radeon graphic card the system hangs and eventually crashes. See the attached log. |
||||
Tags: | |||||
Steps To Reproduce: |
Run a unity project with a Noesis view that utilizes offscreen rendering. Seems like that crash occurs after the call to NoesisApp::MTLRenderDevice::SetOnScreenEncoder |
||||
Additional Information: | |||||
Attached Files: |
spivi01_noesis_crash_macOS_AMD_Radeon.txt (115,411 bytes) 2020-12-01 08:50 https://www.noesisengine.com/bugs/file_download.php?file_id=1327&type=bug spivi_crash.txt (118,302 bytes) 2020-12-07 15:33 https://www.noesisengine.com/bugs/file_download.php?file_id=1340&type=bug spivi_crash1.txt (113,866 bytes) 2020-12-11 18:14 https://www.noesisengine.com/bugs/file_download.php?file_id=1343&type=bug spivi_crash1-2.txt (113,866 bytes) 2020-12-11 18:14 https://www.noesisengine.com/bugs/file_download.php?file_id=1344&type=bug spivi_crash_strong.txt (116,929 bytes) 2020-12-11 18:14 https://www.noesisengine.com/bugs/file_download.php?file_id=1345&type=bug spivi_crash_builtin.txt (116,930 bytes) 2020-12-11 18:14 https://www.noesisengine.com/bugs/file_download.php?file_id=1346&type=bug noesis.log (3,077 bytes) 2020-12-16 19:40 https://www.noesisengine.com/bugs/file_download.php?file_id=1348&type=bug tictactoe.txt (127,878 bytes) 2020-12-16 19:40 https://www.noesisengine.com/bugs/file_download.php?file_id=1349&type=bug Player.log (3,758 bytes) 2020-12-20 14:54 https://www.noesisengine.com/bugs/file_download.php?file_id=1350&type=bug noesis-2.log (34,629 bytes) 2020-12-22 16:04 https://www.noesisengine.com/bugs/file_download.php?file_id=1351&type=bug ticktac.txt (121,815 bytes) 2020-12-22 16:04 https://www.noesisengine.com/bugs/file_download.php?file_id=1352&type=bug noesis_tic_tac_works.log (164,645 bytes) 2020-12-30 13:12 https://www.noesisengine.com/bugs/file_download.php?file_id=1357&type=bug |
||||
Notes | |
(0006843)
jsantos 2020-12-01 11:00 (Last edited: 2020-12-01 11:01) |
We fixed a few crashes similar to this one in 3.0.7. Could you please confirm this is happening in 3.0.6? |
(0006844)
NirHasson 2020-12-01 11:04 (Last edited: 2020-12-01 11:05) |
This happened with the 3.0.7 debug version you've sent me and also with the 3.0.7 with the offscreen patch I've applied that fixed the other crash with the open MTL encoder. EDIT: I mentioned 3.0.6 in the subject but it actually refers to 3.0.7, just updated the subject again, sorry for the confusion. |
(0006845)
NirHasson 2020-12-01 11:07 (Last edited: 2020-12-01 11:09) |
See the attached video. https://www.dropbox.com/s/n17d1457ju1qdvz/Noesis_Crash_3.0.7_macOS.mp4?dl=0 |
(0006846)
jsantos 2020-12-01 11:16 |
I don't see anything special in the video, just a spinner : ) Is this your machine? |
(0006847)
NirHasson 2020-12-01 11:21 |
I wish it was :) - it belongs to an end-user who's willing to help with testing. There's a spinner, then the splash screen (Noesis simple XAML with animation and logo) is somehow able to be rendered for a second, and then when the main menu scene is being loaded it spins forever until it got crashed. According to the log it crashes on calling to abort, but this seems like either a call being blocked or accessing an invalid address. Thread 49 Crashed:: UnityGfxDeviceWorker 0 libsystem_kernel.dylib 0x00007fff6f10333a __pthread_kill + 10 1 libsystem_pthread.dylib 0x00007fff6f1bfe60 pthread_kill + 430 2 libsystem_c.dylib 0x00007fff6f08a808 abort + 120 3 UnityPlayer.dylib 0x000000010c2d8452 0x10ba5a000 + 8905810 4 libsystem_platform.dylib 0x00007fff6f1b45fd _sigtramp + 29 5 libsystem_malloc.dylib 0x00007fff6f174057 nanov2_calloc + 81 6 Noesis.dylib 0x000000012285da64 NoesisApp::MTLRenderDevice::SetOnScreenEncoder(id<MTLRenderCommandEncoder>, MTLPixelFormat, id<MTLRenderCommandEncoder>, unsigned int) + 164 7 Noesis.dylib 0x0000000122862e8d NoesisApp::MTLFactory::SetOnScreenEncoder(Noesis::RenderDevice*, id<MTLRenderCommandEncoder>, MTLPixelFormat, id<MTLRenderCommandEncoder>, unsigned int) + 61 8 Noesis.dylib 0x0000000122e47513 Noesis::UnityDeviceMTL::BeginRender() + 307 9 Noesis.dylib 0x0000000122e434c8 Noesis_GetRenderOnscreenCallback::$_2::operator()(int, void*) const + 216 10 Noesis.dylib 0x0000000122e433db Noesis_GetRenderOnscreenCallback::$_2::__invoke(int, void*) + 27 11 UnityPlayer.dylib 0x000000010bea747f 0x10ba5a000 + 4510847 12 UnityPlayer.dylib 0x000000010c7ce51c 0x10ba5a000 + 14107932 13 UnityPlayer.dylib 0x000000010bea85d7 0x10ba5a000 + 4515287 14 UnityPlayer.dylib 0x000000010be9e09c 0x10ba5a000 + 4472988 15 UnityPlayer.dylib 0x000000010c23566c 0x10ba5a000 + 8238700 16 libsystem_pthread.dylib 0x00007fff6f1c0109 _pthread_start + 148 17 libsystem_pthread.dylib 0x00007fff6f1bbb8b thread_start + 15 |
(0006848)
jsantos 2020-12-01 11:26 |
I would say it is a 'out of memory' error (nanov2_calloc is aborting). Could you please send me the exact 'libNoesis.so' this user is using? Because the notarizing process is altering the lib and I am not able to get a better callstack. |
(0006849)
jsantos 2020-12-01 11:27 |
Or just send me the notarized app again. Thanks! |
(0006856)
jsantos 2020-12-02 19:07 |
Hi Nir, Could you please try reproducing the crash with this debug library? https://drive.google.com/file/d/1KgVj95hI7qOjzK12XNqa60moEoPaELQd/view?usp=sharing It contains more debug information that will help me. |
(0006872)
NirHasson 2020-12-06 12:20 |
Did you get my previous links? I hope you'll be able to reproduce it on your end. |
(0006873)
jsantos 2020-12-06 14:18 |
Hi Nir, there is a private message after yours, not sure if you read it |
(0006874)
NirHasson 2020-12-06 15:01 |
Hi Jesus, No, I don't see anything after the links I've sent. |
(0006877)
jsantos 2020-12-06 17:03 |
Sorry, my fault, now you should see it |
(0006879)
NirHasson 2020-12-07 15:33 |
Ok, it crashed immediately this time. The log looks almost the same as it was with the previous debug lib you've sent me. Thread 53 Crashed:: UnityGfxDeviceWorker 0 libsystem_kernel.dylib 0x00007fff6f10333a __pthread_kill + 10 1 libsystem_pthread.dylib 0x00007fff6f1bfe60 pthread_kill + 430 2 libsystem_c.dylib 0x00007fff6f08a808 abort + 120 3 UnityPlayer.dylib 0x000000010285d212 HandleSignal(int, __siginfo*, void*) + 34 4 libsystem_platform.dylib 0x00007fff6f1b45fd _sigtramp + 29 5 libsystem_malloc.dylib 0x00007fff6f174057 nanov2_calloc + 81 6 Noesis.dylib 0x000000011e45d7b4 NoesisApp::MTLRenderDevice::SetOnScreenEncoder(id<MTLRenderCommandEncoder>, MTLPixelFormat, id<MTLRenderCommandEncoder>, unsigned int) + 164 7 Noesis.dylib 0x000000011e462e6d NoesisApp::MTLFactory::SetOnScreenEncoder(Noesis::RenderDevice*, id<MTLRenderCommandEncoder>, MTLPixelFormat, id<MTLRenderCommandEncoder>, unsigned int) + 61 8 Noesis.dylib 0x000000011ea47520 Noesis::UnityDeviceMTL::BeginRender() + 352 9 Noesis.dylib 0x000000011ea434a8 Noesis_GetRenderOnscreenCallback::$_2::operator()(int, void*) const + 216 10 Noesis.dylib 0x000000011ea433bb Noesis_GetRenderOnscreenCallback::$_2::__invoke(int, void*) + 27 11 UnityPlayer.dylib 0x0000000101d687ad GfxDeviceWorker::RunCommand(ThreadedStreamBuffer&) + 41885 12 UnityPlayer.dylib 0x0000000102f9007c GfxDeviceWorkerAutoreleasePoolProxy + 60 13 UnityPlayer.dylib 0x0000000101d695b7 GfxDeviceWorker::RunExt(ThreadedStreamBuffer&) + 87 14 UnityPlayer.dylib 0x0000000101d5e1e8 GfxDeviceWorker::RunGfxDeviceWorker(void*) + 152 15 UnityPlayer.dylib 0x000000010273579c Thread::RunThreadWrapper(void*) + 1276 16 libsystem_pthread.dylib 0x00007fff6f1c0109 _pthread_start + 148 17 libsystem_pthread.dylib 0x00007fff6f1bbb8b |
(0006880)
jsantos 2020-12-09 15:22 |
The new crash reveals a bit more information but it is not enough. The crash is happening when Metal is trying to acquire memory. I have been unable to reproduce this in any of my machines. Just a few questions: 1. How many clients are having this crash? 2. In the given report I see the machine has two GPUs, could you try manually selecting each GPU (passing -force-device-index to Unity) to see if the error happens only in one of the GPU or in both? Thanks! |
(0006881)
jsantos 2020-12-09 16:38 |
More questions that may hep to narrow this: 1. Please, confirm this also happens on release builds of Noesis (3.0.8 already includes the offscreen patch if you want to try it) 2. Reading the description 'Run a unity project with a Noesis view that utilizes offscreen rendering', does it mean that this also happen with a minimal sample? |
(0006882)
NirHasson 2020-12-09 16:45 |
- It happens on every Macbook pro machine with AMD GPU as far as we know. - I'm not sure how to run it with the command line args as we wrap the unity app with an external app. According to the docs it is relevant only to the Editor: "-force-device-index When using Metal, make the Editor use a particular GPU device by passing it the index of that GPU (macOS only)." - It happens with the offscreen patch as well. - I'll have to verify it and send a sample build to test. |
(0006883)
jsantos 2020-12-09 17:06 |
Could you please indicate a list of machines where this is happening? We need to buy a new device for this because I am not able to reproduce the issue. |
(0006884)
NirHasson 2020-12-09 17:23 |
This is our tester device where it happens every time: Device MacBookPro16,1 OS Version Mac OS X 10.15.7 CPU Intel(R) Core(TM) i9-9980HK CPU @ 2.40GHz GFX AMD Radeon Pro 5300M These are other machines that crash: Device MacBookPro16,1 OS Version Mac OS X 10.15.7 CPU Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz GFX AMD Radeon Pro 5500M Device MacBookPro15,1 OS Version Mac OS X 10.15.7 CPU Intel(R) Core(TM) i7-8850H CPU @ 2.60GHz GFX AMD Radeon Pro 560X Device MacBookPro16,1 OS Version Mac OS X 10.15.7 CPU Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz GFX AMD Radeon Pro 5500M |
(0006885)
jsantos 2020-12-09 18:19 |
By the way, "-force-device-index" is also listed in "Unity Standalone Player command line arguments" |
(0006886)
jsantos 2020-12-09 19:03 |
I have created a new debug library, could you please try on your tester device? https://drive.google.com/file/d/1QDT1QOda2xBI3y0IjN6ZenI3a4jzYOOy/view?usp=sharing |
(0006891)
jsantos 2020-12-11 16:36 |
Hi Nir, anything new about this? |
(0006894)
NirHasson 2020-12-11 18:14 |
Hi Jesus, Yes, the tester checked the following and all got crashed: 1. Simple Tic Tac Toc scene - spivi_crash1.txt 2. Latest debug library with standard command line - spivi_crash2.txt 3. Latest debug library with device index 0 - spivi_crash_builtin.txt 4. Latest debug library with device index 1 - spivi_crash_strong.txt |
(0006895)
jsantos 2020-12-14 14:42 |
Could you also attach Simple Tic Tac Toe with latest debug please? I assume Simple Tic Tac Toe is just our example without modifications in a clean installation of Unity right? |
(0006896)
jsantos 2020-12-14 14:43 |
If you could also attach the crash reports from those other machines you mention (not your tester).... |
(0006897)
NirHasson 2020-12-14 14:45 |
Tic Tac Toe is your sample scene without any modification exported from our project. I don't have the other crash reports, only the Unity version of them if it helps. |
(0006898)
jsantos 2020-12-14 15:13 |
Could you please use Tic Tac Toe from a clean project? Just to make sure, this is not related to any project settings. Regarding the other crash reports, nah, Unity version is not going to help. Thank you. For now, all the information I have is extremely confusing and the call stack doesn't make sense. |
(0006899)
jsantos 2020-12-14 16:20 |
I have also generated a new debug lib (number 3) that writes extra information at /tmp/noesis.log. Could you send it to your tester to get a crash and send me 'noesis.log' to get more information about the crash? https://drive.google.com/file/d/1s2RUeCPwqjDnQ2Mg17KabvkStjDNvW41/view?usp=sharing |
(0006900)
NirHasson 2020-12-16 14:05 |
Ok, I'll try that. Where is the /tmp/noesis.log located? WIll it write to the root folder? |
(0006901)
jsantos 2020-12-16 14:13 |
Yes, root folder. At least on my machine, it seems /tmp can be written by any process. |
(0006902)
NirHasson 2020-12-16 14:51 |
Here's a link to a clean build with the latest build. I can't find tmp/noesis.log anywhere on my machine. https://spivi-cdn.s3.amazonaws.com/software/macOS/install/TicTacToe-1.0.0.pkg |
(0006903)
jsantos 2020-12-16 14:54 |
Maybe doing this? https://apple.stackexchange.com/questions/32377/how-do-i-browse-tmp-in-finder |
(0006904)
NirHasson 2020-12-16 15:19 |
Yes, that works! I just used the finder and it is not available at first glance unless you reveal it from the console. |
(0006905)
jsantos 2020-12-16 15:36 |
Great! Let's see what happens on your tester machine. It should crash and provide useful information in noesis.log. Please provide both noesis.log and crash report. |
(0006906)
NirHasson 2020-12-16 19:40 |
Here it is, Clean unity project 2019.4.13f1, Noesis 3.0.8, latest debug lib. Crashed immediately after the Unity splash screen. |
(0006907)
jsantos 2020-12-17 14:37 |
I probably should have asked this before, but could you also attach the unity.log corresponding to the crash? (make sure it is a development build please) |
(0006908)
NirHasson 2020-12-18 09:23 |
It is a development build for sure. I’ll ask the tester to send it next week |
(0006909)
NirHasson 2020-12-20 14:54 |
Here it is. |
(0006912)
jsantos 2020-12-21 16:38 (Last edited: 2020-12-21 16:40) |
Hi! Please, try this new debug library (version 4) to collect more information. Only testing with TicTacToe is enough, I only need the noesis.log file and crash file. https://drive.google.com/file/d/1Up0-XDQJ3hjYpLiuakVu0Y7Tzo92ZLBX/view?usp=sharing |
(0006913)
jsantos 2020-12-21 16:42 |
I am pretty sure this is already activated, but please, double check that [x] Metal API Validation is enabled in Player settings. |
(0006914)
NirHasson 2020-12-22 16:04 |
Yes, metal validation is checked. Here are the logs from the latest. |
(0006916)
jsantos 2020-12-24 11:40 |
We are hitting a "Compiler encountered an internal error". Seems to be a bug in the driver. But with the information I have, let's see if we can find a workaround. Please, try the following new debug library. Right now, I only need 'noesis.log'. https://drive.google.com/file/d/1iOnYJO54GLheIC6SGBjIBVISMCVzdr7g/view?usp=sharing |
(0006920)
NirHasson 2020-12-30 07:07 |
Seems like we lost our tester. Is there any chance you can test on your end? |
(0006921)
jsantos 2020-12-30 10:24 |
Hi Nir, we are not able to reproduce the issue on our devices. Are we 100% sure we lost the tester? Let me see if I find a way to rent a similar mac. |
(0006922)
NirHasson 2020-12-30 11:40 |
Almost 100%, I sent the latest build last Thursday and didn't get any response yet. I guess he simply lost his patience for doing this. |
(0006923)
jsantos 2020-12-30 11:43 |
Yes, sorry about that. We are going to get one. By your comments it seems we can try any macbook pro with AMD Radeon GPU right? |
(0006924)
NirHasson 2020-12-30 11:47 |
Yes, it looks like that. See the logs for the full specs: Model: MacBookPro16,1, BootROM 1554.60.15.0.0 (iBridge: 18.16.13030.0.0,0), 8 processors, 8-Core Intel Core i9, 2.4 GHz, 32 GB, SMC Graphics: kHW_IntelUHDGraphics630Item, Intel UHD Graphics 630, spdisplays_builtin Graphics: kHW_AMDRadeonPro5300MItem, AMD Radeon Pro 5300M, spdisplays_pcie_device, 4 GB |
(0006925)
jsantos 2020-12-30 12:27 |
Just ordered this one https://www.amazon.es/dp/B081G9YQ73/ref=es_a_macbook_3?th=1 I hope we are able to reproduce the issue. Let's keep fingers crossed : ) |
(0006926)
NirHasson 2020-12-30 12:30 |
Great, thanks for the update - it looks pretty consistent on our end, fingers crossed! |
(0006927)
NirHasson 2020-12-30 13:12 |
You're probably going to kill me :) The tester just got back to me and now the Tic Tac Toc game works. |
(0006928)
jsantos 2020-12-30 13:18 |
It works because I modified the shader, trying to detect what part is causing the internal error in the compiler. These changes won't get correct text rendering. Let me see if I can generate another patch, we are close. |
(0006929)
jsantos 2020-12-30 13:27 |
I have generated two new debug libraries (6, 7): https://drive.google.com/file/d/1vkPo_keGGrxbmU29pupp4FDs-PJA-s7W/view?usp=sharing https://drive.google.com/file/d/1biYr3beRG8ZzdvYxxjIKNOSbjnHTp-LG/view?usp=sharing Let see if the tester can try them. I only need noesis.log for each one. I tried to generate this as fast as possible. : ) |
(0006933)
NirHasson 2020-12-30 16:14 |
Ok, created the builds and waiting for him. Will keep you posted. |
(0006942)
jsantos 2020-12-31 14:21 |
The new machine is here and I am able to reproduce the issue! So, we no longer need your tester. Thanks for the effort! Could you also send me the latest version you sent to your tester? |
(0006946)
jsantos 2021-01-03 15:37 |
Finally, we fixed this. Thanks a lot for your patience and amazing feedback. You can check the fix at https://drive.google.com/file/d/1yhrfk9EOWBekg5kzO0PsCvxi4j3M_KxM/view?usp=sharing Note this is still a debug library. We are planning a few more improvements and everything will be available with 3.0.9 (in a few days). |
(0006948)
NirHasson 2021-01-07 14:47 |
Hi Jesus, Great news! I missed the updates during the last week. Here are the builds: https://spivi-cdn.s3.amazonaws.com/software/macOS/install/TicTacToe-1.0.3.pkg https://spivi-cdn.s3.amazonaws.com/software/macOS/install/TicTacToe-1.0.4.pkg We've updated to Unity 2019.4.17 but I guess that won't be a problem. |
(0006951)
jsantos 2021-01-12 00:48 |
I am going to close this, thanks again for the feedback! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1875 | [NoesisGUI] C++ SDK | crash | random | 2021-01-07 16:29 | 2021-01-12 00:44 |
Reporter: | tom1314 | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.8 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.9 | ||
Target Version: | 3.0.9 | ||||
Platform: | Windows | ||||
Summary: | Unknown random crash on DispatcherObject::VerifyAccess+0x3 | ||||
Description: |
I have a random crash reported by some user. It shows the crash on "DispatcherObject::VerifyAccess+0x3". I guess it is cross thread accessing the UI object but after analyzing the minidump, I am sure that I am calling the view->Update() function from the correct thread. The minidump is attached and I am using the latest public build of 3.0.8 |
||||
Tags: | C++ | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1871 | [NoesisGUI] Unity3D | crash | always | 2020-12-30 14:16 | 2021-01-07 21:22 |
Reporter: | asusralis | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.6 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.9 | ||
Target Version: | 3.0.9 | ||||
Platform: | Any | ||||
Summary: | Crash in editor. | ||||
Description: | After editing a few unity resources and then going to play the game the editor crashes. I tried updating to 3.0.8 to see if it was fixed there but the game almost immediately crashed from something unrelated to this. I am also using a custom .dll given to me from this bug report: https://www.noesisengine.com/bugs/view.php?id=1806 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
Crash_2020-12-30_002839518.zip (644,235 bytes) 2020-12-30 14:16 https://www.noesisengine.com/bugs/file_download.php?file_id=1358&type=bug |
||||
Notes | |
(0006930)
jsantos 2020-12-30 15:15 |
Thanks for the report, could you please also create another ticket for this "I tried updating to 3.0.8 to see if it was fixed there but the game almost immediately crashed from something unrelated to this" |
(0006931)
asusralis 2020-12-30 15:29 |
Sure: https://www.noesisengine.com/bugs/view.php?id=1872 |
(0006934)
sfernandez 2020-12-30 16:34 (Last edited: 2020-12-30 16:37) |
The crash dump points to some code inside DirectX while creating a texture:d3d11.dll!C10and11View<ID3D11DepthStencilView,ID3D10DepthStencilView>::C10and11View<ID3D11DepthStencilView,ID3D10DepthStencilView> Unknown d3d11.dll!CShaderResourceView::CShaderResourceView Unknown d3d11.dll!CDevice::CreateLayeredChild Unknown d3d11.dll!NDXGI::CDeviceChild<IDXGISurface,IUnknown>::FinalConstruct Unknown d3d11.dll!NDXGI::CDevice::CreateLayeredChild Unknown d3d11.dll!NOutermost::CDevice::CreateLayeredChild Unknown d3d11.dll!CDevice::CreateShaderResourceView_Worker Unknown d3d11.dll!CDevice::CreateShaderResourceView Unknown > Noesis.dll!NoesisApp::D3D11RenderDevice::WrapTexture Line 370 C++ Noesis.dll!NoesisApp::D3D11Factory::WrapTexture Line 28 C++ [Inline Frame] Noesis.dll!Noesis_WrapD3D11Texture Line 124 C++ Noesis.dll!Noesis::UnityDeviceD3D11::WrapTexture Line 146 C++ Noesis.dll!`anonymous namespace'::TextureProviderUnity::LoadTexture Line 604 C++ Noesis.dll!Noesis::InspectorTextureProvider::LoadTexture Line 201 C++ Noesis.dll!Noesis::VGLContext::CreateImage Line 547 C++ Noesis.dll!Noesis::BitmapImageProxy::CreateImage Line 45 C++ Noesis.dll!Noesis::ImageSourceProxy::GetImage Line 34 C++ Noesis.dll!Noesis::RenderTreeHelper::DrawCommands Line 261 C++ [Inline Frame] Noesis.dll!Noesis::RenderTreeHelper::RenderDraw Line 770 C++ Noesis.dll!Noesis::RenderTreeHelper::RenderNodeRecursive Line 730 C++ ... [Inline Frame] Noesis.dll!Noesis::RenderTreeHelper::RenderChildren Line 787 C++ Noesis.dll!Noesis::RenderTreeHelper::RenderNodeRecursive Line 730 C++ Noesis.dll!Noesis::RenderTreeHelper::Render Line 127 C++ Noesis.dll!Noesis::RenderTree::Render Line 292 C++ Noesis.dll!Noesis::Renderer::Render Line 225 C++ Noesis.dll!Noesis::Renderer::Render Line 187 C++ Noesis.dll!Noesis_GetRenderOnscreenCallback::__l2::<lambda> Line 445 C++ Unity.exe!GfxDeviceWorker::RunCommand Unknown Unity.exe!GfxDeviceWorker::RunExt Unknown Unity.exe!GfxDeviceWorker::RunGfxDeviceWorker Unknown Unity.exe!Thread::RunThreadWrapper Unknown kernel32.dll!BaseThreadInitThunk Unknown ntdll.dll!RtlUserThreadStart Unknown We'll probably need more help from you to determine the cause of the crash, I'll let you know. |
(0006935)
jsantos 2020-12-30 17:25 |
Is there a deterministic way to reproduce this? |
(0006941)
sfernandez 2020-12-31 13:18 |
Now that I have your project, could you please indicate the steps I should follow to reproduce this crash? Is it possible that it happens after modifying textures outside Unity? |
(0006943)
asusralis 2021-01-03 14:43 |
Sorry, it seems I'm not getting an email when you reply to any thread. >Is it possible that it happens after modifying textures outside Unity? Yes, that is what's happening. I edit a few textures and go to play the game and it crashes. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1872 | [NoesisGUI] C++ SDK | crash | always | 2020-12-30 15:29 | 2021-01-07 18:58 |
Reporter: | asusralis | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.8 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.9 | ||
Target Version: | 3.0.9 | ||||
Platform: | Any | ||||
Summary: | Crash from clicking button | ||||
Description: |
When upgrading from 3.06 -> 3.0.8, a button makes Unity crash. It does not show any error and no crash logs are created. Video of it happening, thought I don't know if it helps: https://files.catbox.moe/djagdk.mp4 It seems once I move my tooltip from the button it stops crashing, but it seems when I tried to add it back (out of playing) the editor crashed when the xaml was reimporting (?). My tooltip is a custom one that is made to follow the mouse. public class SmartToolTip : ToolTip { private UIElement _targetElement; private TranslateTransform _transform; public static readonly DependencyProperty HeaderProperty = DependencyProperty.Register("Header", typeof(string), typeof(SmartToolTip)); public static readonly DependencyProperty HorizontalPlacementProperty = DependencyProperty.Register("HorizontalPlacement", typeof(HorizontalPlacement), typeof(SmartToolTip), new PropertyMetadata(HorizontalPlacement.Right)); public static readonly DependencyProperty VerticalPlacementProperty = DependencyProperty.Register("VerticalPlacement", typeof(VerticalPlacement), typeof(SmartToolTip), new PropertyMetadata(VerticalPlacement.Top)); public string Header { get => (string)GetValue(HeaderProperty); set => SetValue(HeaderProperty, value); } public HorizontalPlacement HorizontalPlacement { get => (HorizontalPlacement)GetValue(HorizontalPlacementProperty); set => SetValue(HorizontalPlacementProperty, value); } public VerticalPlacement VerticalPlacement { get => (VerticalPlacement)GetValue(VerticalPlacementProperty); set => SetValue(VerticalPlacementProperty, value); } private void UpdatePosition(Point position) { #if UNITY_5_3_OR_NEWER //UnityEngine.Debug.Log($"X: {position.X}, Y: {position.Y}"); #endif Point spacing = new Point(40, 40); Point offset = new Point( HorizontalPlacement == HorizontalPlacement.Left ? -ActualWidth - spacing.X : spacing.X, VerticalPlacement == VerticalPlacement.Top ? 0 : -ActualHeight); HorizontalOffset = position.X + offset.X; VerticalOffset = position.Y + offset.Y; } private void PlacementTarget_MouseMove(object sender, MouseEventArgs e) { if(_targetElement != null) { var position = e.GetPosition(_targetElement); UpdatePosition(position); } } public SmartToolTip() { Opened += SmartToolTip_Opened; Closed += SmartToolTip_Closed; ToolTipClosing += SmartToolTip_ToolTipClosing; Loaded += (s, e) => { }; } private void SmartToolTip_Closed(object sender, RoutedEventArgs args) { if (_targetElement != null) { _targetElement.MouseMove -= PlacementTarget_MouseMove; SizeChanged -= SmartToolTip_SizeChanged; _targetElement = null; } } private void SmartToolTip_ToolTipClosing(object sender, ToolTipEventArgs args) { if (_targetElement != null) { _targetElement.MouseMove -= PlacementTarget_MouseMove; } } private void SmartToolTip_Opened(object sender, RoutedEventArgs args) { if(PlacementTarget != null) { #if UNITY_5_3_OR_NEWER // UnityEngine.Debug.Log("Tooltip opened."); #endif _targetElement = PlacementTarget; _targetElement.MouseMove += PlacementTarget_MouseMove; SizeChanged += SmartToolTip_SizeChanged; UpdatePosition(Mouse.GetPosition(_targetElement)); } } private void SmartToolTip_SizeChanged(object sender, SizeChangedEventArgs e) { UpdatePosition(Mouse.GetPosition(_targetElement)); } static SmartToolTip() { DefaultStyleKeyProperty.OverrideMetadata(typeof(SmartToolTip), new FrameworkPropertyMetadata(typeof(SmartToolTip))); } } |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0006932)
asusralis 2020-12-30 15:42 |
And here is the tooltip style: <Style TargetType="local:SmartToolTip"> <Setter Property="Foreground" Value="Transparent" /> <Setter Property="Background" Value="{StaticResource Window.Background}" /> <Setter Property="BorderBrush" Value="{StaticResource Window.BorderBrush}" /> <Setter Property="HorizontalPlacement" Value="Right" /> <Setter Property="MaxWidth" Value="650" /> <Setter Property="Placement" Value="Relative" /> <Setter Property="VerticalPlacement" Value="Bottom" /> <Setter Property="BorderThickness" Value="{StaticResource Window.BorderThickness}" /> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type local:SmartToolTip}"> <local:NineSliceControl MaxWidth="{TemplateBinding MaxWidth}" Padding="5" ImageSource="{StaticResource AltBorder}"> <Grid> <StackPanel> <TextBlock Text="{TemplateBinding Header}"> <TextBlock.Style> <Style BasedOn="{StaticResource {x:Type TextBlock}}" TargetType="TextBlock"> <Setter Property="Visibility" Value="Visible" /> <Style.Triggers> <DataTrigger Binding="{Binding RelativeSource={RelativeSource Self}, Path=Text}" Value="{x:Null}"> <Setter Property="Visibility" Value="Collapsed" /> </DataTrigger> </Style.Triggers> </Style> </TextBlock.Style> </TextBlock> <ContentPresenter /> </StackPanel> </Grid> </local:NineSliceControl> </ControlTemplate> </Setter.Value> </Setter> </Style> |
(0006936)
sfernandez 2020-12-30 17:33 |
Using the provided class and style I'm not able to reproduce the crash. If you could provide access to your repository again (in the past you gave me access to a branch named testme-dev) I can find the problem faster. |
(0006937)
asusralis 2020-12-30 19:23 |
I think you still have access to it. Checkout 3.0.8-dev, play, start game, settle city, and click on any product in the city tab. Sometimes you need to move the cursor in the button after clicking it to have it crash. |
(0006938)
asusralis 2020-12-30 19:25 |
Oh, you don't even need to click the button. I think the tooltip closing makes it crash. |
(0006939)
sfernandez 2020-12-31 11:49 |
Thanks for the information, I'll check it right now. |
(0006940)
sfernandez 2020-12-31 13:12 |
Found the problem, please try the following patched library: https://drive.google.com/file/d/18XKLbZpANMsWm2oQW-kUknzfvN9mlxyn/view?usp=sharing |
(0006944)
asusralis 2021-01-03 14:48 |
Yes, I believe that fixed it. Thanks! |
(0006945)
asusralis 2021-01-03 14:50 |
Is there any reason why I'm not getting emails anymore? It seems like I should be looking at my preferences. I also keep receving this error when trying to reply to things: https://i.imgur.com/vOW8hhs.png |
(0006947)
jsantos 2021-01-03 20:18 |
I fixed the error regarding the timeout. About not getting emails, sometimes it happens, I will check tomorrow if there is something wrong at our side. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1876 | [NoesisGUI] Unreal | crash | sometimes | 2021-01-07 18:56 | 2021-01-07 18:58 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.8 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.9 | ||
Target Version: | 3.0.9 | ||||
Platform: | Any | ||||
Summary: | LoadTexture crash in Unreal because it uses LoadObject in render thread | ||||
Description: |
There is a crash on LoadTexture and GetTexture with a message: > Unable to load /NTUI/Interface/Assets/ConstructionImages/DotGrid2x2_40x40. Objects and Packages can only be loaded from the game thread. Here is a callstack: > UE4Editor-CoreUObject.dll!LoadPackageInternal() Line 1066 C++ UE4Editor-CoreUObject.dll!LoadPackage() Line 1427 C++ UE4Editor-CoreUObject.dll!ResolveName() Line 767 C++ UE4Editor-CoreUObject.dll!StaticLoadObjectInternal() Line 829 C++ UE4Editor-CoreUObject.dll!StaticLoadObjectInternal() Line 880 C++ UE4Editor-CoreUObject.dll!StaticLoadObject() Line 904 C++ [Inline Frame] UE4Editor-NoesisRuntime.dll!LoadObject() Line 1327 C++ UE4Editor-NoesisRuntime.dll!FNoesisTextureProvider::GetTexture() Line 72 C++ UE4Editor-NoesisRuntime.dll!FNoesisTextureProvider::LoadTexture() Line 94 C++ [External Code] UE4Editor-NoesisRuntime.dll!UNoesisInstance::NativePaint::__l5::<lambda>() Line 651 C++ ... It looks that the crash is caused by referencing an image that has been unloaded to GC. The issue is only happening in Standalone version and not in PIE |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1415 | [NoesisGUI] C++ SDK | block | always | 2019-02-27 07:23 | 2020-12-24 12:58 |
Reporter: | nikobarli | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 2.2.0b6 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Windows | ||||
Summary: | Drawing Path takes a very long time when the pitch is less than 0.5 pixel | ||||
Description: |
We have a scenario where we draws a line path from approx 1000~2000 points, and in some cases NoesisGUI rendering became very slow to more than 500 ms (less than 2 fps). We tracked down the problem and it seems that it happens when the pitch of the points are less than 0.5 pixel. I attached the sample XAML and cpp that reproduce the problem and the screen shot. Please adjust the bar so that the pitch length becomes less than 0.5. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
DataBinding.cpp (3,807 bytes) 2019-02-27 07:23 https://www.noesisengine.com/bugs/file_download.php?file_id=975&type=bug DataBinding.xaml (1,353 bytes) 2019-02-27 07:23 https://www.noesisengine.com/bugs/file_download.php?file_id=976&type=bug PathRenderingSlow.PNG (7,991 bytes) 2019-02-27 07:23 https://www.noesisengine.com/bugs/file_download.php?file_id=977&type=bug HotSpot.PNG (58,163 bytes) 2019-02-27 07:47 https://www.noesisengine.com/bugs/file_download.php?file_id=978&type=bug NoesisPathSlow.patch (24,151 bytes) 2020-09-07 14:42 https://www.noesisengine.com/bugs/file_download.php?file_id=1294&type=bug |
||||
Notes | |
(0005484)
nikobarli 2019-02-27 07:47 |
I ran ETW to find the hotspot. |
(0005487)
jsantos 2019-03-01 13:21 |
The tessellator is going nuts at that resolution. I will have a look at it later. Meanwhile could you limit the pitch length? |
(0005490)
nikobarli 2019-03-02 02:45 |
We are still away from release date, so I think we can wait for the fix. |
(0006614)
nikobarli 2020-09-04 06:33 |
Hi Jesus, Is there any update on this ? We deferred implementing a feature to the next version due to this. Is is possible to have this fix in Noesis 3.0.x ? |
(0006615)
jsantos 2020-09-04 17:11 |
Hi Niko, No updates yet sorry about it. Yes, I want to have this fixed in 3.0.X Do you think it is possible to pack a minimal application reproducing the issue? Thanks! |
(0006617)
nikobarli 2020-09-07 14:42 |
Hi Jesus, I attached a patch for your HelloWorld demo program (Noesis version 2.x). Please adjust the slider to make the pitch lower than 0.5 to reproduce the problem. |
(0006851)
jsantos 2020-12-01 18:20 |
Hi Niko, I am already working on this, the internal tessellator is being optimized. I will keep you posted. |
(0006910)
jsantos 2020-12-21 13:25 (Last edited: 2020-12-21 13:27) |
Hi Niko, we have a new tessellator, it is around 10x faster that the current one. I have been trying your scenario today and although it is a lot faster it is still inefficient. The main reason is that when pitch goes under 0.5 the lines (stroked lines) start to auto-intersect and generate a lot of extra points. There are ways to improve this in the tessellator, but it is going to add more overhead to normal cases so I don't think that's a good idea. There are different solutions to solve this very efficiently. First, in 3.1 we are improving the *OnRender* virtual call to be very fast. So, once we have that in that 3.1 we recommend moving your code to *OnRender* and draw all the lines you need there. While you are in 3.0, I recommend the following: - Use MeshGeometry class to manually generate vertices and indices for your path. That way, we avoid the tessellator and the stroker. This solution is also very fast but a bit cumbersome in comparison with *OnRender*. - Probably under a pitch of 0.5 you want to render a solid quad, beacuse at that point you barely see the lines and they generate a lot of aliasing. Please, let me know your thoughts. The new tessellation is being integrated into /trunk/ this week. |
(0006911)
jsantos 2020-12-21 13:41 (Last edited: 2020-12-21 13:42) |
I also was able to slightly improve the efficiency of your code by generating individual lines instead of connected lines. This generates less geometry as the join is avoided.void setupPath() { float yBase = 50; m_pitch = (float)m_length / (float)m_count; m_pathData = MakePtr<StreamGeometry>(); StreamGeometryContext context = m_pathData->Open(); Point last = Point(0, yBase); for (int i = 0; i < m_count; i++) { float x = i * m_pitch; float y = yBase + (((i % 2) == 0) ? 10 : -10); context.BeginFigure(last, false); context.LineTo(Point(x, y)); last = Point(x, y); } context.Close(); OnPropertyChanged("Pitch"); OnPropertyChanged("PathData"); } |
(0006915)
nikobarli 2020-12-23 01:00 |
Hi Jesus, Thank you for the update. We confirm that the workaround for 3.0 using MeshGeometry is feasible for us. So I think you can go forward with your plan. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1864 | [NoesisGUI] C++ SDK | feature | have not tried | 2020-12-22 20:55 | 2020-12-22 20:56 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.8 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.9 | ||
Target Version: | 3.0.9 | ||||
Platform: | Any | ||||
Summary: | Add an interactivity action to load xaml files dynamically | ||||
Description: |
It would be very useful to create an action that loads xaml files without creating code-behind classes. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1856 | [NoesisGUI] C++ SDK | feature | always | 2020-12-09 07:29 | 2020-12-14 11:38 |
Reporter: | Logris | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.0.8 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Windows | ||||
Summary: | D3D11Factory::WrapTexture wrap _UNTYPLESS textures | ||||
Description: |
Hi, NoesisApp:: RenderContext created with sRGB flag Engine RenderTarget has the formats: Texture2D - DXGI_FORMAT_R8G8B8A8_TYPELESS, ShaderResourceView - DXGI_FORMAT_R8G8B8A8_UNORM NoesisApp::D3D11Factory::WrapTexture (...) creates a ShaderResourceView DXGI_FORMAT_R8G8B8A8_UNORM format for such a texture, as a result Noesis :: Image will be highlighted. If you create a ShaderResourceView in the DXGI_FORMAT_R8G8B8A8_UNORM_SRGB format, then the texture will be displayed without re-highlighting. I suggest adding the asSRGB parameter to the WrapTexture method: WrapTexture(ID3D11Texture2D* texture, uint32_t width, uint32_t height, uint32_t levels, bool isInverted, bool asSRGB) { if(asSRGB) { create ShaderResourceView in DXGI_FORMAT_R8G8B8A8_UNORM_SRGB format } else { create ShaderResourceView DXGI_FORMAT_R8G8B8A8_UNORM format } } I also suggest adding an overloaded version: WrapTexture(ID3D11ShaderResourceView* view, uint32_t width, uint32_t height, uint32_t levels, bool isInverted, bool asSRGB); |
||||
Tags: | C++, Directx11 | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1316 | [NoesisGUI] Unity3D | minor | always | 2018-06-27 16:43 | 2020-12-11 16:34 |
Reporter: | mingingmingler | Platform: | PC | ||
Assigned To: | sfernandez | OS: | Windows | ||
Priority: | normal | OS Version: | 10 x64 | ||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.0 | ||||
Platform: | Any | ||||
Summary: | OpacityMask doesn't support VisualBrush even when binding an existing element to Visual | ||||
Description: |
I'm trying to implement a simple color tint for flat shaded vector icons without having to dig into the graphic resource definitions to bind colors to the paths. This involves using a Grid with the appropriate color set to the Background, and then using an OpacityMask with the VisualBrush bound to an element with the vector icon in it. According to this post https://www.noesisengine.com/forums/viewtopic.php?t=770#p4234 and this resource http://www.noesisengine.com/docs/Gui.Core._VisualBrush.html VisualBrush should support binding to a Visual, but Unity throws the following error when trying to use it: NoesisException: VisualBrush not supported yet as OpacityMask brush Rethrow as NoesisException Noesis.Error.Check () (at Assets/NoesisGUI/Plugins/API/Core/NoesisError.cs:17) Noesis.View.Noesis_View_Update_ (System.Runtime.InteropServices.HandleRef view, System.Double timeInSeconds) (at Assets/NoesisGUI/Plugins/API/Core/NoesisView.cs:529) Noesis.View.Update (System.Double timeInSeconds) (at Assets/NoesisGUI/Plugins/API/Core/NoesisView.cs:294) NoesisView.LateUpdate () (at Assets/NoesisGUI/Plugins/NoesisView.cs:674) |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0006889)
ai_enabled 2020-12-11 15:51 |
Hi guys, I wish you will finally add support for this useful feature! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1853 | [NoesisGUI] Unity3D | crash | always | 2020-12-04 16:12 | 2020-12-11 12:13 |
Reporter: | blafollette | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.7 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.9 | ||
Target Version: | 3.0.9 | ||||
Platform: | Windows | ||||
Summary: | Unity crash being caused by a ListView ScollViewer style's GridViewHeaderRowPresenter element | ||||
Description: |
In our Unity project, we have a ListView with a style targeting type ScrollViewer. In the ScrollViewer element inside a ControlTemplate part of the style, we have a GridViewHeaderRowPresenter. What we're seeing is that this setup works just fine in WPF, but in Unity (either editor or build) viewing the pages which use the ListView control described above, we quickly get a crash with the following description: [Code] Description: Faulting application name: Unity.exe, version: 2019.4.9.65162, time stamp: 0x5f3b4240 Faulting module name: ucrtbase.dll, version: 10.0.18362.1110, time stamp: 0xb4cacc38 Exception code: 0xc0000409 Fault offset: 0x000000000006dace Faulting process id: 0x6080 Faulting application start time: 0x01d6a78595d5865b Faulting application path: D:\Unitys\2019.4.9f1\Editor\Unity.exe Faulting module path: C:\WINDOWS\System32\ucrtbase.dll [/Code] This happens with no more specification than: [Code] <ScrollViewer Focusable="False" HorizontalScrollBarVisibility="Hidden" VerticalScrollBarVisibility="Hidden" PanningMode="HorizontalFirst"> <GridViewHeaderRowPresenter/> </ScrollViewer> [/Code] If we remove <GridViewHeaderRowPresenter/> from the style declaration, the crash no longer occurs. NOTE: I haven't been able to find any .dmp file associated with the crash. Attached are the Windows Event Viewer log of the error, and the player.log from the compiled Unity build of the project from when the app crashed with this error. I have also attached a copy of the callstack from attaching VS after a crash, and the final exit point source as given from the pdb for ucrtbase.dll |
||||
Tags: | |||||
Steps To Reproduce: |
1. Add the attached page with the list view and the attached style page to a project 2. add at least one other page to allow navigation back and forth to the list view page. 3. navigate back and forth, causing the list view page to load multiple times 4. eventually the crash will occur |
||||
Additional Information: | |||||
Attached Files: |
ListViewControlPage.xaml (881 bytes) 2020-12-04 16:12 https://www.noesisengine.com/bugs/file_download.php?file_id=1331&type=bug Style.xaml (1,174 bytes) 2020-12-04 16:12 https://www.noesisengine.com/bugs/file_download.php?file_id=1332&type=bug EventViewer.log (1,994 bytes) 2020-12-04 16:12 https://www.noesisengine.com/bugs/file_download.php?file_id=1333&type=bug Player.log (69,941 bytes) 2020-12-04 16:12 https://www.noesisengine.com/bugs/file_download.php?file_id=1334&type=bug purevirt.cpp (1,099 bytes) 2020-12-04 16:12 https://www.noesisengine.com/bugs/file_download.php?file_id=1335&type=bug VS_callstack.txt (968 bytes) 2020-12-04 16:12 https://www.noesisengine.com/bugs/file_download.php?file_id=1336&type=bug VS_Unity_callstack.txt (1,835 bytes) 2020-12-04 16:23 https://www.noesisengine.com/bugs/file_download.php?file_id=1337&type=bug Unity.dmp (1,740,670 bytes) 2020-12-04 18:04 https://www.noesisengine.com/bugs/file_download.php?file_id=1338&type=bug Unity_2.dmp (1,771,051 bytes) 2020-12-04 19:56 https://www.noesisengine.com/bugs/file_download.php?file_id=1339&type=bug |
||||
Notes | |
(0006862)
blafollette 2020-12-04 16:23 |
Here's a copy of the callstack from Visual Studio attached to the UnityEditor after the crash. |
(0006863)
sfernandez 2020-12-04 17:16 |
When Unity crashes it usually shows a crash dialog with the information of the crash, and it creates a folder under C:\Users\%UserName%\AppData\Local\Temp\Unity\Crashes with the logs and a .dmp file that we can use debug the crash. If Unity closes without showing that dialog then you can run Unity and attach Visual Studio so when the crash occurs and pauses on Visual Studio you can go to menu "Debug > Save Dump As.." to save a minidump. In the meantime I will try to reproduce the crash with the provided xaml and style, thanks. |
(0006864)
blafollette 2020-12-04 17:20 |
Unity definitely crashes without it's usual crash dialogue. I'm able to attach with Visual Studio, so I'll try reproducing it again and get Visual Studio to save out the dump as suggested. |
(0006865)
blafollette 2020-12-04 17:45 |
So, I saved a .dmp file, but it's 2.3 Gbs(?!) I don't know if I can reliably upload it here, but I can try if you feel it will help. Alternately if there's some other place I could try dropping it, let me know. |
(0006866)
sfernandez 2020-12-04 17:54 |
That looks like you are saving a full dump, can you save a Minidump? If you don't get that option please upload the dump to Google Drive or similar, I'll let you know when I download it so you can delete the file. By the way, I was not able to reproduce the crash with our recently released 3.0.8 version and Unity 2020. Which version of Noesis and Unity are you using? |
(0006867)
blafollette 2020-12-04 18:04 |
Ok, apparently I accidentally included the heap in the last one. (oops!) I've attached the much more manageably sized one this time. |
(0006868)
sfernandez 2020-12-04 19:12 |
I think I found the source of the crash, could you please try the following patched library? https://drive.google.com/file/d/1HrvvrX09lE_EDND4KQSiLi40jS4o6oQ4/view?usp=sharing Let me know if it works as expected. |
(0006869)
blafollette 2020-12-04 19:56 |
That seems like it's improved the length of time before the crash occurs, but the crash still occurs. I've attached the latest .dmp file. I also forgot to specify previously, but our project is using Unity 2019.4.9 |
(0006870)
sfernandez 2020-12-05 00:28 |
Added a few more checks, let's see if now I'm on the right path: https://drive.google.com/file/d/1cLDWEWR8__JTt9qkSzZCiZ2DWy4VKCBv/view?usp=sharing As before, if it continues crashing, please send the dumps, they are really helpful. Thanks your collaboration. |
(0006878)
blafollette 2020-12-07 09:41 |
That seems to have gotten it! I was unable to get the crash to happen with that DLL! So, no more dumps for now ;) but thank you so much for your help with this! It was my pleasure to collaborate for my part, as small as it was. :) |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1291 | [NoesisGUI] C# SDK | minor | always | 2018-04-17 15:43 | 2020-12-07 10:41 |
Reporter: | ai_enabled | Platform: | PC | ||
Assigned To: | sfernandez | OS: | Windows | ||
Priority: | normal | OS Version: | 10 x64 | ||
Status: | resolved | Product Version: | 2.1.0f1 | ||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.9 | ||
Target Version: | 3.0.9 | ||||
Platform: | Any | ||||
Summary: | Textures rendering issues (unexplainable seams) | ||||
Description: |
Hi guys, the problem is presented in the attached screenshots: screenshot #1 - how it looks in our game (when each rectangle has a 40x40 pixels simple white texture) screenshot #2 - the issue is more obvious and perhaps give you some ideas... (I'm using an image #4 (TestWhiteRect) as a Texture Brush) screenshot #3 - I've replaced texture brush everywhere with Brushes.White As you can see the background visible through seams between rectangle elements: 1. But there are should be no seams. I've tried assigning Brushes.White instead of my texture brush and indeed there are no seams! So this is related to how you render textures, not the positioning/render meshing of the rectangles. 2. I've verified that it's the background permeating in seams (as I tried a different color for the background element and can see this color permeating). 3. The issue is visible even if zoom-in (with transform, very closely). It's still a small seam between elements. UPD. See my comment below! 4. RenderOptions.SetBitmapScalingMode(rectangle, BitmapScalingMode.NearestNeighbor) disables linear texture filtering but the issue still appears (all the screenshots with seams are made with the NearestNeighbor mode). 5. UseLayoutRounding is false for every rectangle and their parent panel control (which is a canvas). I think it might be related to how you perform UV mapping or wrapping mode/bordering mode during texture rendering... however I'm really not sure how a semi-transparent pixel might appear in that case. Regards! |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
System Description | |||||
Attached Files: |
1.Problem.png (4,911 bytes) 2018-04-17 15:43 https://www.noesisengine.com/bugs/file_download.php?file_id=933&type=bug 2.ProblemHowItRendered.png (5,405 bytes) 2018-04-17 15:43 https://www.noesisengine.com/bugs/file_download.php?file_id=934&type=bug 3.WhenRenderingWithoutTextureBrush.png (4,269 bytes) 2018-04-17 15:43 https://www.noesisengine.com/bugs/file_download.php?file_id=935&type=bug 4.TestWhiteRect.png (17,733 bytes) 2018-04-17 15:43 https://www.noesisengine.com/bugs/file_download.php?file_id=936&type=bug Screenshot at 20-53-21.png (10,005 bytes) 2018-04-17 15:55 https://www.noesisengine.com/bugs/file_download.php?file_id=937&type=bug wpf-blackbg.png (19,009 bytes) 2020-12-04 12:01 https://www.noesisengine.com/bugs/file_download.php?file_id=1328&type=bug wpf-redbg.png (20,153 bytes) 2020-12-04 12:01 https://www.noesisengine.com/bugs/file_download.php?file_id=1329&type=bug wpf-solidwhite.png (16,490 bytes) 2020-12-04 12:01 https://www.noesisengine.com/bugs/file_download.php?file_id=1330&type=bug |
||||
Notes | |
(0005192)
ai_enabled 2018-04-17 15:55 |
Though to consider - the size of seam is independent from the zoom (which is performed using ScaleTransform) and always about 1 device pixel. See the attached screenshot (remember that visible magenta rectangle is formed by four neighboring magenta pixels of the test texture (image #4 above)). |
(0005193)
jsantos 2018-04-18 19:37 |
Thanks for all this information! Could you also please attach a frame snapshot using the D3D frame debugger? (visual studio -> Debug -> Graphics -> Start Graphics Debugging) |
(0005207)
jsantos 2018-06-01 22:33 |
Thanks for the debug session! And congrats for the momentum you are talking about. You deserve it! |
(0006860)
ai_enabled 2020-12-04 01:13 (Last edited: 2020-12-04 01:13) |
I still wonder what's causing this issue when using a texture brush yet it's not reproducible with a solid color brush. |
(0006861)
sfernandez 2020-12-04 12:01 (Last edited: 2020-12-04 12:02) |
This problem can also be reproduced in WPF and the source of it is that contiguous rectangles don't share the same vertices, so imprecisions can leave small holes between them letting the background be visible sometimes (you can resize the window and holes appear and disappear).<Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" UseLayoutRounding="False" Background="Black"> <Grid.Resources> <ImageSource x:Key="whiteImg">white.png</ImageSource> <ImageBrush x:Key="whiteImgBrush" ImageSource="{StaticResource whiteImg}" Stretch="None" TileMode="FlipXY"/> </Grid.Resources> <Canvas Width="400" Height="400"> <Canvas.RenderTransform> <TranslateTransform X="0.5" Y="0.5"/> </Canvas.RenderTransform> <Rectangle Canvas.Left="000" Canvas.Top="000" Width="100" Height="100" Fill="{StaticResource whiteImgBrush}"/> <Rectangle Canvas.Left="100" Canvas.Top="000" Width="100" Height="100" Fill="{StaticResource whiteImgBrush}"/> <Rectangle Canvas.Left="200" Canvas.Top="000" Width="100" Height="100" Fill="{StaticResource whiteImgBrush}"/> <Rectangle Canvas.Left="300" Canvas.Top="000" Width="100" Height="100" Fill="{StaticResource whiteImgBrush}"/> <Rectangle Canvas.Left="000" Canvas.Top="100" Width="100" Height="100" Fill="{StaticResource whiteImgBrush}"/> <Rectangle Canvas.Left="100" Canvas.Top="100" Width="100" Height="100" Fill="{StaticResource whiteImgBrush}"/> <Rectangle Canvas.Left="200" Canvas.Top="100" Width="100" Height="100" Fill="{StaticResource whiteImgBrush}"/> <Rectangle Canvas.Left="300" Canvas.Top="100" Width="100" Height="100" Fill="{StaticResource whiteImgBrush}"/> <Rectangle Canvas.Left="000" Canvas.Top="200" Width="100" Height="100" Fill="{StaticResource whiteImgBrush}"/> <Rectangle Canvas.Left="100" Canvas.Top="200" Width="100" Height="100" Fill="{StaticResource whiteImgBrush}"/> <Rectangle Canvas.Left="200" Canvas.Top="200" Width="100" Height="100" Fill="{StaticResource whiteImgBrush}"/> <Rectangle Canvas.Left="300" Canvas.Top="200" Width="100" Height="100" Fill="{StaticResource whiteImgBrush}"/> <Rectangle Canvas.Left="000" Canvas.Top="300" Width="100" Height="100" Fill="{StaticResource whiteImgBrush}"/> <Rectangle Canvas.Left="100" Canvas.Top="300" Width="100" Height="100" Fill="{StaticResource whiteImgBrush}"/> <Rectangle Canvas.Left="200" Canvas.Top="300" Width="100" Height="100" Fill="{StaticResource whiteImgBrush}"/> <Rectangle Canvas.Left="300" Canvas.Top="300" Width="100" Height="100" Fill="{StaticResource whiteImgBrush}"/> </Canvas> </Grid> You can see the attached images produced by that xaml in Blend. The last one is using a SolidColorBrush, so you can see it is not a problem with textures. The only way to avoid those holes is by using a single mesh (Rectangle) and tile the texture. |
(0006871)
ai_enabled 2020-12-05 01:28 (Last edited: 2020-12-05 01:29) |
Hi Sergio, thank you for your response and time spent to make a sample. I've totally forgotten that WPF exists when reported this! :-) That's what I've suspected based on my previous experience by rending tiled terrain in CryoFall. After that, we've switched to a shader-based approach to draw a properly tiled terrain. I was surprised I cannot see the seams when rendering tiles with SolidColorBrush though...In WPF there are indeed seams in either case. I'm reworking the map to use large chunks with render textures, and will add a coordinate grid to hide the stitches! :-) Please close this ticket. Regards! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1841 | [NoesisGUI] Unity3D | major | always | 2020-11-20 18:09 | 2020-12-03 12:27 |
Reporter: | stonstad | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.7 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.8 | ||
Target Version: | 3.0.8 | ||||
Platform: | Any | ||||
Summary: | NoesisPostProcessor Fails Importing Fonts | ||||
Description: |
I am unable to import the following two fonts within the same project. I tried placing each font in a different directory but it fails. IOException: Sharing violation on path D:\Source\MBI.CustomerSelect.Unity\MBI.CustomerSelect.Unity.Project\Assets\User Interface\Fonts2\Proforma-SemiBold_36608.ttf System.IO.FileStream..ctor (System.String path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share, System.Int32 bufferSize, System.Boolean anonymous, System.IO.FileOptions options) (at <9577ac7a62ef43179789031239ba8798>:0) System.IO.FileStream..ctor (System.String path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share) (at <9577ac7a62ef43179789031239ba8798>:0) (wrapper remoting-invoke-with-check) System.IO.FileStream..ctor(string,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare) System.IO.File.Open (System.String path, System.IO.FileMode mode, System.IO.FileAccess access) (at <9577ac7a62ef43179789031239ba8798>:0) NoesisPostprocessor.ScanFont (System.String uri, System.Collections.Generic.List`1[NoesisFont]& fonts) (at Assets/NoesisGUI/Plugins/Editor/NoesisPostprocessor.cs:188) NoesisPostprocessor+<>c__DisplayClass14_0.<ScanDependencies>b__0 (System.String uri, Noesis.XamlDependencyType type) (at Assets/NoesisGUI/Plugins/Editor/NoesisPostprocessor.cs:263) UnityEngine.Debug:LogException(Exception) <>c__DisplayClass14_0:<ScanDependencies>b__0(String, XamlDependencyType) (at Assets/NoesisGUI/Plugins/Editor/NoesisPostprocessor.cs:280) Noesis.GUI:OnXamlDependency(Int32, IntPtr, Int32) (at Assets/NoesisGUI/Plugins/API/Core/NoesisGUI.cs:420) Noesis.GUI:Noesis_GetXamlDependencies(HandleRef, String, Int32, NoesisXamlDependencyCallback) Noesis.GUI:GetXamlDependencies(Stream, String, XamlDependencyCallback) (at Assets/NoesisGUI/Plugins/API/Core/NoesisGUI.cs:241) NoesisPostprocessor:ScanDependencies(String, List`1&, List`1&, List`1&, List`1&) (at Assets/NoesisGUI/Plugins/Editor/NoesisPostprocessor.cs:251) NoesisPostprocessor:ImportXaml(String, Boolean, Boolean, Boolean&) (at Assets/NoesisGUI/Plugins/Editor/NoesisPostprocessor.cs:333) NoesisPostprocessor:ImportXaml(String, Boolean, Boolean, Boolean&) (at Assets/NoesisGUI/Plugins/Editor/NoesisPostprocessor.cs:353) NoesisPostprocessor:ImportAssets(String[], Boolean, UpdateProgress) (at Assets/NoesisGUI/Plugins/Editor/NoesisPostprocessor.cs:55) <>c__DisplayClass4_1:<OnPostprocessAllAssets>b__0() (at Assets/NoesisGUI/Plugins/Editor/NoesisPostprocessor.cs:110) UnityEditor.EditorApplication:Internal_CallUpdateFunctions() |
||||
Tags: | |||||
Steps To Reproduce: |
Add fonts to Unity project w/ Noesis installed. Encl. AngryFonts.zip |
||||
Additional Information: | |||||
Attached Files: |
AngryFonts.zip (74,252 bytes) 2020-11-20 18:09 https://www.noesisengine.com/bugs/file_download.php?file_id=1321&type=bug |
||||
Notes | |
(0006785)
sfernandez 2020-11-20 18:17 |
Those two .ttf files refer to the same family name "Proforma", but I was able to import them to the Unity project by adding them to different folders. The error you are getting is originated when a xaml gets imported (I guess using those fonts), could you please share how are you referencing them in the xaml? |
(0006786)
sfernandez 2020-11-20 18:32 |
Just to make it clear, I meant that both ttfs have the same family name and weight (400) so if you import both in the same directory, only the first registered one will be in fact used. If you edit for example Proforma-Medium.ttf with a program like FontForge to set its Weight to 600 then both fonts can be imported in the same directory and used in xaml by selecting the corresponding FontWeight. |
(0006791)
sfernandez 2020-11-23 11:53 |
I've been doing some tests and I was able to reproduce that "Sharing violation" exception by having the font opened in windows and then reimporting the xaml in Unity. To fix this I had to change how we open files in NoesisPostprocessor adding "FileShare.Read": line 188: using (FileStream file = File.Open(font, FileMode.Open, FileAccess.Read, FileShare.Read)) line 248: using (FileStream file = File.Open(filename, FileMode.Open, FileAccess.Read, FileShare.Read)) This should work, could you try it yourself until we release a new version? |
(0006809)
stonstad 2020-11-24 02:07 |
Hi Sergio -- I was referencing both versions like this: <FontFamily x:Key="Proforma">Fonts/#Proforma</FontFamily> <FontFamily x:Key="ProformaSemiBold">Fonts2/#Proforma</FontFamily> The fonts conflicted despite existing in a different directory. To my knowledge, the font was not open in a third-party program other than Unity. |
(0006810)
stonstad 2020-11-24 02:07 |
I'll try your proposed change. |
(0006835)
sfernandez 2020-11-26 18:36 |
Did you try the fix? |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1568 | [NoesisGUI] C++ SDK | minor | always | 2019-10-14 13:53 | 2020-12-02 20:44 |
Reporter: | steveh | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | high | OS Version: | |||
Status: | resolved | Product Version: | 2.2.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.0.8 | ||||
Platform: | Any | ||||
Summary: | Italic fonts have incorrect bounds | ||||
Description: |
Hi guys, We're having issues with the bounds of text being incorrectly calcualted with italic fonts. Interestingly, the behaviour demonstrated in Noesis is identical to Blend, so I'm guessing this is an issue with how WPF treats text. I'm attaching a XAML document which can be loaded upo in the XAML Player to demonstrate the issue. So it looks like the bounds for textblocks use the base of the text to calculate the bounds. Italic fonts clip outside these bounds. If we align the textblock to the right of the screen then the text goes over the edge of the container. If we force the text to be rendered offscreen by setting the opacity to a value other than 1.0 then when the offscreen texture is blended with the main back buffer the region is not correctly clipped and you see a hard edge. I understand why it's doing this, but it looks a little odd. I'm not sure on a good fix here. Is there a workaround? If not, do you see this as requiring a fix since this pretty much behaves identically to how Blend handles italic fonts. Cheers, -Steven |
||||
Tags: | |||||
Steps To Reproduce: |
1. Create a textblock, add some text. 2. Set the font family to an italic font 3. Change the opacity on the text block to 0.5 4. Notice that the edge of the text is incorrectly clipped. See my attached XAML document as a demonstration of this. |
||||
Additional Information: | |||||
Attached Files: |
nebulari mono.otf (6,284 bytes) 2019-10-14 13:53 https://www.noesisengine.com/bugs/file_download.php?file_id=1117&type=bug Test.xaml (1,724 bytes) 2019-10-14 13:53 https://www.noesisengine.com/bugs/file_download.php?file_id=1118&type=bug italicbug.png (2,217 bytes) 2019-10-18 14:26 https://www.noesisengine.com/bugs/file_download.php?file_id=1123&type=bug |
||||
Notes | |
(0005998)
sfernandez 2019-10-18 14:24 |
Trying this sample in our XamlPlayer I see that individual glyphs are correctly rendered (each glyph texture bounds is correct), but it seems the "advance" is designed so next glyph overlaps previous one and that is why the whole text bounds width is less than expected. I wonder if this is not something that should be done with kerning instead, I mean, advance should be the width of the glyph texture, but kerning should be defined to change how one glyph is positioned in relation to the previous one. Could you help here @jsantos? |
(0006000)
jsantos 2019-10-23 07:13 |
I understand what is going on here. The bounding box in the main thread is calculated using the 'advances' of the glyphs. This is done this way, and probaly the same reason WPF is doing the same, because in the main thread there is no information about rendering (so calculating the bounding box from the beziers could add extra overhead). But it seems a bug to me (both in Noesis and WPF) and with the extra problem that it is affecting our opacity algorithm (WPF seems to be doing this right) so the problem is worse than WPF. I need to find an efficient solution for this. |
(0006700)
steveh 2020-10-23 15:39 |
Hi guys, has any progress been made on this issue? We've been appending spaces to strings to our strings for a while but we've just started implementing localisation and I'd like to see if we can fix this properly. Much appreciated, -Steven |
(0006701)
jsantos 2020-10-23 17:45 (Last edited: 2020-10-23 17:46) |
Hi Steve, we still don't know how to solve this but thanks for the reminder. I am increasing the priority, there are a few ideas I want to try, |
(0006711)
jsantos 2020-10-29 18:01 (Last edited: 2020-10-29 18:05) |
Hi Steve, We tried adjusting the bounds with the real beziers, but we are not sure this is the right solution. There are scenarios, like for example a text that has normal and italic runs intermixed where the changes in the bounds doesn't look right. In fact, we tried WPF, UWP and HTML5 and all of them behaves the same about this (text is drawn out of the box). Another approach is being able to "hack" a font by setting global modifiers to advance and kerning. Tweaking these values, we had a result that is probably valid, but we are not sure about how to expose this font hack (in the fontprovider?) Probably we should have a quick talk about this if you have time. |
(0006712)
steveh 2020-10-29 18:16 |
Cheers Jésus, sure thing. We've got a milestone tomorrow so I'm a little busy this week, but I'll be free for a chat any time next week. We already override the font provider so allowing us to specify values there seems like a fine solution to me. |
(0006720)
sfernandez 2020-11-10 19:30 (Last edited: 2020-11-10 19:31) |
We are working on the optimization we talked the other day to automatically move single element Opacity to the draw commands without requiring an opacity group. This will fix the problem you are seeing when animating the opacity of right aligned italic text that appears now clipped. But we are thinking, why can't you just animate the Opacity of the Brush in those situations? It is exactly the same kind of animation, but instead of Opacity property, you will animate Foreground.Opacity (or whatever brush property you want to change). Isn't that a valid solution for now? |
(0006857)
sfernandez 2020-12-02 20:44 |
Implemented the optimization to avoid generating offscreen textures for single node opacity groups. This will fix your problem when animating the Opacity of right-aligned italic TextBlocks. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1812 | [NoesisGUI] Unity3D | crash | always | 2020-10-16 18:50 | 2020-12-02 10:37 |
Reporter: | agrebenskov | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.6 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.8 | ||
Target Version: | 3.0.8 | ||||
Platform: | Any | ||||
Summary: | MultiBinding with converter in DataTrigger crashes Unity | ||||
Description: | When I use DataTrigger inside ControlTemplate with multi binding Unity crashes. | ||||
Tags: | C#, Unity | ||||
Steps To Reproduce: |
Sample code: <ControlTemplate.Triggers> <DataTrigger Value="True"> <DataTrigger.Binding> <MultiBinding Converter="{StaticResource TestConverterConverter}" Mode="OneWay" > <MultiBinding.Bindings> <Binding ElementName="comboboxButton"/> <Binding ElementName="comboboxButton" Path="IsChecked"/> <Binding ElementName="popupContent" Path="ActualHeight"/> </MultiBinding.Bindings> </MultiBinding> </DataTrigger.Binding> <DataTrigger.Setters> <Setter TargetName="SmoothComboBoxBorder" Property="BorderThickness"> <Setter.Value> <MultiBinding Converter="{StaticResource ComboboxThicknessConverter}"> <Binding RelativeSource="{RelativeSource TemplatedParent}" Path="BorderThickness.Left"/> <Binding Source="{StaticResource DefaultThickness}"/> <Binding RelativeSource="{RelativeSource TemplatedParent}" Path="BorderThickness.Right"/> <Binding RelativeSource="{RelativeSource TemplatedParent}" Path="BorderThickness.Bottom"/> </MultiBinding> </Setter.Value> </Setter> </DataTrigger.Setters> </DataTrigger> public sealed class TestConverterConverter : IMultiValueConverter { public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture) { return true; } public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture) { return new object[0]; } } |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1844 | [NoesisGUI] C++ SDK | minor | always | 2020-11-26 12:06 | 2020-12-01 18:31 |
Reporter: | Logris | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.6 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.8 | ||
Target Version: | 3.0.8 | ||||
Platform: | Any | ||||
Summary: | NoesisApp::D3D11RenderDevice does not clear pixel shader resource slots | ||||
Description: |
Hi, https://www.noesisengine.com/forums/viewtopic.php?f=3&t=2148 |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0006853)
jsantos 2020-12-01 18:31 |
Thanks for this! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1843 | [NoesisGUI] C++ SDK | tweak | always | 2020-11-26 05:33 | 2020-12-01 18:26 |
Reporter: | CravenWarrior3 | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.7 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.8 | ||
Target Version: | 3.0.8 | ||||
Platform: | Linux | ||||
Summary: | Missing "template" statements in TypePropertyUtil.h | ||||
Description: |
Partly into compiling a game which uses NoesisGUI, errors with the "expect primary-expression before 'char' token" format are thrown. Lines 34, 40, 46, 47, 66, 72, 84, and 90 of Include/NsCore/TypePropertyUtil.h are referenced in the error message. Adding "template" to the appropriate location on each line fixes the error and ensures successful compilation of the program afterwards. The issue is relatively minor and simple to fix although no other files generated the error message. |
||||
Tags: | C++ | ||||
Steps To Reproduce: | Discovered the issue while attempting to compile Ingnomia on Ubuntu 20.10, NoesisGUI was compiled using the Debug setting. | ||||
Additional Information: | |||||
Attached Files: |
Log.txt (4,434 bytes) 2020-11-26 05:33 https://www.noesisengine.com/bugs/file_download.php?file_id=1323&type=bug TypePropertyUtil.h (3,643 bytes) 2020-11-26 15:23 https://www.noesisengine.com/bugs/file_download.php?file_id=1324&type=bug |
||||
Notes | |
(0006824)
jsantos 2020-11-26 10:53 |
Could you please indicate gcc version and, if possible, a patch with the changes? Thanks! |
(0006829)
CravenWarrior3 2020-11-26 15:23 |
I'm using version 10.2.0 of gcc. Here's the edited file that fixes the issue I'm having. |
(0006852)
jsantos 2020-12-01 18:26 |
Thanks for this! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1850 | [NoesisGUI] C++ SDK | minor | always | 2020-11-30 16:32 | 2020-11-30 18:20 |
Reporter: | steveh | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.7 | ||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Inconsistent clipping inside grid cell | ||||
Description: |
Hi guys, I've finally been able to track down some odd inconsistent clipping behaviour: https://www.noesisengine.com/xamltoy/72e6e2aa974cac7e8f182f717bed033f So you can see that we have a 599x300 grid cell that contains a listbox. Nothing should be clip to bounds. The listbox is 600 pixels high so the listbox is just slightly too large to fit into the cell. If we set the RowDefinition so it's height goes from 599 -> 600 so it can fit the listbox, it doesn't clip the listbox, nor any of the listbox items. It seems like the second the parent listbox can't be contained inside the grid bounds, it clips to the entire cell grid cell, even though it shouldn't from what I can see. This same code behaves fine in WPF / Blend. We see this behaviour quite a lot because we have a "focus" animation which usually increases the render scale of listboxitems when they're selected. In some cases, this is fine. In other cases the listboxitems clip to the parent bounds regardless of what the ClipToBounds property is set to. I don't think this is just limited to grids, I think this is a general issue with any element (content controls, stack panels, dock panels etc). I think this is just a general issue with the way it determines to clip regions. |
||||
Tags: | |||||
Steps To Reproduce: |
1. Open https://www.noesisengine.com/xamltoy/72e6e2aa974cac7e8f182f717bed033f 2. Notice that the listbox items are clipped. 3. Change the 2nd <RowDefinition> to have a height of 600 4. Notice that no part of the listbox or any listboxitems are clipped. |
||||
Additional Information: | |||||
Attached Files: |
gridclip.png (41,094 bytes) 2020-11-30 16:59 https://www.noesisengine.com/bugs/file_download.php?file_id=1325&type=bug Clipping_Blend.png (20,803 bytes) 2020-11-30 17:26 https://www.noesisengine.com/bugs/file_download.php?file_id=1326&type=bug |
||||
Notes | |
(0006836)
sfernandez 2020-11-30 16:59 |
Are you sure about Blend showing this fine? Because I just copied the same xaml you have in xamltoy into a Blend project and it shows the ListBox clipped, and after increasing the cell height to 600 then it shows without clip exactly as in Noesis (see attached image). The behavior I see seems logical to me, as ListBox doesn't fit inside the layout slot assigned by the parent Grid it has to activate clipping. This is how layout clip is supposed to work. Anyway, changing RenderTransform scale doesn't affect layout and shouldn't produce any clipping if the ListBox wasn't originally clipped. |
(0006837)
steveh 2020-11-30 17:26 |
You're right, in Blend it does clip, however, I'm still getting a different behaviour to you in Blend. In Blend it *always* clips to the bounds of the parent (see my attached image, notice that the Pink area is the area of the grid cell, the black area is the area of the listbox which is set to auto/auto and aligned to the centre.) In Noesis it *only* clips to the bounds of the parent if the listbox can't fit within. To clarify, I'm still seeing inconsistent behaviour where Noesis will clip if and only if the parent needs to be clipped, whereas in Blend it looks to always clip. Is there any way to make it so the layout clip is ignored so it will always render the child objects? If not, that's fine, we can work around this and just ensure we have enough padding to grow the elements to avoid the clipping, I just need to let our artists know to take this into account. Cheers, -Steven |
(0006838)
sfernandez 2020-11-30 17:33 |
Can you share the Blend xaml/project? Because I'm getting different results here with Blend. >> Is there any way to make it so the layout clip is ignored so it will always render the child objects? If not, that's fine, we can work around this and just ensure we have enough padding to grow the elements to avoid the clipping, I just need to let our artists know to take this into account. If you wrap your ListBox with a Canvas then it won't get clipped, because Canvas panel allows children to grow as much as they want (it calls Measure on children with their DesiredSize). |
(0006839)
steveh 2020-11-30 17:48 |
I added this to one of our files in our UserControl files for our game. I've just tried it with a new project and you're right, both Noesis and Blend work identically, so I'm guessing that it's an issue with one a resource in our theme. I'll track it down now I know it's an issue with our code. Sorry for messaging you, it looks like Noesis and Blend are behaving identically then, it's just a bug in our theme mixed with a misunderstanding on my part :) It all looks good, I think we can close this bug and I'll track down the issue with our theme. Much appreciated, cheers Sergio! And cheers for the info about the canvas, I'll add this to our default theme for our custom listbox style (which is where I'm seeing all these clipping issues) -Steven |
(0006840)
sfernandez 2020-11-30 17:58 |
Ok, glad to help. Just want to remark that increasing the size of children using RenderTransform property shouldn't affect layout, so if parent ListBox wasn't initially clipped, then scaling up list items (on focus/selection) won't clip the list either. |
(0006841)
steveh 2020-11-30 18:09 |
Yeah, the issue is that as soon as clipping is enabled it will clip to the listbox. By default a lot of our child elements sit outside the measured region (our focus storyboard increases the render scale of the listboxitem by ~10% and apply a slight rotation to them). This causes the elements to go outside the border of the listbox by quite a bit. This is fine, it causes elements to overlay but this is a stylistic choice, we *want* the selected element to overlay other UI elements, and we just ensure that the selected element is always on top of other elements in terms of z-depth. This works fine until anything causes the parent listbox to clip. If this happens then it'll cause all selected items to then clip quite a lot. I think the canvas solution will suit us perfectly, or we just have to make sure that the listbox always fits inside the parent so the layout clipping is not enabled on this object. Cheers, I have a much deeper understanding of how this works now so I'll be able to feed back to our artists and let them know about this. -Steven |
(0006842)
sfernandez 2020-11-30 18:20 |
Cheers. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1838 | [NoesisGUI] Unity3D | minor | always | 2020-11-17 00:24 | 2020-11-26 17:39 |
Reporter: | samc | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.7 | ||
Product Build: | Resolution: | duplicate | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.0.8 | ||||
Platform: | Any | ||||
Summary: | Unity mac player doesn't work with noesis | ||||
Description: | When we do a mac build of unity, Noesis causes exceptions with a message that reads: "Message: DllNotFounDexception: Noesis". It seems like it's not being packaged properly? Is there something we have to do special? | ||||
Tags: | |||||
Steps To Reproduce: |
- Make a mac player build in unity - Launch the player build - Exception should show in the unity log |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0006762)
jsantos 2020-11-17 11:56 |
A few questions, because it is working fine for so there must be something I am missing: - Is it also happening with one of our Demos? HelloWorld for example - What specific version of Unity are you using? Thanks! |
(0006801)
samc 2020-11-23 19:14 |
We are using Unity 2020.2.0b10. This is happening in our project, not with the Demos, however we've also reproduced it in a smaller sample project that Szymon put together and shared with y'all. |
(0006802)
jsantos 2020-11-23 19:16 |
Thank you! I will check with that Unity version and Szymon project to reproduce this. |
(0006833)
jsantos 2020-11-26 17:35 |
Ok, found what is happening. By default Unity 2020.2 is creating a standalone for the architecture "Intel64 + Apple silicon" and Noesis 3.0.7 is still only available for Intel64. Just selecting only "Intel64" fixed the issue. |
(0006834)
jsantos 2020-11-26 17:38 |
Just created 0001845 for following the Apple Silicon architecture. Please let us know if you need a preview. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1832 | [NoesisGUI] Unity3D | crash | always | 2020-11-10 16:54 | 2020-11-26 16:39 |
Reporter: | NirHasson | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.7 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.8 | ||
Target Version: | 3.0.8 | ||||
Platform: | macOS | ||||
Summary: | Noesis 3.0.6/7 crash on MacBook Pro on Unity 2019.4.13f1 | ||||
Description: |
The unity player keeps crashing on MacBook Pro with Noesis 3.0.6 and Metal renderer. The same project runs on Windows, Android, iOS and Mac mini without any issues. Attached here are the log files from the macOS that crashes and a screenshot from the unity bug report. |
||||
Tags: | |||||
Steps To Reproduce: |
1. Create an empty project. 2. Add a Noesis view. 3. Run the player https://www.noesisengine.com/forums/viewtopic.php?f=3&t=2133 |
||||
Additional Information: | |||||
Attached Files: |
spivi.txt (110,744 bytes) 2020-11-10 16:54 https://www.noesisengine.com/bugs/file_download.php?file_id=1317&type=bug SpiviTheme.xaml (392,848 bytes) 2020-11-11 12:10 https://www.noesisengine.com/bugs/file_download.php?file_id=1318&type=bug crash_log_noesis.txt (69,687 bytes) 2020-11-16 07:34 https://www.noesisengine.com/bugs/file_download.php?file_id=1320&type=bug Spivi.B2C.Client_2020-11-22-130656_Nirs-Mac-mini.crash.txt (128,391 bytes) 2020-11-22 12:16 https://www.noesisengine.com/bugs/file_download.php?file_id=1322&type=bug |
||||
Notes | |
(0006721)
jsantos 2020-11-11 10:49 |
One question, do our samples work on this Mac? |
(0006722)
NirHasson 2020-11-11 11:00 |
I don't have access to this mac, they are all remote users who experienced this issue. I can try to build a sample app using the tic tac toe scene and send it to one of these users to test if it helps. |
(0006723)
NirHasson 2020-11-11 12:10 |
The sample worked on the mac that crashed before. I believe it is related to the fact that we're using a very old custom theme file based on one of yours from the 1.XX versions. Attached here for your reference. |
(0006733)
jsantos 2020-11-12 11:45 |
Both two cases you mention at the forums are using 3.0.7? |
(0006735)
NirHasson 2020-11-12 14:07 |
Yes |
(0006736)
NirHasson 2020-11-13 06:44 |
It seems that we're having 2 cases. Macbook Pro with AMD Radeon graphic card - the system hangs and crashes eventually. Macbook Pro with Intel graphic card. With the new theme we made a bit of progress but it still crashes afterwards: See the logs bellow: Process: Spivi.B2C.Client [91136] Path: /Applications/Spivi.Home.app/Contents/Resources/Spivi.B2C.Client.app/Contents/MacOS/Spivi.B2C.Client Identifier: com.spivitech.Spivi-B2C-Client Version: 1.2.13 (1) Code Type: X86-64 (Native) Parent Process: ??? [1] Responsible: Spivi.B2C.Client [91136] User ID: 501 Date/Time: 2020-11-13 00:40:23.496 +0200 OS Version: Mac OS X 10.15.7 (19H2) Report Version: 12 Bridge OS Version: 4.6 (17P6610) Anonymous UUID: 727545CE-A21A-485D-F28E-5893CB73F2B3 Sleep/Wake UUID: A28BD130-06E7-4855-ACEF-3B6A0D1A980D Time Awake Since Boot: 35000 seconds Time Since Wake: 860 seconds System Integrity Protection: enabled Crashed Thread: 31 UnityGfxDeviceWorker Exception Type: EXC_CRASH (SIGABRT) Exception Codes: 0x0000000000000000, 0x0000000000000000 Exception Note: EXC_CORPSE_NOTIFY Application Specific Information: -[MTLIGAccelCommandBuffer renderCommandEncoderWithDescriptor:]:407: failed assertion `Already have uncommitted encoder' |
(0006737)
jsantos 2020-11-13 11:14 |
This is a different error, let's create a new ticket for this. I would say this error should happen with any hardware because I would say it is a problem with Unity and how they are invoking us, I fixed something related to this in the latest version. |
(0006738)
jsantos 2020-11-13 11:15 |
I am preparing a debug build for you. |
(0006739)
NirHasson 2020-11-13 12:00 |
This is weird, as the project works on Mac Mini without any issues. |
(0006740)
jsantos 2020-11-13 12:03 |
I would say the 'Already have uncommitted encoder' should happen also in the Mac Mini, because Unity is not finishing the encoder that is passing to us. Is this project using HDRP or URP? |
(0006741)
NirHasson 2020-11-13 12:06 |
No, this is a standard rendering project, no custom pipeline. |
(0006742)
jsantos 2020-11-13 12:09 |
Are you using render to texture for the UI or stacked cameras (many cameras rendering to the same target) ? |
(0006743)
NirHasson 2020-11-13 12:12 |
Yes, in the latest update (the one with the updated theme) the tester was able to get to the point where we load a scene with 3 cameras. Once clears everything, One is dedicated for the 3D graphics and the last one is for the UI. |
(0006744)
jsantos 2020-11-13 12:17 |
Is this the point where the crash is happening? I assume you are doing this because you don't want post processing in the UI right? Does the camera for the UI have 'Culling Mask' set to None? |
(0006745)
NirHasson 2020-11-13 12:33 |
I guess this is the point where the crash happened, almost 100 percent by the description I got from the tester. We use a separate camera for both the post processing issue but also for modularity reasons. We have the UI as a base scene and the 3D content from multiple different scenes each with its own setup. I believe the culling mask is set to none, I’ll have to confirm |
(0006746)
jsantos 2020-11-13 13:07 |
Anyway this is a different issue, the one related to using three cameras. Please, create a new ticket and let's follow there. If you could create a small scene reproducing that scenario (with the 3 cameras and a similar XAML) I can test it here in my machines. Having a repro case is going to help a lot. |
(0006747)
jsantos 2020-11-13 13:29 |
Please, download a debug library compatible with 3.0.7 Unity Package at https://drive.google.com/file/d/1ixYjUzShHcm60Va8oX4Sz4-CwU0AkQ6j/view?usp=sharing We need to start again with the reports because there is a mix of crashes here and at the forums and I need to focus on each case separately. Please, for each crash attach the full crash log. |
(0006748)
NirHasson 2020-11-13 13:48 |
Ok, ill get to that next week, will open a new ticket for the camera issue and will try the debug library |
(0006749)
jsantos 2020-11-13 14:53 |
Thanks. I will also prepare a small scene with your scenario to test in all our machines and will also send it to you. |
(0006750)
jsantos 2020-11-13 18:08 |
The scene 'TrickyScenes/Standard/Stacking2' located in the following package https://drive.google.com/file/d/1JiPL7MM7r74FM-ZlKZkGXGCHtHpJdeVJ/view?usp=sharing contains a similar setup to your application. It contains 3 cameras: 1. Clear Camera: just clear to solid color 2. 3D Camera: just render 3 geometries 3. UI Camera: render a XAML containing elements with opacity (offscreen can be problematic, that's the reason I am forcing them). It is working fine in all our Metal machines (iOS and macOS). Could you please try it? |
(0006752)
NirHasson 2020-11-15 10:39 |
The UI camera culling mask is set to Nothing BUT we've set the Clear Flags to Depth Only as there was a bug in Noesis 2.XX and Unity where some of our UI was affected by the depth buffer. I will try now a build with the updated theme, a UI camera with Don't Clear flags, and your debug library. |
(0006754)
NirHasson 2020-11-16 07:34 |
The last version just crashed in the same place where multiple cameras were involved. Here are the relevant lines from the log files with the debug symbols + the full log as a file. Process: Spivi.B2C.Client [92736] Path: /Applications/Spivi.Home.app/Contents/Resources/Spivi.B2C.Client.app/Contents/MacOS/Spivi.B2C.Client Identifier: com.spivitech.Spivi-B2C-Client Version: 1.2.13 (1) Code Type: X86-64 (Native) Parent Process: ??? [1] Responsible: Spivi.B2C.Client [92736] User ID: 501 Date/Time: 2020-11-15 21:29:11.547 +0200 OS Version: Mac OS X 10.15.7 (19H2) Report Version: 12 Bridge OS Version: 4.6 (17P6610) Anonymous UUID: 727545CE-A21A-485D-F28E-5893CB73F2B3 Sleep/Wake UUID: C325BE7E-AC74-4F52-ACD2-96337AD20C14 Time Awake Since Boot: 39000 seconds Time Since Wake: 680 seconds System Integrity Protection: enabled Crashed Thread: 32 UnityGfxDeviceWorker Exception Type: EXC_CRASH (SIGABRT) Exception Codes: 0x0000000000000000, 0x0000000000000000 Exception Note: EXC_CORPSE_NOTIFY Application Specific Information: -[MTLIGAccelCommandBuffer renderCommandEncoderWithDescriptor:]:407: failed assertion `Already have uncommitted encoder' Thread 32 Crashed:: UnityGfxDeviceWorker 0 libsystem_kernel.dylib 0x00007fff6b45533a __pthread_kill + 10 1 libsystem_pthread.dylib 0x00007fff6b511e60 pthread_kill + 430 2 libsystem_c.dylib 0x00007fff6b3dc808 abort + 120 3 UnityPlayer.dylib 0x000000010af77452 0x10a6f9000 + 8905810 4 libmonobdwgc-2.0.dylib 0x0000000112c0da31 mono_chain_signal + 79 5 libmonobdwgc-2.0.dylib 0x0000000112c0dd74 sigabrt_signal_handler + 86 6 libsystem_platform.dylib 0x00007fff6b5065fd _sigtramp + 29 7 ??? 0x0000000000000004 0 + 4 8 libsystem_c.dylib 0x00007fff6b3dc808 abort + 120 9 libsystem_c.dylib 0x00007fff6b3dbac6 __assert_rtn + 314 10 com.apple.Metal 0x00007fff369b6729 MTLReportFailure.cold.2 + 43 11 com.apple.Metal 0x00007fff369a9e88 MTLReportFailure + 523 12 com.apple.driver.AppleIntelKBLGraphicsMTLDriver 0x00007fff29e2a866 -[MTLIGAccelCommandBuffer renderCommandEncoderWithDescriptor:] + 151 13 Noesis.dylib 0x000000011f12f3c7 NoesisApp::MTLRenderDevice::SetRenderTarget(Noesis::RenderTarget*) + 423 14 Noesis.dylib 0x000000011f7b2c05 Noesis::VGLContext::DrawGPUBatches() + 2261 15 Noesis.dylib 0x000000011f7ab920 Noesis::VGLContext::Flush(bool, bool) + 2992 16 Noesis.dylib 0x000000011f3dc5a3 Noesis::RenderTreeHelper::RenderOffscreenNodes() + 4179 17 Noesis.dylib 0x000000011f3db157 Noesis::RenderTreeHelper::RenderOffscreen(Noesis::RenderNode*, Noesis::Matrix4 const&) + 439 18 Noesis.dylib 0x000000011f3d2f78 Noesis::RenderTree::RenderOffscreen(Noesis::Matrix4 const&) + 120 19 Noesis.dylib 0x000000011f3edf53 Noesis::Renderer::RenderOffscreen(Noesis::Matrix4 const&) + 147 20 Noesis.dylib 0x000000011f3ede80 Noesis::Renderer::RenderOffscreen() + 112 21 Noesis.dylib 0x000000011f713172 Noesis_GetRenderOffscreenCallback::$_1::operator()(int, void*) const + 354 22 Noesis.dylib 0x000000011f712ffb Noesis_GetRenderOffscreenCallback::$_1::__invoke(int, void*) + 27 23 UnityPlayer.dylib 0x000000010ab4647f 0x10a6f9000 + 4510847 24 UnityPlayer.dylib 0x000000010b46d51c 0x10a6f9000 + 14107932 25 UnityPlayer.dylib 0x000000010ab475d7 0x10a6f9000 + 4515287 26 UnityPlayer.dylib 0x000000010ab3d09c 0x10a6f9000 + 4472988 27 UnityPlayer.dylib 0x000000010aed466c 0x10a6f9000 + 8238700 28 libsystem_pthread.dylib 0x00007fff6b512109 _pthread_start + 148 29 libsystem_pthread.dylib 0x00007fff6b50db8b thread_start + 15 |
(0006756)
jsantos 2020-11-16 14:05 |
As far as I understand, I would say the assert "Already have uncommitted encoder'' should happen in all platforms but I need to investigate more. Having the error isolated in a scene similar to the one I send you would be ideal. Did you have time to try that scene? |
(0006757)
NirHasson 2020-11-16 14:09 |
As far as I understand, I would say the assert "Already have uncommitted encoder'' should happen in all platforms but I need to investigate more. It doesn't happen on other platforms, even worse, it doesn't happen on other Mac devices like Mac Min, etc. Having the error isolated in a scene similar to the one I send you would be ideal. Did you have time to try that scene? No, I don't have access to a Macbook Pro pc and every time we have to build a notarized release and send it to our testers. I hoped that the debug symbols will get you closer to the source of the issue. Did you try out one of the links I sent you above? |
(0006758)
jsantos 2020-11-16 14:19 |
I haven't tried your links but I will do soon. Could you please indicate the exact steps I should follow to reproduce the issue? And, if you could send me a list or Mac Books where this is happening, we will try to buy the same model. |
(0006759)
NirHasson 2020-11-16 14:44 |
To reproduce you have to: 1. Install the app. 2. Register it with the initial steps (select language and region). 3. Login with the credentials I listed above. 4. Skip the pairing screen, you don't need that to reproduce, just click the home button. 5. On the main menu, select the Replay tab, select one of the cycling classes, and hit the Replay button. 6. The step above will trigger the loading of the 3D scene alongside the UI scene and that's where the crash happen. As for the crashing models: Device MacBookPro16,1 Mac OS X 10.15.7 Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz AMD Radeon Pro 5500M Device MacBookPro16,1 Mac OS X 10.15.7 Intel(R) Core(TM) i9-9980HK CPU @ 2.40GHz AMD Radeon Pro 5300M Device MacBookPro14,1 Mac OS X 10.15.6 Intel(R) Core(TM) i5-7360U CPU @ 2.30GHz Intel(R) Iris(TM) Plus Graphics 640 |
(0006760)
jsantos 2020-11-16 14:52 |
I will try soon, thanks! Another question, are you using render to texture? |
(0006761)
NirHasson 2020-11-16 16:20 |
No, the Noesis view is attached to a dedicated camera. There are no UI elements rendered to a texture, but we use render textures in other parts of the scene. |
(0006768)
jsantos 2020-11-17 16:33 |
We bought this model: Device MacBookPro14,1 Mac OS X 10.15.6 Intel(R) Core(TM) i5-7360U CPU @ 2.30GHz Intel(R) Iris(TM) Plus Graphics 640 Hopefully this will allow me to reproduce the issue. |
(0006769)
NirHasson 2020-11-17 16:36 |
Thanks for your efforts to resolve this issue. Did you manage to run in on your other devices? |
(0006770)
jsantos 2020-11-18 10:51 |
Not yet but will do soon, before the Mac Pro arrives. |
(0006778)
jsantos 2020-11-20 10:31 |
Ok, the Mac book pro is here and I was able to reproduce the issue. This is everything I need for now. :) I will keep you posted. |
(0006779)
NirHasson 2020-11-20 11:15 |
Great news! Hopefully it will help you resolve all related crashes we had on the Macs! |
(0006780)
jsantos 2020-11-20 12:10 (Last edited: 2020-11-20 12:10) |
I cannot attach Xcode to debug with these builds. Probably because the Unity Development flag is not active? In that case could you provide a development build corresponding to the build 1 (Spivi Custom Theme + Noesis 3.0.7 Release + Camera with Depth Clear) Thanks! |
(0006781)
jsantos 2020-11-20 13:14 |
Also, if you could create a development build with the following patch applied to NoeisView.cs--- NoesisView.cs (revision 9719) +++ NoesisView.cs (working copy) @@ -981,6 +981,8 @@ { if (_uiView != null && _visible) { + ForceRestoreCameraRenderTarget(); + _commands.name = "Noesis.Offscreen"; NoesisRenderer.RenderOffscreen(_uiView, _commands); Graphics.ExecuteCommandBuffer(_commands); |
(0006782)
NirHasson 2020-11-20 14:41 |
Ok I’ll do that next week. In the meantime I got another crash report with the noesis debut build. Thread 49 Crashed:: UnityGfxDeviceWorker 0 libsystem_kernel.dylib 0x00007fff6f10333a __pthread_kill + 10 1 libsystem_pthread.dylib 0x00007fff6f1bfe60 pthread_kill + 430 2 libsystem_c.dylib 0x00007fff6f08a808 abort + 120 3 UnityPlayer.dylib 0x000000010c2d8452 0x10ba5a000 + 8905810 4 libsystem_platform.dylib 0x00007fff6f1b45fd _sigtramp + 29 5 libsystem_malloc.dylib 0x00007fff6f174057 nanov2_calloc + 81 6 Noesis.dylib 0x000000012285da64 NoesisApp::MTLRenderDevice::SetOnScreenEncoder(id<MTLRenderCommandEncoder>, MTLPixelFormat, id<MTLRenderCommandEncoder>, unsigned int) + 164 7 Noesis.dylib 0x0000000122862e8d NoesisApp::MTLFactory::SetOnScreenEncoder(Noesis::RenderDevice*, id<MTLRenderCommandEncoder>, MTLPixelFormat, id<MTLRenderCommandEncoder>, unsigned int) + 61 8 Noesis.dylib 0x0000000122e47513 Noesis::UnityDeviceMTL::BeginRender() + 307 9 Noesis.dylib 0x0000000122e434c8 Noesis_GetRenderOnscreenCallback::$_2::operator()(int, void*) const + 216 10 Noesis.dylib 0x0000000122e433db Noesis_GetRenderOnscreenCallback::$_2::__invoke(int, void*) + 27 11 UnityPlayer.dylib 0x000000010bea747f 0x10ba5a000 + 4510847 12 UnityPlayer.dylib 0x000000010c7ce51c 0x10ba5a000 + 14107932 13 UnityPlayer.dylib 0x000000010bea85d7 0x10ba5a000 + 4515287 14 UnityPlayer.dylib 0x000000010be9e09c 0x10ba5a000 + 4472988 15 UnityPlayer.dylib 0x000000010c23566c 0x10ba5a000 + 8238700 16 libsystem_pthread.dylib 0x00007fff6f1c0109 _pthread_start + 148 17 libsystem_pthread.dylib 0x00007fff6f1bbb8b thread_start + 15 |
(0006783)
jsantos 2020-11-20 14:52 |
Do you have the Player.log for this one? |
(0006784)
jsantos 2020-11-20 15:04 (Last edited: 2020-11-20 15:10) |
Also, it is weird that there is no line numbers in that callstack, the new noesis.dylib have full debug information. Maybe it is being preprocessed when notarized? I need the full crash log because I need to see where Noesis.dylib is loaded in memory |
(0006787)
NirHasson 2020-11-22 12:16 |
I just built the last configuration (Noesis Based Theme + Noesis 3.0.7 Debug + Camera with Don't Clear flags) with the development build flag active and the ForceRestoreCameraRenderTarget addition and it crashed on my Mac Mini machine as well. Attached here is the full log. |
(0006788)
jsantos 2020-11-22 14:12 |
This makes more sense, the error `Already have uncommitted encoder' should happen in all devices. It is happening here in the MacBook Pro and in the Mac Mini. I am working on that fix. Are you sure this error was not happening in your Mac Mini before? You activated the 'development build' flag and my 'ForceRestoreCameraRenderTarget' patch. Which one is triggering this? |
(0006789)
NirHasson 2020-11-22 14:23 |
It seems like the Noesis Debug library itself. I created additional builds without the ForceRestoreCameraRenderTarget and without the Development Build and both of them crashed. |
(0006790)
NirHasson 2020-11-22 15:26 |
It seems like a change related to 3.0.7, it is not the development build, the code change, or the library itself. It didn't happen at the 3.0.6 |
(0006792)
NirHasson 2020-11-23 17:02 |
Do you need anything from our end? Do you still need the debug build? |
(0006793)
jsantos 2020-11-23 17:08 |
I have been working on this, I know what's happening and what change in 3.0.7 is causing this. Unfortunately it is a bug in Unity and I need to find a safe way to workaround it (because reporting to unity is going to take forever). Now that you can reproduce the assert in your Mini, the ideal help would be having a minimal repro scene, for now I am not able to reproduce it in a small project on Unity. But I am not sure that's going to be easy because I think this is happening when dynamically changing the setup of cameras in Unity. So, if the repro scene is not possible it would help knowing with details how the setup of cameras is configured by code when the crash happens (when the view replay button is clicked). As far as I know you are transitioning from one setup to another, I need those details. How cameras are enabled, how properties are changed by code (for example, if the clearFlags are being manipulated), etc etc. |
(0006794)
jsantos 2020-11-23 17:12 (Last edited: 2020-11-23 17:12) |
I am trying with both Unity 2019.4 and 2020.1, if you could also verify if the assert is still happening in Unity 2020 that would be great. |
(0006796)
jsantos 2020-11-23 17:54 (Last edited: 2020-11-23 17:54) |
Let me understand something, when you say 'scene' do you mean Unity scenes? because as far as I know, you can only have one Unity scene active. In that case, when the scene in 2a is loaded, I assume there is another camera doing the clear right? Do you know (could you add logs) if the crash is happening when displaying scene 2a or displaying scene 2b ? |
(0006797)
NirHasson 2020-11-23 18:47 |
Yes, I mean unity scenes. You can have only a single active scene, this is the scene that unity uses for lighting settings. However you can have multiple cameras at each scene and they are ordered by the depth value. In my case once an asynchronous scene load is completed, we make it as the active scene. I’ll have to check the logs and let you know what’s the exact crash location. |
(0006798)
jsantos 2020-11-23 18:50 (Last edited: 2020-11-23 19:26) |
Understood, so when you say a. The base scene with the UI camera is being loaded async. This scene has the UI camera that renders at depth 1, don't clear / or clear depth only, uses nothing for culling mask. There is also a main camera clearing the screen and rendering 3D? |
(0006799)
NirHasson 2020-11-23 18:51 |
Also, we have another setup with all of the flow above except that the main camera culling mask is set to nothing. This setup doesn’t crash so my guess is that the crash occurs immediately after the scene with the main camera that renders something is loaded |
(0006800)
jsantos 2020-11-23 18:54 |
I will try reproducing this by loading the scene by code, but I am not sure I have all the details. |
(0006803)
jsantos 2020-11-23 19:31 (Last edited: 2020-11-23 19:44) |
I tried loading my scene (composed by a clear camera, 3d camera and UI camera) withSceneManager.LoadScene("Stacking2", LoadSceneMode.Single); and it is not triggering the assert. I will keep testing more combinations. |
(0006804)
NirHasson 2020-11-23 20:22 |
I’m using the async version of the load and the additive mode not the single mode |
(0006805)
jsantos 2020-11-23 20:46 |
The additive mode is adding the 3D scene to a scene that already has a UI camera, right? |
(0006806)
NirHasson 2020-11-23 20:52 |
The additive mode is adding the scene to the loaded scenes stack. This is the scheme of what’s happening: 1. 1 scene with the the main menu UI 2. 2 scenes, the main menu UI and the core simulation UI. 3. 3 scenes, the main menu UI, the core simulation UI and the 3D scene. 4. 2 scenes, the core simulation UI and the 3D scene. |
(0006807)
jsantos 2020-11-23 21:01 |
Thanks Nir! For now, I am not being lucky. I see that changing the Viewport rect in a a few cameras is doing crazy things (even crashing Xcode when trying to capture the frame). I am investigating that right now. But I am going to need more information about the provided steps, at what steps the crash is happening, and what the exact scene state (regarding cameras) and that point and the exact details of the scene being added. If you have a similar flow that is not crashing, could you do changes until it crashes? Or even better, if you could create a repro scene... That's what I have been trying all day. |
(0006808)
jsantos 2020-11-23 21:25 (Last edited: 2020-11-23 21:25) |
I am observing that the mentioned crazy things about changing viewports in the camera disappear if HDR is disabled in the UI camera. Not sure if it is also related to your bug, but I would disable HDR in all cameras where it is not needed (UI cameras at least) |
(0006811)
NirHasson 2020-11-24 13:01 |
This is really going crazy, I've narrowed it down to a specific script. The crazy thing is that even if the game object containing the script is disabled the crash occurs. If I delete this game object all works fine. Will keep you posted. |
(0006812)
jsantos 2020-11-24 13:08 |
Thank you, remember also about the HDR flag I comment above. I am also doing more tests today, let's see if I find more things. |
(0006813)
NirHasson 2020-11-24 13:19 |
Yes, I already disabled the HDR but I didn't help. |
(0006814)
NirHasson 2020-11-24 15:16 |
Narrowed it down to have a reference to a Text Mesh Pro object in the 3D scene. Trying to upgrade from 2.0.1 to 2.1.3 |
(0006815)
NirHasson 2020-11-24 15:32 |
Well, it didn't help but I believe you can create a simple repro scene by just adding an instance of the default Text Mesh Pro object. In the UI scene, right-click on the Hierarchy -> 3D Object -> Text - TextMeshPro. It happens on 2.0.1 as well as the latest 2.1.3 of text mesh pro. |
(0006816)
NirHasson 2020-11-24 16:06 |
This becomes a very strange situation. I wanted to create a very simple repro scene so I added an instance of TMP to my splash screen. The result was a working version, it doesn't crash anymore! I don't know what happens internally that fixed this issue. |
(0006817)
jsantos 2020-11-24 16:43 (Last edited: 2020-11-24 16:58) |
I will try to reproduce, my bet is TMP has a bug and is leaving the Metal encoder opened, that would explain why Unity is telling us that there is no Metal encoder active. This makes sense if TMP is a native plugin, I am not sure about that right now. Thanks for this clue! |
(0006818)
NirHasson 2020-11-24 16:56 |
Good luck with that :) Seems to be a very specific scenario that leads to this bug. I don't understand why having it on the first splash scene resolved the issue later but who knows what's going on inside. |
(0006827)
jsantos 2020-11-26 14:19 |
Finally, I was able to reproduce the issue! I am working on it right now, will keep you posted. |
(0006828)
NirHasson 2020-11-26 14:42 |
Great! Thanks for the update |
(0006830)
jsantos 2020-11-26 15:38 |
Could you please try the following patch?Index: NoesisGUI/Plugins/NoesisRenderer.cs =================================================================== --- NoesisGUI/Plugins/NoesisRenderer.cs (revision 9719) +++ NoesisGUI/Plugins/NoesisRenderer.cs (working copy) @@ -1,4 +1,6 @@ using System.Runtime.InteropServices; +using LoadAction = UnityEngine.Rendering.RenderBufferLoadAction; +using StoreAction = UnityEngine.Rendering.RenderBufferStoreAction; /// <summary> /// In Unity, the render thread is only accesible in C++ using IssuePluginEvent(). This is a helper @@ -19,6 +21,16 @@ /// </summary> public static void RenderOffscreen(Noesis.View view, UnityEngine.Rendering.CommandBuffer commands) { + // This a way to force Unity to close the current MTL command encoder + // We need to activate a new encoder in the current command buffer for our Offscreen phase + if (UnityEngine.SystemInfo.graphicsDeviceType == UnityEngine.Rendering.GraphicsDeviceType.Metal) + { + UnityEngine.RenderTexture surface = UnityEngine.RenderTexture.GetTemporary(1,1); + commands.SetRenderTarget(surface, LoadAction.DontCare, StoreAction.DontCare, LoadAction.DontCare, StoreAction.DontCare); + commands.ClearRenderTarget(false, false, UnityEngine.Color.clear); + UnityEngine.RenderTexture.ReleaseTemporary(surface); + } + commands.IssuePluginEventAndData(_renderOffscreenCallback, 0, view.CPtr.Handle); } |
(0006831)
NirHasson 2020-11-26 15:53 |
Yes, that seems to fix this issue - works on my mac mini! I'll have to create a notarized build next week and send it to our testers. |
(0006832)
jsantos 2020-11-26 16:38 |
I just committed the change and a few more refinements that will part of 3.0.8. Thanks for you awesome feedback! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1842 | [NoesisGUI] C# SDK | minor | always | 2020-11-26 00:30 | 2020-11-26 13:17 |
Reporter: | ai_enabled | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.6 | ||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Text in Grid is not trimmed properly | ||||
Description: |
Hi guys, here is a snippet for XamlToy: <Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Background="Black"> <Grid Background="White" HorizontalAlignment="Left" Width="300"> <Grid.ColumnDefinitions> <ColumnDefinition Width="Auto" /> <ColumnDefinition Width="*" /> </Grid.ColumnDefinitions> <TextBlock Text="Some very long text here" Foreground="Red" FontSize="24" LineHeight="24" TextWrapping="NoWrap" TextTrimming="CharacterEllipsis" HorizontalAlignment="Left" /> <TextBlock Grid.Column="1" Text="[IMPORTANT]" Foreground="Blue" FontSize="24" LineHeight="24" TextWrapping="NoWrap" TextTrimming="None" HorizontalAlignment="Left" /> </Grid> </Grid> Only (only!) if you replace Auto with * for the first column the text there will be trimmed properly. My intention is to make the second column primary (as there is some important control) so the first column will trim but I cannot achieve this Regards! |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0006821)
ai_enabled 2020-11-26 00:32 |
Surprisingly, it's also failing in WPF as I've just tested. |
(0006822)
ai_enabled 2020-11-26 00:48 |
The workaround I've found: (works in both NoesisGUI and WPF)<Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Background="Black"> <DockPanel Background="White" HorizontalAlignment="Left" Width="300"> <TextBlock Text="[IMPORTANT]" Foreground="Red" FontSize="24" LineHeight="24" TextWrapping="NoWrap" TextTrimming="CharacterEllipsis" HorizontalAlignment="Left" DockPanel.Dock="Right" /> <TextBlock Text="Some very long text here" Foreground="Blue" FontSize="24" LineHeight="24" TextWrapping="NoWrap" TextTrimming="CharacterEllipsis" HorizontalAlignment="Left" DockPanel.Dock="Left" /> </DockPanel> </Grid> Interestingly, if I swap elements (while keeping their DockPanel.Dock properties) the issue appears again. It seems the order of TextBlock inside the panel matters! |
(0006823)
sfernandez 2020-11-26 10:14 |
In the case of the Grid the behavior is totally expected, you defined the first column to be Auto, allowing the first TextBlock to grow as much as it needs to fit all the text, so no trimming is possible. And if you change the first column to *, then you have 2 columns of the same size (150 each because the Grid has a fixed 300 width). In the case of the DockPanel the behavior is also as expected because DockPanel allocates the space required by its children in order. If first child is positioned to the right, then it will use the remaining space on the left to position the rest of children. If you change the order and first child is docked to the left, then the remaining space on the right will be used for the rest of children. You can achieve the same result as with the working DockPanel layout by using a Grid with the second column set to Auto: <Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Background="Black"> <Grid Background="White" HorizontalAlignment="Left" Width="300"> <Grid.ColumnDefinitions> <ColumnDefinition Width="*" /> <ColumnDefinition Width="Auto" /> </Grid.ColumnDefinitions> <TextBlock Text="Some very long text here" Foreground="Red" FontSize="24" LineHeight="24" TextWrapping="NoWrap" TextTrimming="CharacterEllipsis" HorizontalAlignment="Left" /> <TextBlock Grid.Column="1" Text="[IMPORTANT]" Foreground="Blue" FontSize="24" LineHeight="24" TextWrapping="NoWrap" TextTrimming="None" HorizontalAlignment="Left" /> </Grid> </Grid> |
(0006825)
ai_enabled 2020-11-26 12:30 (Last edited: 2020-11-26 12:32) |
Thank you for a great explanation, Sergio! Your code snippet works great! I've tried it yesterday (among dozens of other ideas) and my mistake was that Grid had HorizontalAlignment="Stretch" so it resulted in the first column being too wide (so the label from the second column appeared too far away from the short text in the first column). So I've assumed that "Auto" for the first column must trim the text as the grid obviously have a width limitation and the second column should have priority due to * width. I realize it's a nuance of WPF but heck it's quite a non-intuitive and frustrating one—so much that I've actually created a report this time to check whether it's the correct behavior. BTW, many other cases when it frustrated me before were when I tried to use horizontal StackPanel to combine text entries (as it's way easier than putting them into a grid and defining columns). WPF has its downsides and only through painful experience I can learn the right way. You can close this ticket unless you're planning to break WPF compatibility for the good! :-) Regards! |
(0006826)
sfernandez 2020-11-26 13:17 |
We'll stick to WPF behavior :) |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1539 | [NoesisGUI] C++ SDK | major | always | 2019-08-19 18:22 | 2020-11-25 21:50 |
Reporter: | pgrubyi | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 2.2.3 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | KeyboardNavigation.DirectionalNavigation="None" doesn’t work | ||||
Description: | KeyboardNavigation.DirectionalNavigation="None" doesn’t work. It is possible to navigate outside of the List with keyboard arrow keys. | ||||
Tags: | xaml | ||||
Steps To Reproduce: | In any List control declare KeyboardNavigation.DirectionalNavigation="None", then use Keyboard arrows keys to navigate outside of the List. | ||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1805 | [NoesisGUI] C# SDK | feature | N/A | 2020-10-12 15:48 | 2020-11-24 17:48 |
Reporter: | ai_enabled | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.0.6 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.0 | ||||
Platform: | Any | ||||
Summary: | Allow adjusting OffscreenSampleCount at any time | ||||
Description: |
Hi guys, as I've reported here https://www.noesisengine.com/bugs/view.php?id=1686#c6654 this is pretty much essential: "The big problem here is that the game allows the player to change MSAA setting on the fly (off/2x/4x/8x). Currently, the Noesis View must be recreated in order to initialize it with new RenderDeviceD3D11 (that has new OffscreenSampleCount). Simply changing OffscreenSampleCount for the existing RenderDeviceD3D11 instance is not enough and I can guess why. I wish we could change this on the fly as recreating a View object is a big no-no. It causes an issue with a multitude of other systems. E.g. allowing the call to view.Renderer.Init(renderDeviceD3D11) again after it was already initialized would solve this problem (as I can change device's OffscreenSampleCount and call view.Renderer.Init). Currently, it's not supported as further access to the renderer object results in a memory access violation." The problem is that the View is already propagated itself to various game systems (for example, we're using it to set up all the menus, recreating them without reloading the whole UI is not possible). Regards! |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0006819)
ai_enabled 2020-11-24 17:48 |
I still wish to be able to adjust this same as I can adjust RenderFlags. Currently, the whole OffscreenSampleCount feature is just useless (recreating the whole UI is not an option). |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1837 | [NoesisGUI] C# SDK | minor | always | 2020-11-13 16:08 | 2020-11-20 14:01 |
Reporter: | ai_enabled | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.6 | ||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | PPAA doesn't work / View.Content.PPAAMode has no effect | ||||
Description: |
Hi guys, I've noticed that in 3.0.6 (have not tried 3.0.7 yet) the PPAA mode doesn't work and change of View.Content.PPAAModel has no effect. Please check! |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0006751)
sfernandez 2020-11-13 19:21 |
Did you have PPAA enabled in the View?view.SetFlags(RenderFlags.PPAA); How are you using PPAAMode? That enum contains two possible values: - Default means it will use whatever you have set in the View (this is the default value for the property). - Disabled means PPAA is not used on that element subtree (remark that this property is inheritable). |
(0006771)
ai_enabled 2020-11-18 23:14 |
Thank you, Sergio! You're totally right, I didn't set RenderFlags.PPAA! Somehow I've totally missed this NoesisGUI changelog entry "Removed SetIsPPAAEnabled and GetIsPPAAEnabled from IView. PPAA is now part of RenderFlags enumeration". I was under impression that the new PPAAMode properly of FrameworkElement is enough. Oddly enough, it seems the change was done long ago (3.0.0b1) but I've noticed lack of PPAA only few days ago. I swear it worked fine until recently! By the way, Is there any harm in keeping RenderFlags.PPAA for the View even if I set it to PPAAMode to Disabled for the View's content? Or it's best to set it only when we actually want to apply PPAA? Regards! |
(0006772)
sfernandez 2020-11-19 10:08 |
If you want to disable PPAA you should do it by removing the RenderFlags.PPAA in the View, because even if you set PPAAMode to Disabled in View's content that won't inherit on Popups (they are not children of the content). It is better to use PPAAMode just for disabling PPAA on parts of the UI where you don't need antialiasing (for example on square/rectangle shapes). |
(0006773)
ai_enabled 2020-11-19 12:41 |
Thank you for the explanation, Sergio! It makes perfect sense. It's worth to mention about this detail in this doc page https://www.noesisengine.com/docs/Gui.Core.AntialiasingTutorial.html Please close this ticket and sorry for disturbing you! Regards! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1802 | [NoesisGUI] Unity3D | tweak | always | 2020-09-29 14:00 | 2020-11-20 13:51 |
Reporter: | Noa3 | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.5 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.0.8 | ||||
Platform: | Any | ||||
Summary: | Changes made to ApplicationResources or its dictionary are not notified to the tree | ||||
Description: |
https://www.noesisengine.com/forums/viewtopic.php?f=3&t=2099&p=11695 i repost this out of the Forum, after setting in the viewmodel Noesis.GUI.SetApplicationResources(newRes); the Resources does now reload and there are no changes to the Visibile stuff |
||||
Tags: | C#, Rendering, ResourceDictionary, Unity | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1833 | [NoesisGUI] C++ SDK | feature | always | 2020-11-10 19:36 | 2020-11-16 10:53 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.7 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.8 | ||
Target Version: | 3.0.8 | ||||
Platform: | Any | ||||
Summary: | Create MessageBox user control | ||||
Description: |
Add a MessageBox user control to our application framework that mimics (as much as possible) the WPF one: https://docs.microsoft.com/en-us/dotnet/api/system.windows.messagebox?view=net-5.0 https://www.wpf-tutorial.com/dialogs/the-messagebox/ |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0006755)
sfernandez 2020-11-16 10:53 |
Usage:#include <NsApp/MessageBox.h> MessageBox::Show("Save changes to the modified file?", "Close", MessageBoxButton::YesNo, [](MessageBoxResult result) { if (result == MessageBoxResult::Yes) { /* save file */ } }); using NoesisApp; MessageBox.Show("Save changes to the modified file?", "Close", MessageBoxButton.YesNo, (result) => { if (result == MessageBoxResult.Yes) { /* save file */ } }); |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1836 | [NoesisGUI] C++ SDK | crash | always | 2020-11-12 12:57 | 2020-11-12 17:01 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.7 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.8 | ||
Target Version: | 3.0.8 | ||||
Platform: | Any | ||||
Summary: | Crash clicking a TextBox using a template without valid PART_ContentHost | ||||
Description: | When using a TextBox with a control template that doesn't contain a valid PART_ContentHost (a ScrollViewer or Decorator element), then interacting with the text box produces a crash. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1830 | [NoesisGUI] C++ SDK | feature | N/A | 2020-11-05 18:28 | 2020-11-11 19:37 |
Reporter: | steveh | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.6 | ||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.8 | ||
Target Version: | 3.0.8 | ||||
Platform: | Any | ||||
Summary: | Feature Request: Generic notification support within storyboards | ||||
Description: |
Hi guys, this is following on from this thread and our discussion: https://www.noesisengine.com/forums/viewtopic.php?f=3&t=2066&p=11532#p11532 So the suggested workaround regarding a float instead of a boolean works for triggering the notification multiple times within a looping storyboard, but it doesn't work if we attempt to trigger a notify a single time multiple times, e.g: <Storyboard> <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(AudioTrigger.TriggerAudio)" Storyboard.TargetName="AudioTriggerElement" RepeatBehavior="Forever"> <DiscreteDoubleKeyFrame KeyTime="0:0:0.5" Value="1.0"/> </DoubleAnimationUsingKeyFrames> </Storyboard> It would be nice if there was a supported extension to add triggers within a storyboard. We would use this features in a couple of places: 1. Triggering Audio / Particle FX 2. Triggering a callback to do things like change data when we're half-way through an animation such as a level-up animation. Right now we do this with 2 textboxes: <TextBlock x:Name="OldLevel" Text="{Binding Level, Converter={StaticResource SubtractionConverter}, ConverterParameter=1}" Visibility="Visible" /> <TextBlock x:Name="NewLevel" Text="{Binding Level}" Visibility="Collapsed" /> Then half-way through the storyboard, we change the visibility of the elements so the new value comes through: <Storyboard> <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="OldLevel"> <EasingDoubleKeyFrame KeyTime="0" Value="1.0"/> <EasingDoubleKeyFrame KeyTime="0:0:0.5" Value="0"/> </DoubleAnimationUsingKeyFrames> </DoubleAnimationUsingKeyFrames> <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(FrameworkElement.Visibility)" Storyboard.TargetName="OldLevel"> <DiscreteObjectKeyFrame KeyTime="0:0:0.5" Value="Collapsed"/> </ObjectAnimationUsingKeyFrames> <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(FrameworkElement.Visibility)" Storyboard.TargetName="NewLevel"> <DiscreteObjectKeyFrame KeyTime="0:0:0.5" Value="Visible"/> </ObjectAnimationUsingKeyFrames> <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="NewLevel"> <EasingDoubleKeyFrame KeyTime="0:0:0.5" Value="0.0"/> <EasingDoubleKeyFrame KeyTime="0:0:1" Value="1"/> </DoubleAnimationUsingKeyFrames> </Storyboard> It would be nice to be able to trigger a generic event at time 0.5 seconds in this example where I could update the binding for Level so we only had to have 1 textblock. Hopefully this makes sense and you can see why we might want the ability to trigger generic notifications. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0006714)
sfernandez 2020-11-06 10:58 |
Regarding the limitation you mentioned about triggering the notification multiple times within a looping storyboard, there is way to make it work with only a single key frame. As I explained in the forums you can set the FillBehavior to "Stop" in the timeline so it resets the value to its default each time it repeats: <Storyboard x:Key="anim" Duration="0:0:1" RepeatBehavior="3x"> <DoubleAnimationUsingKeyFrames FillBehavior="Stop" Storyboard.TargetName="rect" Storyboard.TargetProperty="(local:CustomTrigger.Trigger)"> <DiscreteDoubleKeyFrame KeyTime="0:0:0.5" Value="0.5"/> </DoubleAnimationUsingKeyFrames> </Storyboard> In that example, if the default value of CustomTrigger.Trigger property is -1, it will call the property changed callback for 0.5, -1, 0.5, -1, 0.5, -1. If you only fire the trigger event for values >= 0 I think this approach fits with what you are asking and it is 100% compatible with Blend. And you can use it for changing the text in the middle of an animation too. For example, you can do: <Storyboard x:Key="anim" Duration="0:0:1"> <DoubleAnimationUsingKeyFrames FillBehavior="Stop" Storyboard.TargetName="text" Storyboard.TargetProperty="(local:CustomTrigger.Trigger)"> <DiscreteDoubleKeyFrame KeyTime="0:0:0.5" Value="0.5"/> </DoubleAnimationUsingKeyFrames> ... rest of animations </Storyboard> ... <TextBlock x:Name="text"> <i:Interaction.Triggers> <ei:DataTrigger Binding="{Binding (local:CustomTrigger.Trigger), ElementName=text}" Comparison="GreaterThanOrEqual" Value="0"> <i:InvokeCommandAction Command="{Binding UpdateTextCommand}"/> </ei:DataTrigger> </i:Interaction.Triggers> Does that make sense? |
(0006715)
steveh 2020-11-06 17:16 (Last edited: 2020-11-06 17:16) |
Hi Sergio, Yes that makes sense. I've just given this a test and it works. The only downside is that there is no way to set the fill behaviour via the GUI in Blend, and our artists / designers tend to primarily use the GUI to edit the storyboards. I've spent a little while Googling around and the only way to change the fill behaviour from what I can see is by editing the XAML. I may be able to set the fillbehavior when we use our custom export tool to convert the xaml source files into our image data, so I can probably programmatically set this property on all animations which affect the CustomTrigger.Trigger property. Cheers, -Steven |
(0006716)
steveh 2020-11-06 22:29 |
Just to update you on this. So we've almost got it to a place where the audio designers are happy with this. So now I've got 2 DependencyProperties on our trigger: TriggerProperty which is a bool RepeatableTriggerProperty which is an int32 The reason we have kept both is that the audio designers like having a checkbox on the GUI instead of having to type in a number. I suggested that I could create an enum so they got a drop down selection, but they didn't like that idea. So we decided to create 2 properties and make the repeatable trigger in the "Advanced" section of the editor so it's hidden by default, but they still have the ability to fire the same trigger multiple times in the same storyboard. With regards to the FillBehaviour, I added this functionality into our export pipeline and it works great. We have a tool where we feed in the *.xaml files and it writes out a *.xaml file in a slightly different format. This allows us to tag certain parts of the UI and they wont appear in the final build, e.g. we have meta data tags like the following: <Grid x:Name="foo_console" Sumo.MetaData="Platform=xbox,ps4"> <!-- stuff --> </Grid> <Grid x:Name="foo_pc" Sumo.MetaData="Platform=pc"> <!-- stuff --> </Grid> The first grid will be completely removed from our PC package data, and the second grid will be completely removed from the PS4 and Xbox packages. We use this for a variety of things, but this is just 1 example. If we find a CustomTrigger.Trigger or CustomTrigger.TriggerRepeating as the target property of a storyboard, we automatically add a FillBehaviour Stop attribute in. This doesn't appear in Blend, but it does appear in our package data and it works as expect. Right now we feel like we have enough workarounds to put this bug to bed. It'd be nice to have a fully supported feature which integrates nicely with Blend, but for now what we have is reasonable and it seems to work in all cases. Cheers, -Steven |
(0006718)
sfernandez 2020-11-10 18:50 |
Hi Steve, I added a suggestion to Visual Studio feedback to remark FillBehavior cannot be edited using the GUI of Blend: https://developercommunity2.visualstudio.com/t/Blend-Add-Edit-Fill-Behavior-entry-t/1247283 Do you think we can close this ticket? |
(0006719)
steveh 2020-11-10 18:59 |
Hi Sergio, yes, I think our pipeline is much better now and it seems to work great. I'll await Microsoft's response but I'm not expecting anything any time soon, so for now our programmatic solution to automatically set the fill behaviour property works fine :) Cheers! |
(0006724)
steveh 2020-11-11 13:24 |
Hi Sergio, Sorry, just reopening this ticket. We've found 1 case this doesn't work: https://www.noesisengine.com/xamltoy/573cc06a07416b5d38f99392d6122cb8 Every time the value flips between -1 and 1 it'll fire an event internally, and this works great. But if the keyframe is at time 0, i.e: <StringAnimationUsingKeyFrames FillBehavior="Stop" Storyboard.TargetName="Value" Storyboard.TargetProperty="Text" RepeatBehavior="Forever"> <DiscreteStringKeyFrame KeyTime="0" Value="1" /> <!-- initial keyframe at time 0 --> <DiscreteStringKeyFrame KeyTime="0:0:1" Value="1" /> <!-- key frame to loop the sound every 1 second --> </StringAnimationUsingKeyFrames> Then this doesn't seem to have a frame to reset the value, the timeline instantly loops round without stopping and thus resetting the value back to -1. This means that we can't fire audio events on a looping animation from the very first frame. Is there any way to get WPF to forcibly clear the value as soon as it loops so we always get the dependency changed events through? Cheers, -Steven |
(0006725)
sfernandez 2020-11-11 17:44 (Last edited: 2020-11-11 17:46) |
Hi, no problem at all. Before going with the issue just want to remark you can specify the duration of the animation without adding another KeyFrame: <StringAnimationUsingKeyFrames FillBehavior="Stop" Storyboard.TargetName="Value" Storyboard.TargetProperty="Text" RepeatBehavior="Forever" Duration="0:0:1"> <DiscreteStringKeyFrame KeyTime="0" Value="1" /> <!-- initial keyframe at time 0 --> </StringAnimationUsingKeyFrames> Yes, it seems KeyFrames placed at time 0 are used when looping without passing through the default value, and I verified that WPF is also doing the same. Advancing the time of the initial KeyFrame a bit (to 0:0:0.01 for example) allows the animation system to set the default value on each loop, but it seems a bit hacky. <StringAnimationUsingKeyFrames FillBehavior="Stop" Storyboard.TargetName="Value" Storyboard.TargetProperty="Text" RepeatBehavior="Forever" Duration="0:0:1"> <DiscreteStringKeyFrame KeyTime="0:0:0.01" Value="1" /> <!-- initial keyframe at time ~0 --> </StringAnimationUsingKeyFrames> I found another way of reseting the value for "looping" animations: https://stackoverflow.com/questions/2667836/how-to-trigger-a-event-handler-when-wpf-animation-repeated The idea is to play the animation just one time instead of Forever, and then listen to the Completed event to fire the animation again: <Storyboard x:Key="anim"> <StringAnimationUsingKeyFrames FillBehavior="Stop" Storyboard.TargetName="Value" Storyboard.TargetProperty="Text" Duration="0:0:1"> <DiscreteStringKeyFrame KeyTime="0" Value="1" /> <!-- initial keyframe at time 0 --> </StringAnimationUsingKeyFrames> </Storyboard> ... <i:Interaction.Triggers> <ei:StoryboardCompletedTrigger Storyboard="{StaticResource anim}"> <ei:ControlStoryboardAction Storyboard="{StaticResource anim}"> </ei:StoryboardCompletedTrigger> <i:Interaction.Triggers> This way the property is always set to the default value after each iteration. Any thoughts on this? |
(0006726)
steveh 2020-11-11 18:30 (Last edited: 2020-11-11 18:31) |
Hey, so the duration sounds ideal, unfortunately this trigger object is intended to be used by audio designers who work specifically with the WYSWIG Blend GUI, and I don't think the GUI exposes any of these properties via the interface. This might be one of those cases though where if they need support for it I can write the XAML for them. With regards to the interaction trigger, that could work, but I feel it might complicate matters, right now animation is being stopped via some external C++ code (this is a countdown animation which loops every second and plays a 'blip' until we stop the animation). We could move all this logic to the XAML but that would require exposing extra properties and additional conditionals to the trigger to ensure that it doesn't continuously loop forever, it only loops whilst we're in the "game ending" phase: <i:Interaction.Triggers> <ei:StoryboardCompletedTrigger Storyboard="{StaticResource anim}"> <i:Interaction.Behaviors> <ei:ConditionBehavior> <ei:ConditionalExpression> <!-- Extra Property to prevent it from looping when we set it --> <ei:ComparisonCondition LeftOperand="{Binding InGameEndingPhase}" Operator="Equal" RightOperand="True" /> </ei:ConditionalExpression> </ei:ConditionBehavior> </i:Interaction.Behaviors> <ei:ControlStoryboardAction Storyboard="{StaticResource anim}"> </ei:StoryboardCompletedTrigger> <!-- And data trigger to stop the storyboard when we exit the phase --> <ei:DataTrigger Binding="{Binding InGameEndingPhase}" Value="False"> <ei:ControlStoryboardAction Storyboard="{StaticResource anim}" ControlStoryboardOption="Stop"> </ei:DataTrigger> </i:Interaction.Triggers> This just seems quite a bit more complex than the C++ code which just does something like this: void OnPhaseChanged(EPhase ePhase) { if (ePhase != GameEndPhase) m_pAnimation->Stop(); } And it also doesn't get around the issue of having a nice simple interface for audio designers to go in and just drag and drop these triggers in, this still requires code support to expose this data and setup all the bindings. I'll keep these solutions in mind for the future. Right now we've gone with the solution of just triggering the audio at 0.01 seconds like you mentioned. This is a solution that audio designers can do without editing the XAML and it also doesn't require additional code to expose extra properties to data bind to. |
(0006727)
sfernandez 2020-11-11 18:39 |
I think you can still Stop the storyboard from code only because that will prevent the Completed event to be triggered so it won't loop again. You won't need any extra property or write the extra condition in the StoryboardCompletedTrigger. Anyway, you know better what option fits better for your designers and workflow. |
(0006728)
steveh 2020-11-11 18:49 |
Ah, I wasn't aware of that, I thought Stopping via code would still trigger the completed trigger, I don't know why I thought that. If that's the case then I think the looping in XAML could be a solution for us. Thank you for your help and suggestion Sergio! I'm sorry thinks aren't as simple as they usually are as we have artists and designers using Blend and they're used to flashy editors like Unreal and the Adobe suite :) Personally I like XAML and I'm happy to avoid Blend completely. I think we can re-close this now, I think I have enough to go on and we have workarounds for the looping issue. Cheers! |
(0006729)
sfernandez 2020-11-11 19:37 |
It is good to have these conversations because one of our goals is to make life easier for designers and avoid as much as possible the intervention of programmers for designing the UI. So knowing all these situations helps us improve our product. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1834 | [NoesisGUI] C++ SDK | minor | always | 2020-11-11 12:00 | 2020-11-11 16:48 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.7 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.8 | ||
Target Version: | 3.0.8 | ||||
Platform: | Any | ||||
Summary: | Button Click event not raised when pressing Gamepad_A if Alt key is pressed | ||||
Description: | Button should raise Click event with Gamepad even if the Alt key is pressed (that should only affect the Space key because that key combination [Alt+Space] was intended to show the system menu). | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1817 | [NoesisGUI] Unity3D | tweak | always | 2020-10-24 20:36 | 2020-11-03 16:39 |
Reporter: | Armitage1982 | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.6 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.8 | ||
Target Version: | 3.0.8 | ||||
Platform: | Windows | ||||
Summary: | RadioButton Gallery example throw ArgumentException in Unity Editor Mode & Builds | ||||
Description: |
Using the **Gallery** Example in a Unity 2020.1.10f1 in Editor Mode OR Windows / WebGL Build the **Basic input** => **RadioButton** => **GroupName** example throw this Unity ArgumentException when selecting any radio button : <code> ArgumentException: Object of type 'System.String' cannot be converted to type 'Noesis.Brush'. System.RuntimeType.CheckValue (System.Object value, System.Reflection.Binder binder, System.Globalization.CultureInfo culture, System.Reflection.BindingFlags invokeAttr) (at <9577ac7a62ef43179789031239ba8798>:0) System.Reflection.MonoMethod.ConvertValues (System.Reflection.Binder binder, System.Object[] args, System.Reflection.ParameterInfo[] pinfo, System.Globalization.CultureInfo culture, System.Reflection.BindingFlags invokeAttr) (at <9577ac7a62ef43179789031239ba8798>:0) System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at <9577ac7a62ef43179789031239ba8798>:0) System.Reflection.MonoProperty.SetValue (System.Object obj, System.Object value, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] index, System.Globalization.CultureInfo culture) (at <9577ac7a62ef43179789031239ba8798>:0) System.Reflection.PropertyInfo.SetValue (System.Object obj, System.Object value, System.Object[] index) (at <9577ac7a62ef43179789031239ba8798>:0) NoesisApp.ChangePropertyAction.SetPropertyValue () (at Assets/NoesisGUI/Plugins/API/Interactivity/ChangePropertyAction.cs:173) NoesisApp.ChangePropertyAction.Invoke (System.Object parameter) (at Assets/NoesisGUI/Plugins/API/Interactivity/ChangePropertyAction.cs:111) NoesisApp.TriggerAction.CallInvoke (System.Object parameter) (at Assets/NoesisGUI/Plugins/API/Interactivity/TriggerAction.cs:44) NoesisApp.TriggerBase.InvokeActions (System.Object parameter) (at Assets/NoesisGUI/Plugins/API/Interactivity/TriggerBase.cs:82) NoesisApp.EventTriggerBase.OnEvent (System.Object parameter) (at Assets/NoesisGUI/Plugins/API/Interactivity/EventTriggerBase.cs:94) NoesisApp.EventTriggerBase.OnEventImpl (System.Object sender, Noesis.EventArgs eventArgs) (at Assets/NoesisGUI/Plugins/API/Interactivity/EventTriggerBase.cs:207) NoesisApp.EventTriggerBase+EventWrapper.Invoke (System.Object sender, Noesis.EventArgs e) (at Assets/NoesisGUI/Plugins/API/Interactivity/EventTriggerBase.cs:156) (wrapper unbox) NoesisApp.EventTriggerBase+EventWrapper.Invoke(object,Noesis.EventArgs) Noesis.RoutedEventArgs.InvokeHandler (System.Delegate handler, System.IntPtr sender, System.IntPtr args) (at Assets/NoesisGUI/Plugins/API/Proxies/RoutedEventArgs.cs:50) Noesis.EventManager.InvokeHandler (System.IntPtr routedEvent, System.Delegate handler, System.IntPtr sender, System.IntPtr args) (at Assets/NoesisGUI/Plugins/API/Core/Events.cs:586) Noesis.EventHandlerStore.RaiseRoutedEvent (System.IntPtr cPtrType, System.IntPtr cPtr, System.IntPtr routedEvent, System.IntPtr sender, System.IntPtr e) (at Assets/NoesisGUI/Plugins/API/Core/Events.cs:275) UnityEngine.Debug:LogException(Exception) NoesisUnity:OnUnhandledException(Exception) (at Assets/NoesisGUI/Plugins/NoesisUnity.cs:167) Noesis.Error:UnhandledException(Exception) (at Assets/NoesisGUI/Plugins/API/Core/Error.cs:18) Noesis.EventHandlerStore:RaiseRoutedEvent(IntPtr, IntPtr, IntPtr, IntPtr, IntPtr) (at Assets/NoesisGUI/Plugins/API/Core/Events.cs:280) Noesis.View:Noesis_View_MouseButtonUp(HandleRef, Int32, Int32, Int32) Noesis.View:MouseButtonUp(Int32, Int32, MouseButton) (at Assets/NoesisGUI/Plugins/API/Core/View.cs:154) NoesisView:ProcessEvent(Event, Boolean, Boolean, Boolean) (at Assets/NoesisGUI/Plugins/NoesisView.cs:1133) NoesisView:OnGUI() (at Assets/NoesisGUI/Plugins/NoesisView.cs:1227) </code> |
||||
Tags: | |||||
Steps To Reproduce: |
Simply try the Gallery Example from https://github.com/Noesis/Tutorials/tree/master/Samples/Gallery/Unity in Edit mode or inside a unity 2020.1.10f1 Build |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0006704)
sfernandez 2020-10-26 10:55 |
Thanks for the report, this is related to the lack of TypeConverters for some types in C# API. It turns out that TypeDescriptor.GetConverter() can't find a valid converter for Brush type. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1825 | [NoesisGUI] Unity3D | minor | always | 2020-10-30 10:19 | 2020-10-30 10:20 |
Reporter: | jsantos | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.7 | ||
Target Version: | 3.0.7 | ||||
Platform: | Any | ||||
Summary: | Problem creating Unity Render Textures when linear rendering is enabled | ||||
Description: |
When linear rendering is enabled, render textures must have 'R8G8B8A8_SRGB' format but there is no way to use that format when the render texture is created by the editor (Assets->Create->Render Texture). The problem goes away if the render texture is created by code. We are going to add a new entry (Assets->Create->Noesis Render Texture) to workaround this problem. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1736 | [NoesisGUI] C++ SDK | crash | random | 2020-06-24 08:33 | 2020-10-29 17:56 |
Reporter: | nikobarli | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 2.2.6 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.0 | ||||
Platform: | Windows | ||||
Summary: | Crash when calling UpdateView | ||||
Description: |
Noesis occasionally crashed inside UpdateView. It happens when we switches tabs or buttons quickly. Currently we don't have small environment that can reproduces the problem. Here is the callstack: > Noesis.dll!Noesis::UIElement::Measure(const Noesis::Size & availableSize) Line 536 C++ [Inline Frame] Noesis.dll!Noesis::ViewLayout::ProcessMeasures() Line 526 C++ Noesis.dll!Noesis::ViewLayout::ProcessLayout() Line 380 C++ [Inline Frame] Noesis.dll!Noesis::ViewLayout::Layout(bool) Line 255 C++ [Inline Frame] Noesis.dll!Noesis::View::UpdateContent() Line 730 C++ [Inline Frame] Noesis.dll!Noesis::View::InternalUpdate(double) Line 714 C++ Noesis.dll!Noesis::View::Update(double timeInSeconds) Line 639 C++ NoesisUtil.dll!NoesisUtil::ZUIImpl::UpdateView() Line 631 C++ I attached the dump file, Noesis.{dll,pdb}, and NoesisUtil.{dll,pdb}. Could you please analyze it and if possible provide a fix ? # NoesisUtil is our integration layer. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
Zpal2_rxcpp.dmp (1,228,419 bytes) 2020-06-24 08:33 https://www.noesisengine.com/bugs/file_download.php?file_id=1255&type=bug Noesis.dll (4,859,392 bytes) 2020-06-24 08:33 https://www.noesisengine.com/bugs/file_download.php?file_id=1256&type=bug ClicksAndCrash.gif (2,609,438 bytes) 2020-06-24 09:29 https://www.noesisengine.com/bugs/file_download.php?file_id=1257&type=bug image (16).png (155,612 bytes) 2020-06-24 09:29 https://www.noesisengine.com/bugs/file_download.php?file_id=1258&type=bug ClicksAndCrash-2.gif (2,609,438 bytes) 2020-06-24 09:30 https://www.noesisengine.com/bugs/file_download.php?file_id=1259&type=bug NoesisGUI-win-x86_64sln_HelloWorld.patch (22,639 bytes) 2020-07-01 05:15 https://www.noesisengine.com/bugs/file_download.php?file_id=1267&type=bug |
||||
Notes | |
(0006449)
nikobarli 2020-06-24 08:36 |
Oops, seems that the PDB files are too large. |
(0006450)
nikobarli 2020-06-24 08:44 |
Please find the files in my OneDrive here: https://ziokk-my.sharepoint.com/:f:/g/personal/bniko_zio_co_jp/EnREbrAMyN9DjZeUDXL-P2YBiqg8Pxr9G9SRHq0QIMp1Ug?e=Q9BoYY The link will expire in 2020/8/23. Thanks |
(0006451)
nikobarli 2020-06-24 09:20 |
Hhmmhh the OneDrive link seems to have problem as well. Please use this one if it is not working: https://drive.google.com/drive/folders/1w4Q1ot0P3X_0cF94OBWznR2HNj5wZMxk?usp=sharing |
(0006452)
nikobarli 2020-06-24 09:29 |
BTW, this is another crash inside UpdateView that we had. The callstack is different from above. It also happens if we operate on NoesisGUI quickly. In this case, switching tabs quickly. |
(0006471)
sfernandez 2020-06-29 19:03 |
Thanks for the info, we'll take a look as soon as possible. Any chance we can get the TabControl and tabs definition that leads to this crash? |
(0006472)
sfernandez 2020-06-29 19:09 |
From the gif video I see there are panels also changing on the background, not only the TabControl contents. If you hide/disable those background panels so only the TabControl changes, does the crash still occurs? I'm just trying to figure out if the problem is related to the TabControl or it could be something more complex. |
(0006476)
nikobarli 2020-06-30 06:50 |
The tabs are actually old code that we no longer used. The background panels are ordinary MFC windows that reacts to the Noesis GUI. We no longer have the code now and we have avoided using tabs (partly due to adjusting to UI design that requires no tab implementation), and use buttons for most of the scenarios. But we still have the similar exception when calling view->Update(). From the dump core, do you have any idea what may cause this issue ? |
(0006477)
sfernandez 2020-06-30 12:24 |
From the dump I see that is crashing when calling or returning from MeasureCore, so I guess the UI element is being destroyed while measuring. It could help if you can add some logs in the UIElement::Measure() function to determine which control is, something like: if (!IsMeasureValid() || availableSize != mPreviousMeasureConstraint) { NS_LOG_INFO("[Measure] %s (%s): (%gx%g)", GetClassType()->GetName(), GetValue<NsString>(FrameworkElement::NameProperty).c_str(), availableSize.width, availableSize.height); // We want always to arrange after measure InvalidateArrange(); ... If you make it crash again there, please attach the logs. After that I would like to test something, in ViewLayout.cpp, in the ProcessMeasures() function use a Ptr to store the current element during its measure: void ViewLayout::ProcessMeasures() { NS_PROFILE_CPU("Gui/Layout/Measure"); Ptr<UIElement> current(*mMeasures.begin()); NS_ASSERT(!current->IsMeasureValid()); mInsideLayout = true; current->Measure(current->GetMeasureConstraint()); mInsideLayout = false; } If with that change you don't get more crashes there, it would mean the object is definitely being destroyed inside its measure. |
(0006481)
nikobarli 2020-07-01 05:15 |
Thanks. We will try to patch our code and see if it happens again. Meanwhile, we found a code that reproduce the crash stack trace in ClicksAndCrash-2.gif (related to animation?) . Please find the patch below. Just click anywhere inside the window to crash the program. FYI, we are using Noesis 2.2.6 x64 version. |
(0006482)
sfernandez 2020-07-01 12:26 |
Thanks a lot for that xaml, looking into it right now. |
(0006484)
sfernandez 2020-07-01 17:23 |
I moved the second crash (the one related to animations) to a new ticket: 0001743 |
(0006491)
nikobarli 2020-07-02 10:47 |
Thanks, I confirmed that the fix in 1743. BTW, could you clarify in what condition the crash in that scenario happens ? We are in final stage of releasing software, and we probably not able to incorporate the fix unless it is really necessary (to avoid risk of side effects). If we can know the condition that cause the crash, we can check our XAML style to see whether it is likely to happens and decide whether to incorporate the fix. |
(0006493)
sfernandez 2020-07-02 12:23 |
It was happening when an ongoing visual transition (MouseOver) animates an object that gets destroyed (because IsChecked changes the Foreground brush object). In the attached sample you can workaround the bug by using a local brush (instead of the inherited from the Control): <ContentPresenter x:Name="ContentHost"> <TextElement.Foreground> <SolidColorBrush Color="{Binding Foreground.Color, RelativeSource={RelativeSource TemplatedParent}}"/> </TextElement.Foreground> </ContentPresenter> |
(0006541)
nikobarli 2020-07-22 05:55 |
FYI, we added the following fix to our internal Noesis source code for release. Sorry that we don't have the information yet on which UI element that causes the crash (because we needed to release the software) . void ViewLayout::ProcessMeasures() { NS_PROFILE_CPU("Gui/Layout/Measure"); Ptr<UIElement> current(*mMeasures.begin()); NS_ASSERT(!current->IsMeasureValid()); mInsideLayout = true; current->Measure(current->GetMeasureConstraint()); mInsideLayout = false; } |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1686 | [NoesisGUI] C# SDK | minor | always | 2020-05-15 20:52 | 2020-10-29 17:55 |
Reporter: | ai_enabled | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.0 | ||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.0.7 | ||||
Platform: | Any | ||||
Summary: | Antialiasing doesn't work when element has DropShadowEffect | ||||
Description: |
Hi guys, the DropShadowEffect is awesome but I've noticed a little issue with the rounded corners. See the attached screenshots, pay attention to the rounded labels such as "PvP", "OFFICIAL", etc. I've tested with MSAA and PPAA. Both don't work. I can remove rounded corners for now but I wish it could be fixed (especially if the fix is straightforward). Good job on the DropShadowEffect overall as it allows me to add depth into the UI where necessary, and improve the text effects! :-) Regards! |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
MSAA_NoShadow.png (839,656 bytes) 2020-05-15 20:52 https://www.noesisengine.com/bugs/file_download.php?file_id=1234&type=bug MSAA_WithShadow.png (876,752 bytes) 2020-05-15 20:52 https://www.noesisengine.com/bugs/file_download.php?file_id=1235&type=bug Screenshot at 19-32-15.png (31,361 bytes) 2020-07-02 17:43 https://www.noesisengine.com/bugs/file_download.php?file_id=1275&type=bug Screenshot at 19-31-59.png (38,955 bytes) 2020-07-02 17:43 https://www.noesisengine.com/bugs/file_download.php?file_id=1276&type=bug |
||||
Notes | |
(0006385)
jsantos 2020-05-20 10:58 |
This is probably a silly thing but we locked 3.0.0, we will solve it in 3.0.1. Thanks for your feedback, as always! |
(0006478)
sfernandez 2020-06-30 13:34 |
I've been doing some tests and it looks like PPAA is not disabled when using effects. I created a xamltoy showing it: https://www.noesisengine.com/xamltoy/44de34a2f908121cca23d6d94885474c I don't remember changing anything related in our latest releases, but could you please check again to confirm you are still having this issue? |
(0006495)
ai_enabled 2020-07-02 17:43 (Last edited: 2020-07-02 17:45) |
It's broken for both PPAA and MSAA as I've just checked. The screenshot above is without the drop shadow effect and the MSAA works fine there. |
(0006498)
sfernandez 2020-07-03 12:26 |
So those images are using MSAA only, PPAA is not enabled when Views are created, right? I think it makes more sense to me now, what is happening is that offscreen textures are created without the correct MSAA samples. Can you check if, before initializing the Renderer, you are calling RenderDevice.SetOffscreenSampleCount() to the appropriate number of samples? Have you considered using PPAA only or do you need MSAA for anything else in your game? |
(0006654)
ai_enabled 2020-09-28 13:47 (Last edited: 2020-09-28 13:52) |
Hi Sergio, sorry for the late reply. We utilize MSAA for a few other features in the game. I always prefer MSAA for NoesisGUI as it doesn't have any side effects (thicker lines). PPAA is fine when MSAA is not available or too expensive to use. I got a chance to work on this. You're 100% right, the issue is with the OffscreenSampleCount. The big problem here is that the game allows the player to change MSAA setting on the fly (off/2x/4x/8x). Currently, the Noesis View must be recreated in order to initialize it with new RenderDeviceD3D11 (that has new OffscreenSampleCount). Simply changing OffscreenSampleCount for the existing RenderDeviceD3D11 instance is not enough and I can guess why. I wish we could change this on the fly as recreating a View object is a big no-no. It causes an issue with a multitude of other systems. E.g. allowing the call to view.Renderer.Init(renderDeviceD3D11) again after it was already initialized would solve this problem (as I can change device's OffscreenSampleCount and call view.Renderer.Init). Currently, it's not supported as further access to the renderer object results in a memory access violation. Regards! |
(0006710)
jsantos 2020-10-29 17:55 (Last edited: 2020-10-29 17:55) |
I am going to close this, as this is not related to DropShadowEffect. Let's move the discussion to 0001805 |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1824 | [NoesisGUI] C++ SDK | minor | always | 2020-10-29 11:48 | 2020-10-29 17:13 |
Reporter: | steveh | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.6 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.7 | ||
Target Version: | 3.0.7 | ||||
Platform: | Any | ||||
Summary: | Character spacing + viewbox does not calculate bounds correctly | ||||
Description: |
Hi guys, We're just testing out the character spacing which was added in 3.0.4. We have a fixed region that we're rendering to and we want to scale some text down so it never bleeds over the edge. We're doing this by adding a bit of negative character spacing and applying a downonly scale viewbox. This works in most cases but I can get the text to clip outside the viewbox region when we have negative character spacing: https://www.noesisengine.com/xamltoy/cb9227740574f593af4960effb62db1f I created an example on XAML toy. Set font size to max and character spacing to around -250.0, you'll see that the "e" in "Change Me" bleeds outisde the viewbox region. Cheers, -Steven |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0006709)
jsantos 2020-10-29 17:13 |
Fixed in r9707 Will be available in the imminent 3.0.7 |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1454 | [NoesisGUI] Unity3D | feature | always | 2019-04-24 05:44 | 2020-10-26 11:19 |
Reporter: | shawn | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 2.2.1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | custom TypeConverters are not supported in NoesisGUI C# API | ||||
Description: | https://www.noesisengine.com/forums/viewtopic.php?f=3&t=1658&p=9502#p9502 | ||||
Tags: | Unity | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1818 | [NoesisGUI] Unity3D | minor | always | 2020-10-25 17:33 | 2020-10-25 17:45 |
Reporter: | jsantos | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.6 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.7 | ||
Target Version: | 3.0.7 | ||||
Platform: | iOS | ||||
Summary: | Unity + iOS Build Errors when using only Metal in Graphics APIs | ||||
Description: | Unity is no longer linking against OpenGLES framework when using only Metal. Noesis library seems to require it. | ||||
Tags: | |||||
Steps To Reproduce: | https://www.noesisengine.com/forums/viewtopic.php?f=3&t=2120 | ||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1814 | [NoesisGUI] Unity3D | crash | always | 2020-10-19 13:32 | 2020-10-21 13:49 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.6 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.7 | ||
Target Version: | 3.0.7 | ||||
Platform: | Any | ||||
Summary: | Crash closing Unity after compiling scripts while playing | ||||
Description: |
When editing scripts Unity calls OnDisable, compiles the new assembly, and finally calls OnEnable again. Our NoesisView component register the Renderer (NoesisRenderer.RegisterView(_uiView, _commands)) during OnEnable, but unregisters it (NoesisRenderer.UnregisterView(_uiView, _commands)) during OnDestroy. So when scripts are compiled a new view+renderer are created and registered in the native library without unregistering the previous one. This can lead to crashes when closing Unity editor. |
||||
Tags: | |||||
Steps To Reproduce: |
- Open QuestLog sample and click Play - Edit any script (for example QuestLog's ViewModel.cs) and save it - Go back to Unity - Stop and close Unity |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1806 | [NoesisGUI] Unity3D | crash | sometimes | 2020-10-13 18:06 | 2020-10-19 17:11 |
Reporter: | asusralis | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.6 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.7 | ||
Target Version: | 3.0.7 | ||||
Platform: | Any | ||||
Summary: | Crashing when entering play or updating XAMLs | ||||
Description: |
Unity 2019.4.1 lts. It seems to happen randomly. I think they both are from the same issue, but I attached both one that happened from trying to enter play mode and another when updating an XAML. This was not happening on 3.0.4. |
||||
Tags: | |||||
Steps To Reproduce: | Enter play or update an xaml. | ||||
Additional Information: | |||||
Attached Files: |
Crash_2020-10-13_150928463.rar (342,201 bytes) 2020-10-13 18:06 https://www.noesisengine.com/bugs/file_download.php?file_id=1305&type=bug Crash_2020-10-13_160259425.rar (372,074 bytes) 2020-10-13 18:06 https://www.noesisengine.com/bugs/file_download.php?file_id=1306&type=bug Crash_2020-10-14_150306115.rar (307,978 bytes) 2020-10-14 17:05 https://www.noesisengine.com/bugs/file_download.php?file_id=1307&type=bug Crash_2020-10-14_150810669.rar (275,220 bytes) 2020-10-14 17:09 https://www.noesisengine.com/bugs/file_download.php?file_id=1308&type=bug Crash_2020-10-14_155531998.rar (314,451 bytes) 2020-10-14 17:56 https://www.noesisengine.com/bugs/file_download.php?file_id=1309&type=bug Crash_2020-10-14_180635802.rar (372,871 bytes) 2020-10-14 20:08 https://www.noesisengine.com/bugs/file_download.php?file_id=1310&type=bug Crash_2020-10-14_192103864.rar (385,178 bytes) 2020-10-14 21:23 https://www.noesisengine.com/bugs/file_download.php?file_id=1311&type=bug |
||||
Notes | |
(0006661)
sfernandez 2020-10-13 19:33 |
Yes, both crashes point to the same problem. I'll let you know if I need your help investigating this issue. |
(0006663)
asusralis 2020-10-13 22:35 |
This actually happens quite a bit now :( I'm not sure what exactly has changed. |
(0006664)
sfernandez 2020-10-14 11:36 |
I need more information to determine the cause of the crash so I generated a debug library with some extra logs: https://drive.google.com/file/d/10V7MnVrGsDufmS_i_SHVk6zS9osUCCAZ/view?usp=sharing Could you please try it and also set "Log Verbosity" to "Normal" in NoesisGUI Settings? Once it crashes please send the dump and logs as before. Thanks for your collaboration. |
(0006671)
asusralis 2020-10-14 17:09 |
I'm also now getting another crash just by clicking on any button, but it seems to have started once I put in what you sent me. This seems to be different. |
(0006672)
sfernandez 2020-10-14 17:41 |
Latest crash was from one of the asserts I added to check something, please try this new library: https://drive.google.com/file/d/1q6VMjOoQgV_aD8rUClK0Fxw07cv8gyvG/view?usp=sharing If it is possible to get a copy of your unity project it would be even better as I can debug it myself faster. |
(0006673)
sfernandez 2020-10-14 19:07 |
It seems you didn't enable the "Log Verbosity" = "Normal" in NoesisGUI Settings. Could you do that so I can see the logs I'm generating to help identify this crash? It will spam a lot of messages to Unity console but it is just for this tests. |
(0006674)
asusralis 2020-10-14 20:08 |
Does this work? |
(0006675)
sfernandez 2020-10-14 20:32 |
Sorry, my fault, the verbosity level should have been set to "Binding" :( Could you please send me the crash dump and logs again with that setting? |
(0006676)
asusralis 2020-10-14 21:23 |
This happened when code unrelated to Noesis was compiling. |
(0006677)
sfernandez 2020-10-15 00:33 |
One question, what is the type of Empis.Unity.ViewModels.LoginVM.Message property? That property returns an object that is stored in the LoginVM or it creates a new one? |
(0006678)
asusralis 2020-10-15 00:37 |
private NotifyMessage _message; public NotifyMessage Message { get => _message; set => Set(ref _message, value); } public class NotifyMessage { public string Body { get; } public bool IsError { get; } public NotifyMessage(string body, bool isError) { Body = body; IsError = isError; } } |
(0006679)
asusralis 2020-10-15 00:53 |
The NotifyMessage class is nested inside LoginVM. |
(0006680)
sfernandez 2020-10-15 12:15 |
Hi, could it be possible to get a copy of your Unity project so I can test it directly and make sure the bug is correclty fixed? You can create a private note to avoid sharing that publicly. |
(0006686)
sfernandez 2020-10-17 03:17 |
Hi, I generated a new library with a patch for the crash: https://drive.google.com/file/d/1QAOaZtCfOICjbzYwAQjx9opM-CYCIHCc/view?usp=sharing I've been playing with the game a bit and it seems stable. Please let me know if you find any other issues. |
(0006687)
asusralis 2020-10-17 03:23 |
My savior! Thanks, I'll try it out and report back if I find any problems. Sorry again for it being so involved. |
(0006688)
asusralis 2020-10-17 03:23 |
Did you still need access to the repo? |
(0006689)
asusralis 2020-10-17 03:25 |
Also, I was curious if you could summarize what the problem was? I found it interesting that Noesis was causing crashing in all those different places. |
(0006694)
sfernandez 2020-10-19 10:07 |
You're welcome. If eveything is working fine for you I think you can remove that repo. The problem was always the same, a binding that was trying to access some destroyed object because of a wrong data context change notification. |
(0006696)
sfernandez 2020-10-19 17:11 |
I'll mark this as solved, if you find any other issue you can create a new ticket. Thanks a lot for you help fixing this. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1809 | [NoesisGUI] C++ SDK | minor | always | 2020-10-14 21:54 | 2020-10-19 10:53 |
Reporter: | steveh | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.6 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.7 | ||
Target Version: | 3.0.7 | ||||
Platform: | Any | ||||
Summary: | Selector doesn't synchonise selected index correctly | ||||
Description: |
HI guys, I've recently updated to 3.0.6 from 3.0.0 and I'm experiencing a new issue. I have a listbox with ItemsSource bound to an ObservableCollection in code. The XAML binds the SelectedValue to an entry which is set up in the constructor of the data context. class MyLeafObject{} class MyStruct { public: ObservableCollection<MyLeafObject> LeafObjects; MyLeafObject SelectedLeaf; } class MyDataContext { MyDataContext() { Entries = MakePtr<ObservableCollection<MyStruct>>(); Entries->Add(MakePtr<MyStruct>()); // ... CurrentStruct = Entries->Get(0); // Set default selected value } private: ObservableCollection<MyStruct> Entries; MyStruct CurrentStruct; } <ListBox x:Name="MyParentLB" ItemsSource="{Binding Entries}" SelectedValue="{Binding Path=CurrentStruct, Mode=TwoWay}" /> <ListBox x:Name="MyLeafLB" ItemsSource="{Binding CurrentStruct.LeafObjects}" SelectedValue="{Binding Path=CurrentStruct.CurrentLeaf, Mode=TwoWay}" /> This all worked in 3.0.0. When the item container generator generated the listboxitems, it correctly applied the selected state to the entry we set in MyDataContext::MyDataContext. Since updating to 3.0.6, this no longer happens. From what I can see, the Selector::SelectedIndex / Selector::SelectedValue are correct, but the Selector::mSelectedIndices array never gets populated. I've trace it through the following callstack: > game.exe!Noesis::Selector::SynchronizeWithCurrent(int currentIndex) Line 774 C++ game.exe!Noesis::Selector::OnItemsSourceChanged(Noesis::BaseComponent * __formal, Noesis::BaseComponent * __formal) Line 153 C++ game.exe!Noesis::ItemsControl::OnPropertyChanged(const Noesis::DependencyPropertyChangedEventArgs & args) Line 700 C++ game.exe!Noesis::Selector::OnPropertyChanged(const Noesis::DependencyPropertyChangedEventArgs & args) Line 584 C++ if (!sync.HasValue()) { // Sync if ItemsSource is a CollectionView CollectionView* cv = DynamicCast<CollectionView*>(GetItemsSource()); if (cv != 0) { if (GetSelectedIndex() != currentIndex) { SetSelectedIndex(currentIndex); } else { GetItems()->MoveCurrentToPosition(currentIndex); } } } The ItemsSource is not a CollectionView object, so "if (cv != 0)" does not succeed. So the ItemsSource all looks good, the dependency property code is all bound / initialise correctly, but none of the properties syncrhonise the mSelectedIndices array. So when we finally get around to generating the containers: > game.exe!Noesis::Selector::OnContainersGenerated() Line 528 C++ [Inline Frame] game.exe!Noesis::Delegate<void __cdecl(Noesis::BaseComponent *,Noesis::EventArgs const &)>::operator()(Noesis::BaseComponent *) Line 172 C++ [Inline Frame] game.exe!Noesis::ItemContainerGenerator::SetStatus(Noesis::GeneratorStatus) Line 252 C++ game.exe!Noesis::ItemContainerGenerator::Stop() Line 616 C++ game.exe!Noesis::Panel::GenerateChildren() Line 544 C++ It bails out here: // Update container IsSelected as specified by selected items list int32_t itemIndex = generator->IndexFromContainer(container); bool isSelected = Finder::Find(mSelectedIndices, itemIndex); if (GetIsSelected(container) != isSelected) { SetIsSelected(container, isSelected); } The condition fails because isSelected returns false. itemIndex is correctly set to 0, the container is set to our correct ListBoxItem, and GetIsSelected(ListBoxItem) returns false. If mSelectedIndices contained my selected index at this point everything should work fine. Any idea how I can go about fixing this? I can manually call "->SetSelectedIndex(0)" when the containers are generated, but this just feels like a hack, the bindings should update the selected property ideally. Sorry for the wall of text, Cheers, -Steven |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0006683)
sfernandez 2020-10-16 11:45 |
Thanks a lot for the detailed report, I'm investigating this right now. |
(0006695)
sfernandez 2020-10-19 10:53 |
Solved in revision 9677. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1813 | [NoesisGUI] C++ SDK | crash | always | 2020-10-17 10:28 | 2020-10-17 13:41 |
Reporter: | Ext3h | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.6 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.7 | ||
Target Version: | 3.0.7 | ||||
Platform: | Any | ||||
Summary: | Use of deprecated texture2D() in OpenGL 3.1+ shaders | ||||
Description: |
In NoesisGUI 3.0.4 you still got this right, and used `texture()` rather than deprecated `texture2D()` in your GLSL #140 code. In 3.0.5 / 3.0.6, for an unknown reason, you started using `texture2D()` which is only available in explicit compatbility profiles, but not in standard, forward compatible profiles. |
||||
Tags: | OpenGL | ||||
Steps To Reproduce: |
Try to use your your 3.0.6 GLRenderDevice with an OpenGL 4.3 CORE context. Depending on the driver (known to be broken on Intels Windows drivers), shader compilation will now fail: [OpenGL] Error high : SHADER_ID_COMPILE error has been generated. GLSL compile failed for shader 24, "": ERROR: 2:442: 'function' : is removed in Forward Compatible context texture2D ERROR: 2:442: 'texture2D' : no matching overloaded function found (using implicit conversion) ERROR: 2:442: 'texture2D' : function is not known ERROR: 2:441: '=' : cannot convert from 'const highp float' to '4-component vector of highp float' 2020.10.15 17:03:41:785 [NOESIS] Shader compilation failed: ERROR: 2:442: 'function' : is removed in Forward Compatible context texture2D ERROR: 2:442: 'texture2D' : no matching overloaded function found (using implicit conversion) ERROR: 2:442: 'texture2D' : function is not known ERROR: 2:441: '=' : cannot convert from 'const highp float' to '4-component vector of highp float' |
||||
Additional Information: | |||||
Attached Files: |
Shader.140.frag.h (15,949 bytes) 2020-10-17 12:18 https://www.noesisengine.com/bugs/file_download.php?file_id=1313&type=bug |
||||
Notes | |
(0006690)
jsantos 2020-10-17 12:16 (Last edited: 2020-10-17 12:18) |
Thanks for reporting this, in 3.0.5 we moved away from glsl-optimizer to handcrafted shaders for each version and using glslangValidator for validating. This allow us to generate more efficient shaders, but it seems glslangValidator is not complaining about using texture2D in #version 140 (I even tried #version 150 core) and there is no way to force that warning, I probably should report this. |
(0006691)
jsantos 2020-10-17 12:18 |
Please, find attached the fix and let me know if everything is right. This will be available in the imminent 3.0.7. Thanks for taking care |
(0006692)
Ext3h 2020-10-17 13:27 |
Can't validate as I don't have access to an Intel iGPU system myself. Issue was reported by a consumer. I do expect the issue to be resolved though. |
(0006693)
jsantos 2020-10-17 13:41 |
Unfortunately, all the machines we have here (including Intel integrated GPU - UHD Graphics 620 - ) render correctly with texture2D. I am committing this change right now though. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1798 | [NoesisGUI] C++ SDK | major | always | 2020-09-24 08:17 | 2020-10-15 18:45 |
Reporter: | satorp | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.6 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.7 | ||
Target Version: | 3.0.7 | ||||
Platform: | Windows | ||||
Summary: | Memory leak when using ContextMenuService.PlacementTarget | ||||
Description: | Specifying context menu placement target to owner element seems to cause memory leak (reported by Noesis memory check and CRT memory leak report). Possibly caused by circular reference? | ||||
Tags: | |||||
Steps To Reproduce: |
Sample XAML (TextBlock is irrelevant, also reproducible on other elements): <TextBlock x:Name="MyText" ... ContextMenuService.Placement="Center" ContextMenuService.IsEnabled="True" ContextMenuService.PlacementTarget="{Binding ElementName=MyText}"> <TextBlock.ContextMenu>...</TextBlock.ContextMenu> </TextBlock> Display the context menu and close application. |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0006660)
satorp 2020-10-09 02:36 |
This issue seems not reproducible in previous versions. Is it specific to Noesis 3.0? |
(0006662)
sfernandez 2020-10-13 19:51 |
It seems this leak was introduced in 3.0.4 version, we'll fix it for next release. Anyway, in this case you don't need to set the PlacementTarget property, because by default a ContextMenu uses its owner as placement target. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1810 | [NoesisGUI] C++ SDK | minor | always | 2020-10-15 14:09 | 2020-10-15 14:15 |
Reporter: | LarianStudios | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.6 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.7 | ||
Target Version: | 3.0.7 | ||||
Platform: | Any | ||||
Summary: | BringIntoView ignores target rectangle | ||||
Description: |
When passing a target rectangle to BringIntoView function it is ignored and it is using always the element RenderSize. This makes impossible to scroll into specific coordinates of an element. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1807 | [NoesisGUI] C++ SDK | minor | always | 2020-10-14 17:50 | 2020-10-14 17:57 |
Reporter: | steveh | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.6 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.7 | ||
Target Version: | 3.0.7 | ||||
Platform: | PlayStation4 | ||||
Summary: | PS4 Compile error in 3.0.6 | ||||
Description: |
Hi guys, Just upgrading from 3.0.0 -> 3.0.6 and found a compile error with our PS4 build. It's a simple fix, it's just a missing forward declare. The error is in FormattedText.h: void SetOwner(TextBlock* owner); TextBlock is not forward declared. I simply added "class TextBlock" to the top of the file alongside all other forward declares and it fixed the error. Everything else compiled fine. Cheers, -Steven |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1801 | [NoesisGUI] C++ SDK | major | always | 2020-09-28 17:15 | 2020-10-14 14:55 |
Reporter: | Roest | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.6 | ||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.7 | ||
Target Version: | 3.0.7 | ||||
Platform: | Any | ||||
Summary: | GUI stretching/shrinking when mouse over certain gui elements after window resize | ||||
Description: |
After resizing the window the UI shows a weird resizing effect with some gui elements. |
||||
Tags: | C++ | ||||
Steps To Reproduce: |
Don't have a minimal example for that. The game is free on Steam so it's possible to see there. Steps are visible in this example video [url]https://gfycat.com/snivelingbelovedflea[/url] You can see for yourself on [url]https://store.steampowered.com/app/709240/Ingnomia/[/url] and the code would be on [url]https://github.com/rschurade/Ingnomia[/url] |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0006665)
sfernandez 2020-10-14 12:18 |
Looking at the video it seems related to the drawing of offscreen textures because during that phase we change the active render target and viewport. Do you restore main render target's Viewport after calling Noesis renderer->RenderOffscreen() and before calling renderer->Render()? |
(0006666)
Roest 2020-10-14 12:50 |
I'd say yes. The relevant code is here: https://github.com/rschurade/Ingnomia/blob/master/src/gui/mainwindow.cpp#L561 |
(0006667)
sfernandez 2020-10-14 13:34 |
Looking at the code, renderer->paintWorld() is not calling glViewport, and I don't see that QOpenGLWindow::makeCurrent calling it either: https://code.woboq.org/qt5/qtbase/src/gui/kernel/qopenglwindow.cpp.html#_ZN13QOpenGLWindow11makeCurrentEv Could you do a quick test and always call glViewport (with the appropriate sizes) before renderer->paintWorld()? |
(0006668)
Roest 2020-10-14 13:41 |
That seems to fix it. |
(0006669)
sfernandez 2020-10-14 13:49 (Last edited: 2020-10-14 13:50) |
Great, so that was the missing piece. It should be enough to call it after makeCurrent:if ( m_view->GetRenderer()->RenderOffscreen() ) { // Restore state managed by QOpenGLWindow makeCurrent(); glViewport(...); } Could you confirm it? |
(0006670)
Roest 2020-10-14 13:59 |
Well I have to call it at the beginning of paintWorld() but that basically the same location in execution order. So this could be closed. Thanks |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1648 | [NoesisGUI] Unity3D | major | always | 2020-04-06 15:27 | 2020-09-30 20:22 |
Reporter: | kokolihapihvi | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.6 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.7 | ||
Target Version: | 3.0.7 | ||||
Platform: | Windows | ||||
Summary: | Possible to delete items by right clicking while dragging in inventory example | ||||
Description: |
It seems that the effect of the drag and drop operation is always set to "MOVE" when you click any mouse button while dragging an item. Holding down any mouse button while starting a drag operation also permanently deletes the item. |
||||
Tags: | |||||
Steps To Reproduce: |
Open the inventory sample unity scene Start dragging an item Click any other mouse button Item will be permanently deleted |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1803 | [NoesisGUI] C++ SDK | feature | N/A | 2020-09-30 13:48 | 2020-09-30 13:50 |
Reporter: | jsantos | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.6 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.7 | ||
Target Version: | 3.0.7 | ||||
Platform: | Any | ||||
Summary: | Implement support for setting the global culture | ||||
Description: |
Right now, StringFormat is using a hardcoded NumerFormatInfo. Expose a function in IntegrationAPI to change the default culture. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1800 | [NoesisGUI] C# SDK | trivial | always | 2020-09-25 21:04 | 2020-09-28 14:18 |
Reporter: | ai_enabled | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.0.6 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | "Virtualization disabled" reporting is not helpful | ||||
Description: |
Hi guys, firs of all, good job on 3.0.6 patch! I've noticed that log callback in NoesisGUI sometimes brings redundant information and so makes the feature useless (I just getting the same spam again and again and eventually have to disable the feature). For example, I have a ListBox that doesn't have a ScrollViewer in its ListBox.Template. Still, I get this warning message: "Virtualization disabled: items control IsVirtualizing is False" I've tried to decorate that ListBox with ScrollViewer.VerticalScrollBarVisibility="Disabled" VirtualizingStackPanel.IsVirtualizing="False"but I still get the same warnings. Regards! |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0006653)
sfernandez 2020-09-28 10:29 |
Thanks! If the ListBox doesn't have a ScrollViewer why is it using a VirtualizingStackPanel? Shouldn't you change ItemsPanel to a simple StackPanel? Those messages are there to help identify the situations where VirtualizingStackPanel is not virtualizing anything, so using a StackPanel should fit better. Maybe we can detect that IsVirtualizing is explicitly set to "False", and don't show the warning in that case. |
(0006655)
ai_enabled 2020-09-28 14:18 |
Thanks! I was under impression that I'm not using VirtualizingStackPanel in the base class. Adding custom override for ItemsControl.ItemsPanel to use simple StackPanel for ListBox resolved the issue. > Maybe we can detect that IsVirtualizing is explicitly set to "False", and don't show the warning in that case. This idea is good but I can imagine it may be a problem to implement it this way. I think the suggestion to not use VirtualizingStackPanel is a proper approach in that case. Perhaps you can expand "Virtualization disabled: items control IsVirtualizing is False". I really cannot imagine the case when I need to disable virtualization for an ItemsControl with a VirtualizingStackPanel. I will simply override the Panel property to use regular StackPanel. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1683 | [NoesisGUI] C# SDK | crash | always | 2020-05-08 18:31 | 2020-09-25 17:46 |
Reporter: | stonstad | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.0 | ||
Target Version: | 3.0.0 | ||||
Platform: | Any | ||||
Summary: | SetManipulationContainerHelper Causes Fatal Crash | ||||
Description: |
0x00007FFE878EB82B (Noesis) ManipulationStartingEventArgs_SetManipulationContainerHelper 0x00007FFE878F2379 (Noesis) ManipulationStartingEventArgs_SetManipulationContainerHelper 0x00007FFE878EC6B4 (Noesis) ManipulationStartingEventArgs_SetManipulationContainerHelper 0x00007FFE878EAB44 (Noesis) ManipulationStartingEventArgs_SetManipulationContainerHelper 0x00007FFE87A16776 (Noesis) Noesis_RegisterLogCallback 0x00007FF60746892E (Unity) GfxDeviceWorker::RunCommand 0x00007FF60747073C (Unity) GfxDeviceWorker::RunExt 0x00007FF607470B28 (Unity) GfxDeviceWorker::RunGfxDeviceWorker 0x00007FF6083046D3 (Unity) Thread::RunThreadWrapper 0x00007FFF3C787BD4 (KERNEL32) BaseThreadInitThunk 0x00007FFF3E3ECE51 (ntdll) RtlUserThreadStart |
||||
Tags: | |||||
Steps To Reproduce: | It happens when a starship destroys a building in Stellar Conquest. This is likely some form of user error on my part -- but the game/editor should not crash. I'll provide more information once I learn more. | ||||
Additional Information: | |||||
Attached Files: |
Crash_2020-05-08_162809306.zip (565,993 bytes) 2020-05-08 18:31 https://www.noesisengine.com/bugs/file_download.php?file_id=1229&type=bug |
||||
Notes | |
(0006337)
sfernandez 2020-05-08 22:05 |
I generated a debug version of the library to see if hits an assert that could help me understand where the problem is coming from. https://drive.google.com/file/d/1ncuu7WxGHdKxV5M-esLo1s-pUIPNd8CS/view?usp=sharing Could you please try it and attach the crash dump? |
(0006473)
stonstad 2020-06-29 20:19 |
Hey Sergio -- I haven't seen this bug reoccur -- I think it is likely an issue that was resolved in the beta. I'm good with us closing/resolving this issue. Thank you for your assistance. |
(0006475)
sfernandez 2020-06-29 20:27 |
Ok, if you find this error again feel free to reopen it, thanks. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1142 | [NoesisGUI] C# SDK | minor | always | 2017-08-28 14:46 | 2020-09-25 10:52 |
Reporter: | ai_enabled | Platform: | PC | ||
Assigned To: | sfernandez | OS: | Windows | ||
Priority: | normal | OS Version: | 10 x64 | ||
Status: | assigned | Product Version: | 2.0.2f2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Can't disable tooltip animation | ||||
Description: |
To disable NoesisGUI ToolTip animations in VE, we used this XAML resources hack: <PopupAnimation x:Key="{x:Static SystemParameters.ToolTipPopupAnimationKey}">None</PopupAnimation> But in NoesisGUI 2.0.2f2 it throws exception: Enum node can't have attributes. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
System Description | |||||
Attached Files: | |||||
Notes | |
(0004796)
sfernandez 2017-08-30 12:24 |
I will check the parsing error. I guess that in Noesis 1.2 that x:Key was ignored or just showing a warning and now we are raising an error. In fact we never supported SystemParameters static class, and x:Static support is very limited too. Meanwhile you can just set it like: Popup.PopupAnimation="None" Or using a setter in a Style: <Setter Property="PopupAnimation" Value="None"/> Can't you use that? |
(0004798)
ai_enabled 2017-08-30 12:55 (Last edited: 2017-08-30 12:56) |
Unfortunately, it doesn't work, it's still animated. I've tried to define default styles like that:<Style TargetType="{x:Type Popup}"> <Setter Property="OverridesDefaultStyle" Value="True" /> <Setter Property="PopupAnimation" Value="None" /> </Style> <Style TargetType="{x:Type ToolTip}"> <Setter Property="OverridesDefaultStyle" Value="True" /> <Setter Property="Popup.PopupAnimation" Value="None" /> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type ToolTip}"> <Border Background="Yellow"> <ContentPresenter /> </Border> </ControlTemplate> </Setter.Value> </Setter> </Style> |
(0004799)
sfernandez 2017-08-30 18:27 |
Unfortunately Popup elements cannot have default styles defined in the Theme as they don't override DefaultStyleKey property. If you want something generic, you can define an implicit style for the Popup in the root of the UI tree. |
(0004800)
sfernandez 2017-08-30 18:38 |
Forget it... I just found out that our ToolTip code is setting the Popup animation to Fade always. So there is no way to change this behavior in the xaml right now. I will investigate how to support this correctly, sorry for the inconveniences. |
(0005136)
ai_enabled 2018-03-15 10:16 |
This issue is still not resolved. I can't find a way to disable the popup animation... |
(0006651)
asusralis 2020-09-24 20:30 |
Was this ever fixed? I'm not sure how to disable the fade animation for tooltips. |
(0006652)
sfernandez 2020-09-25 10:51 (Last edited: 2020-09-25 10:52) |
Since 3.0 version Popups tries to use the following animations in ApplicationResources if they exist: - Anim.Popup.Fade - Anim.Popup.Slide - Anim.Popup.Scroll Our NoesisTheme defines them like this: <Storyboard x:Key="Anim.Popup.Fade" Storyboard.TargetProperty="Opacity"> <DoubleAnimationUsingKeyFrames> <EasingDoubleKeyFrame KeyTime="0" Value="0"/> <EasingDoubleKeyFrame KeyTime="0:0:0.150" Value="1"/> </DoubleAnimationUsingKeyFrames> </Storyboard> <Storyboard x:Key="Anim.Popup.Slide" Storyboard.TargetProperty="Opacity"> <DoubleAnimationUsingKeyFrames> <EasingDoubleKeyFrame KeyTime="0" Value="0"/> <EasingDoubleKeyFrame KeyTime="0:0:0.150" Value="1"/> </DoubleAnimationUsingKeyFrames> </Storyboard> <Storyboard x:Key="Anim.Popup.Scroll" Storyboard.TargetProperty="Opacity"> <DoubleAnimationUsingKeyFrames> <EasingDoubleKeyFrame KeyTime="0" Value="0"/> <EasingDoubleKeyFrame KeyTime="0:0:0.150" Value="1"/> </DoubleAnimationUsingKeyFrames> </Storyboard> You can change that in your application as you want. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1707 | [NoesisGUI] C++ SDK | feature | N/A | 2020-05-28 11:37 | 2020-09-24 16:38 |
Reporter: | steveh | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.0 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.0 | ||||
Platform: | Any | ||||
Summary: | Feature request: Identify and notify the user about cyclic references | ||||
Description: |
Hi guys, I've recently been looking at cleaning up our shutdown code and I've fixed a few issues where a child holds a ref counted pointer to a parent object in the hierarchy. This ultimately creates a cyclic dependency between the two objects and prevents them from being cleaned up. I've attached 2 examples of code which might do this, the first is setting a DataContext to a parent object, and another is setting the TargetName on a GoToStateAction to a parent object. It would be extremely helpful to try and detect these cases. Perhaps in debug you could assert if the TargetName or DataContext are trying to be set to a parent object in the hierarchy when you set the pointer. Or perhaps a better way is to try and find these cyclic references in shutdown if we've detected that we've leaked memory. Essentially any further information to help track these issues down would be extremely beneficial! Cheers. |
||||
Tags: | |||||
Steps To Reproduce: |
1. Use the attached XAML files in the ApplicationLauncher Noesis sample. 2. Close the application launcher. 3. The application will leak and halt if attached in the debugger in Noesis::Shutdown if (GetAllocatedMemory() > 0) { NS_LOG_WARNING("Memory leaks detected: %d bytes", GetAllocatedMemory()); #if defined(NS_DEBUG) && defined(NS_PLATFORM_WINDOWS) if (IsDebuggerPresent()) { NS_DEBUG_BREAK; } #endif |
||||
Additional Information: | |||||
Attached Files: |
DataContext.xaml (571 bytes) 2020-05-28 11:37 https://www.noesisengine.com/bugs/file_download.php?file_id=1246&type=bug GoToStateAction.xaml (1,489 bytes) 2020-05-28 11:37 https://www.noesisengine.com/bugs/file_download.php?file_id=1247&type=bug |
||||
Notes | |
(0006428)
jsantos 2020-06-08 14:04 (Last edited: 2020-06-08 14:05) |
A high-level leak detector with extra information like class name is definitely a good idea. I will try this with your scenario (cyclic dependencies when setting DataContext) to see how useful it is. Thanks for the suggestion! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1796 | [NoesisGUI] C# SDK | minor | always | 2020-09-23 21:16 | 2020-09-24 16:36 |
Reporter: | ai_enabled | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.5 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.6 | ||
Target Version: | 3.0.6 | ||||
Platform: | Any | ||||
Summary: | Collection.Move doesn't keep the bound selected item | ||||
Description: |
Hi guys, As 0001550 is implemented now, I've tried Collection.Move with ListBox and ObservableCollection and noticed that it works now (no more "unsupported" message from NoesisGUI) but the bound selected item is getting changed. I have a feeling that the selected item is linked to the SelectedIndex property somehow even though I'm using SelectedItem binding only. E.g. I'm selecting an entry in position #3 in the ListBox. Then I'm moving some entries with Collection.Move and the selection index is still kept at #3 even though there is a different entry now. Regards! |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0006647)
ai_enabled 2020-09-23 21:18 |
Unfortunately, a workaround is a problem as the SelectedItem change happens during the next Noesis.Update so it's not immediate and I cannot simply save the selected item manually, invoke Collection.Move, and then restore the selected item. Probably I could do this with a "invoke this after 1 frame" but it's a very unreliable approach. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1799 | [NoesisGUI] C# SDK | major | always | 2020-09-24 12:43 | 2020-09-24 13:01 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.5 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.6 | ||
Target Version: | 3.0.6 | ||||
Platform: | Any | ||||
Summary: | KeyTrigger not working if ModifierKeys property not set | ||||
Description: | Interactivity KeyTrigger not working properly in C# or Unity unless both Key and ModifierKeys are set. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1797 | [NoesisGUI] C# SDK | major | always | 2020-09-24 01:28 | 2020-09-24 11:33 |
Reporter: | ai_enabled | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.5 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.6 | ||
Target Version: | 3.0.6 | ||||
Platform: | Any | ||||
Summary: | Brush foreground opacity animation no longer applies to the text | ||||
Description: |
Hi guys, after updating to 3.0.5 I've noticed an issue with the chat entries text not getting zero opacity in Hidden state as it should. The Storyboard applies (I can see that it adjusts Background.Opacity properly) but doesn't have any effect on Foreground.Opacity. I've tried using a constant color value for the Foreground property (in the example code below it's set to "Red") just to see whether the issue is binding related—no success, the foreground opacity animation still doesn't apply to the red color brush. |
||||
Tags: | |||||
Steps To Reproduce: |
Example code:<TextBlock x:Name="TextBlock" HorizontalAlignment="Stretch" VerticalAlignment="Top" Style="{StaticResource ChatLogTextBlockStyle}" Foreground="Red" Padding="2,2,7,2"> <VisualStateManager.VisualStateGroups> <VisualStateGroup x:Name="VisualStateGroup"> <VisualStateGroup.Transitions> <VisualTransition From="Default" GeneratedDuration="0:0:0.5" To="Hidden" /> </VisualStateGroup.Transitions> <VisualState x:Name="Default" /> <VisualState x:Name="Hidden"> <Storyboard> <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground.Opacity"> <EasingDoubleKeyFrame Value="0" KeyTime="0" /> </DoubleAnimationUsingKeyFrames> <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="Background.Opacity"> <EasingDoubleKeyFrame Value="0" KeyTime="0" /> </DoubleAnimationUsingKeyFrames> </Storyboard> </VisualState> </VisualStateGroup> </VisualStateManager.VisualStateGroups> </TextBlock> |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0006648)
sfernandez 2020-09-24 10:27 |
I think it is related to a problem we introduced in the last version that we already notice and fix. I'll take a look to verify. |
(0006649)
sfernandez 2020-09-24 11:33 |
I verified it is related to the bug fixed for issue #1794, it will be solved for next release. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1791 | [NoesisGUI] C++ SDK | minor | always | 2020-09-16 16:34 | 2020-09-24 10:47 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.4 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.6 | ||
Target Version: | 3.0.6 | ||||
Platform: | Any | ||||
Summary: | TextBox Foreground is sometimes ignored | ||||
Description: |
Using the following TextBox template in Noesis:<ControlTemplate x:Key="txt" TargetType="TextBox"> <ScrollViewer x:Name="PART_ContentHost"/> </ControlTemplate> Then TextBox.Foreground property is ignored because the inner TextBoxView is inheriting the value from ScrollViewer control. In WPF the Foreground property of the ScrollViewer inside TextBox template is not used by TextBoxView, and it always renders using TextBox.Foreground as expected. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1795 | [NoesisGUI] C++ SDK | minor | always | 2020-09-23 12:16 | 2020-09-23 21:35 |
Reporter: | tension_andreas | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.4 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.6 | ||
Target Version: | 3.0.6 | ||||
Platform: | Any | ||||
Summary: | When calling focus on a textbox the caret isn't showing and you can't write to the textbox | ||||
Description: |
So I have a toggle button that toggles visibility of a TextBox between Visible and Collapsed At the same time that i set the textbox to visible I also call Focus on it so you can immediately write in it on windows and on Android/iOS the keyboard should pop up. This worked in 2.2.4 but since upgrading to noesis 3.0.4 this stopped working. In 3.0.4 The textbox appears but it doesn't seem to be focused and the Caret i missing, On Android/iOS the keyboard isn't showing. It only happens during the first toggle, the second time i shows the textbox with the caret as intended. Has been happening on Windows, Android and iOS |
||||
Tags: | Caret, Focus, TextBox | ||||
Steps To Reproduce: |
Have a togglebutton toggle a textbox like this toggle->Click() += [this, toggle](BaseComponent*, const RoutedEventArgs&) { TextBox* searchBar = FindName<TextBox>("searchBar"); if (toggle->GetIsChecked().GetValueOrDefault()) { searchBar->SetVisibility(Visibility_Visible); searchBar->Focus(); } else { searchBar->SetVisibility(Visibility_Collapsed); } }; A easy workaround for now is to call "UpdateLayout()" on the textbox before calling "Focus()" |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1792 | [NoesisGUI] C++ SDK | major | always | 2020-09-18 08:31 | 2020-09-23 16:33 |
Reporter: | nikobarli | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.6 | ||
Product Build: | Resolution: | reopened | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.6 | ||
Target Version: | 3.0.6 | ||||
Platform: | Any | ||||
Summary: | Context Menu ignores keyboard keys (arrow keys) | ||||
Description: |
Context menu seems to ignore keyboard keys (arrow keys). This behavior is not compatible with WPF. I attached a patch to your sample code to demonstrate the issue (just a simple patch to create a context menu). |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
HelloWorld_MainWindow.xaml.patch (1,223 bytes) 2020-09-18 08:31 https://www.noesisengine.com/bugs/file_download.php?file_id=1302&type=bug Noesis3.0_ContextMenu_Bug.png (6,901 bytes) 2020-09-23 12:45 https://www.noesisengine.com/bugs/file_download.php?file_id=1303&type=bug |
||||
Notes | |
(0006644)
nikobarli 2020-09-23 12:45 |
Hi Sergio, It seems that the fix is not complete. When opening a submenu, pressing up-down keys can move beyond the submenu (i.e. the selection move to the parent items). Then we can open another submenu while the first submenu is still open. |
(0006645)
nikobarli 2020-09-23 12:45 |
I attached the screen shot here: |
(0006646)
sfernandez 2020-09-23 13:48 |
Ok, I was able to reproduce it. Thanks for the feedback. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1595 | [NoesisGUI] Unity3D | crash | random | 2019-12-05 20:02 | 2020-09-22 19:56 |
Reporter: | stonstad | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.5 | ||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.6 | ||
Target Version: | 3.0.6 | ||||
Platform: | Any | ||||
Summary: | DispatcherObject_GetStaticType Access Violation | ||||
Description: |
Read from location 0000000000000010 caused an access violation. Stack Trace of Crashed Thread 9840: 0x00007FFCF2217EB6 (Noesis) DispatcherObject_GetStaticType 0x00007FFCF22159BD (Noesis) DependencyObject_GetStaticType 0x00007FFCF224BA12 (Noesis) DataObjectPastingEventArgs_GetDataObjectHelper 0x00007FFCF24035A8 (Noesis) ContentControl_ToStringHelper 0x000002A09760910C (Assembly-CSharp) Noesis.NoesisGUI_PINVOKE.ContentControl_ToStringHelper() 0x000002A097608EF3 (Assembly-CSharp) Noesis.ContentControl.ToStringHelper() 0x000002A097608DAB (Assembly-CSharp) Noesis.ContentControl.ToString() I believe Visual Studio's debugger called ToString() on a content control, which resulted in this crash. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
Crash_2019-12-05_185745060.zip (1,361,624 bytes) 2019-12-05 20:02 https://www.noesisengine.com/bugs/file_download.php?file_id=1131&type=bug |
||||
Notes | |
(0006041)
sfernandez 2019-12-18 14:49 |
Could you please provide a bit of scope to understand what could be happening? I see the crash originates from [SkillsScreen.cs:249] StellarConquest.Presentation.Unity.UI.SkillsScreen:Build(). What Noesis code is being called there? because the crash dump says a ContentControl instance representing a null object is being used, and that makes no sense to me. |
(0006042)
stonstad 2019-12-18 15:52 (Last edited: 2019-12-18 15:52) |
This crash happened while execution was paused. I had breakpoints set and I was reviewing code in Visual Studio. I was in this code block: public override void OnUpdate() { _SkillPointsTextBlock.Text = SessionState.Instance.Player.AvailableSkillPoints + " Points"; _WrapPanel.Children.Clear(); List<BaseSkill> skills = Starpedia.Skills.OrderBy(a => a.TypeName).ToList(); for (int i = 0; i < skills.Count; i++) { BaseSkill skill = skills[i]; bool isSkillLearned = false; if (SessionState.Instance.Player.Skills.TryGetValue(skill.TypeId, out BaseSkill playerSkill)) { isSkillLearned = true; skill = playerSkill; } Grid rootGrid = new Grid(); rootGrid.ColumnDefinitions.Add(new ColumnDefinition() { Width = new GridLength(1, GridUnitType.Auto) }); rootGrid.ColumnDefinitions.Add(new ColumnDefinition() { Width = new GridLength(1, GridUnitType.Star) }); rootGrid.Margin = new Thickness(5, 5, 5, 5); rootGrid.Width = 400; Image containerImage = new Image() { Width = 96, Height = 96 }; containerImage.Margin = new Thickness(10, 0, 20, 0); containerImage.VerticalAlignment = VerticalAlignment.Top; containerImage.Source = UIUtility.GetImageSource(_Root, "skill_image_container"); rootGrid.Children.Add(containerImage); Grid.SetColumn(containerImage, 0); if (isSkillLearned) { Image trainedImage = new Image() { Width = 96, Height = 96 }; trainedImage.Margin = new Thickness(10, 0, 20, 0); trainedImage.VerticalAlignment = VerticalAlignment.Top; trainedImage.Source = UIUtility.GetImageSource(_Root, "skill_image_trained"); rootGrid.Children.Add(trainedImage); Grid.SetColumn(trainedImage, 0); } Image bwImage = new Image() { Width = 96, Height = 96 }; bwImage.Margin = new Thickness(10, 0, 20, 0); bwImage.VerticalAlignment = VerticalAlignment.Top; bwImage.Source = UIUtility.GetImageSource(_Root, skill.ThumbImageUrl + "_bw"); rootGrid.Children.Add(bwImage); Grid.SetColumn(bwImage, 0); if (isSkillLearned) bwImage.Visibility = Visibility.Collapsed; Image colorImage = new Image() { Width = 96, Height = 96 }; colorImage.Margin = new Thickness(10, 0, 20, 0); colorImage.VerticalAlignment = VerticalAlignment.Top; colorImage.Source = UIUtility.GetImageSource(_Root, skill.ThumbImageUrl); rootGrid.Children.Add(colorImage); Grid.SetColumn(colorImage, 0); if (!isSkillLearned) colorImage.Visibility = Visibility.Collapsed; Grid rightColumnGrid = new Grid(); rightColumnGrid.Margin = new Thickness(0, 0, 0, 10); rightColumnGrid.HorizontalAlignment = HorizontalAlignment.Stretch; rightColumnGrid.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) }); rightColumnGrid.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(1, GridUnitType.Auto) }); rightColumnGrid.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) }); // title rightColumnGrid.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) }); // description rightColumnGrid.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) }); // modifier rootGrid.Children.Add(rightColumnGrid); Grid.SetColumn(rightColumnGrid, 1); TextBlock title = new TextBlock(); title.Margin = new Thickness(0, 5, 0, 0); title.Style = (Style)_Root.FindResource("Heading5Primary"); title.Text = skill.TypeName; rightColumnGrid.Children.Add(title); Grid.SetRow(title, 0); Grid.SetColumn(title, 0); if (isSkillLearned && skill.Levels > 0) { StackPanel skillLevelStackPanel = new StackPanel(); skillLevelStackPanel.VerticalAlignment = VerticalAlignment.Top; skillLevelStackPanel.LayoutTransform = new ScaleTransform(0.5f, 0.5f); skillLevelStackPanel.Margin = new Thickness(0, 0, 9, -8); skillLevelStackPanel.Orientation = Orientation.Horizontal; rightColumnGrid.Children.Add(skillLevelStackPanel); Grid.SetRow(skillLevelStackPanel, 0); Grid.SetColumn(skillLevelStackPanel, 1); for (int j = 1; j <= skill.Levels; j++) { Image image = new Image(); image.ToolTip = "Level [" + skill.Level.ToString() + " / " + skill.Levels.ToString() + "]"; if (skill.Level >= j) { image.Source = UIUtility.GetImageSource(_Root, "skill_level_on"); image.Width = 22; image.Height = 47; } else { image.Source = UIUtility.GetImageSource(_Root, "skill_level_off"); image.Margin = new Thickness(4, 4, 4, 4); image.Width = 14; image.Height = 39; } skillLevelStackPanel.Children.Add(image); } } TextBlock description = new TextBlock(); description.VerticalAlignment = VerticalAlignment.Top; description.Margin = new Thickness(0, 5, 0, 0); description.Style = (Style)_Root.FindResource("Heading5Secondary"); if (!string.IsNullOrEmpty(skill.TypeDescription)) description.Text = skill.TypeDescription; description.TextWrapping = TextWrapping.Wrap; rightColumnGrid.Children.Add(description); Grid.SetRow(description, 1); Grid.SetColumnSpan(description, 2); if (isSkillLearned && !string.IsNullOrEmpty(skill.ModifierDescription)) { TextBlock modifier = new TextBlock(); modifier.VerticalAlignment = VerticalAlignment.Top; modifier.Margin = new Thickness(0, 5, 0, 0); modifier.Style = (Style)_Root.FindResource("Heading5Secondary"); modifier.Text = skill.ModifierDescription + " " + skill.ModifierValueString; modifier.TextWrapping = TextWrapping.Wrap; rightColumnGrid.Children.Add(modifier); Grid.SetRow(modifier, 2); Grid.SetColumnSpan(modifier, 2); } rootGrid.Margin = new Thickness(0, 8, 0, 8); ItemControl button = new ItemControl(); button.Tag = skill.Category; button.Name = skill.TypeName; button.Add(rootGrid); button.Button.Click += (sender, e) => { IActionProvider actionProvider = skill as IActionProvider; UIUtility.ShowActions(_Root, actionProvider); }; _WrapPanel.Children.Add(button); } ApplyFilter(); } Not 100% certain, but I believe I was inspecting the children property of WrapPanel. I see that this code was executed -- Noesis.ContentControl.ToString(). |
(0006643)
stonstad 2020-09-22 19:40 |
Sergio -- I am not seeing this error. Granted, I don't open the VS inspector on Noesis object hierarchies very often. Please feel free to close on account of it no longer happening. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1744 | [NoesisGUI] Unity3D | crash | random | 2020-07-01 23:02 | 2020-09-22 19:46 |
Reporter: | stonstad | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.1 | ||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.6 | ||
Target Version: | 3.0.6 | ||||
Platform: | Any | ||||
Summary: | MouseEventArgs_MiddleButton_get(), Noesis.dll Access Violation | ||||
Description: |
Noesis 3.0.1. Noesis.dll caused an Access Violation (0xc0000005) in module Noesis.dll at 0033:064dc178. Error occurred at 2020-07-01_155616. C:\Users\stons\Source\StellarConquest\StellarConquest.Builds\StellarConquest.PC\Stellar Conquest.exe, run by stons. 67% physical memory in use. 32481 MB physical memory [10457 MB free]. 8712 MB process peak paging file [8464 MB used]. 4206 MB process peak working set [4094 MB used]. System Commit Total/Limit/Peak: 35452MB/39683MB/35638MB System Physical Total/Available: 32481MB/10457MB System Process Count: 296 System Thread Count: 4011 System Handle Count: 140254 Disk space data for 'C:\Users\stons\AppData\Local\Temp\Stellar Conquest\Stellar Conquest\Crashes\Crash_2020-07-01_205614424\': 160426635264 bytes free of 493602467840 total. Read from location FFFFFFFF00000018 caused an access violation. Context: RDI: 0x00000000295d2827 RSI: 0x0000024c6f9bf658 RAX: 0xffffffff00000000 RBX: 0x00000057a42fa630 RCX: 0x0000024c6f9bf658 RDX: 0x00000057a42fa5b8 RIP: 0x00007ff8064dc178 RBP: 0x0000000000000200 SegCs: 0x0000005700000033 EFlags: 0x0000000000010202 RSP: 0x00000057a42fa510 SegSs: 0x000000570000002b R8: 0x0000000000000200 R9: 0x0000000000000200 R10: 0x00000000000007ff R11: 0x8080808080808080 R12: 0x00000057a42fad08 R13: 0x0000024be21ec1e0 R14: 0x0000000000000200 R15: 0x00000057a42fad20 Bytes at CS:EIP: ff 50 18 48 8b 06 48 8d 54 24 50 48 8b ce ff 50 No mono DLL path set. This app is either running IL2CPP, or the crash occurred before mono was initialized. Stack Trace of Crashed Thread 10780: 0x00007FF8064DC178 (Noesis) MouseEventArgs_MiddleButton_get 0x00007FF8064DC3EF (Noesis) MouseEventArgs_MiddleButton_get 0x00007FF8067188B3 (Noesis) UnityPluginUnload 0x00007FF806717E03 (Noesis) Noesis_RegisterLogCallback 0x00007FF80658ECB3 (Noesis) QueryContinueDragEventArgs_GetKeyStatesHelper 0x00007FF806775CD0 (Noesis) FreeString 0x00007FF80650492B (Noesis) BindingExpression_UpdateSource 0x00007FF8065885A6 (Noesis) ViewBase_PrepareItem 0x00007FF8065875CA (Noesis) Noesis_GetPlatformID 0x00007FF8065EFF61 (Noesis) ManipulationStartingEventArgs_Mode_get 0x00007FF8065EFBDA (Noesis) ManipulationStartingEventArgs_Mode_get 0x00007FF8065EE7C2 (Noesis) ManipulationStartingEventArgs_Mode_get 0x00007FF8065EC272 (Noesis) ManipulationStartingEventArgs_Mode_get 0x00007FF8065E9800 (Noesis) ManipulationStartingEventArgs_Mode_get 0x00007FF8065E9A6B (Noesis) ManipulationStartingEventArgs_Mode_get 0x00007FF806717271 (Noesis) Noesis_RegisterLogCallback ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FFFFEB61144) 0x00007FFFFEB61144 (UnityPlayer) (function-name not available) ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FFFFEB6701D) 0x00007FFFFEB6701D (UnityPlayer) (function-name not available) ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FFFFEB670F8) 0x00007FFFFEB670F8 (UnityPlayer) (function-name not available) 0x00007FFFFEE88B78 (UnityPlayer) UnityMain 0x00007FF88E287BD4 (KERNEL32) BaseThreadInitThunk 0x00007FF88F9ECE51 (ntdll) RtlUserThreadStart |
||||
Tags: | |||||
Steps To Reproduce: | Fast switching between XAML/Noesis UI screens in Stellar Conquest. Encl. Crash dump. | ||||
Additional Information: | |||||
Attached Files: |
Crash_2020-07-01_205614424.zip (52,755 bytes) 2020-07-01 23:02 https://www.noesisengine.com/bugs/file_download.php?file_id=1271&type=bug Crash_2020-07-01_210633473.zip (52,192 bytes) 2020-07-01 23:10 https://www.noesisengine.com/bugs/file_download.php?file_id=1272&type=bug |
||||
Notes | |
(0006487)
stonstad 2020-07-01 23:05 (Last edited: 2020-07-01 23:06) |
Reproducibility is random when ANY screen is shown. Within Unity no errors are shown. Only happens with compiled/built binary of game. |
(0006488)
stonstad 2020-07-01 23:07 |
The stack trace above (MouseEventArgs_MiddleButton_get) is very suspect. At no point am I pressing the middle button. From experience, the IL2CPP compiled build stack traces are garbage stack traces. |
(0006489)
stonstad 2020-07-01 23:10 |
This log and dump is more brief. The crash happens in first 30 seconds of gameplay which yields a shorter log. |
(0006490)
stonstad 2020-07-01 23:15 (Last edited: 2020-07-01 23:17) |
I checked the Stellar Conquest code base and the only code which calls NoesisGUI_PINVOKE.MouseEventArgs_MiddleButton_get is Noesis class MouseEventArgs in get accessor MouseEventArgs.MiddleButton. However, this C# property has 0 references in our code. I don't know why the stack trace references this property prior to the crash/access violation in Noesis! |
(0006500)
sfernandez 2020-07-06 10:47 |
Without symbols the names of the functions don't usually correspond to the real callstack. In this case the crash is not related to MouseEventArgs at all, it happens when trying to load a Unity texture, its native pointer seems to be invalid. I will prepare a library with some extra logs to try get more information. I also noticed that In both dumps the logs contains this just before crashing: WARNING: Shader Unsupported: 'Hidden/Nature/Terrain/Utilities' - All passes removed WARNING: Shader Did you use #pragma only_renderers and omit this platform? ERROR: Shader Hidden/Nature/Terrain/Utilities shader is not supported on this GPU (none of subshaders/fallbacks are suitable) Shader 'Nature/Terrain/Diffuse': dependency 'Details2' shader 'Hidden/TerrainEngine/Details/BillboardWavingDoublePass' not found |
(0006501)
sfernandez 2020-07-06 14:00 |
Please try this library with "Log Verbosity" set to "Normal" in Noesis Settings: https://drive.google.com/file/d/1r0fGHOEtkmvcQTaYI04dKS9hx_xE2aEd Attach the dump and logs when it crashes again. Thanks for your collaboration. |
(0006584)
stonstad 2020-08-17 22:10 |
Thank you for the response. I haven't been able to test Stellar Conquest but hope to return to it soon. |
(0006642)
stonstad 2020-09-22 19:39 |
Sergio, I haven't seen this error in over a month of active development. I think it is resolved by a subsequent release, and I'm good with us closing. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1793 | [NoesisGUI] C++ SDK | block | always | 2020-09-21 15:31 | 2020-09-22 11:53 |
Reporter: | Joren | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.5 | ||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Compile Warning in Noesis 3.0.5, C4263 | ||||
Description: |
NoesisGUI\NsGui\FrameworkElement.h(825,17): error C4263: 'void Noesis::FrameworkElement::OnQueryCursor(Noesis::BaseComponent *,const Noesis::EventArgs &)': member function does not override any base class virtual member function https://docs.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-4-c4263?view=vs-2019 OnQueryCursor seems to be defined with different parameters in UIElement. We specifically have this warning treated as an error, blocking me from updating to 3.0.5. Either way I think this was just an oversight. |
||||
Tags: | C++ | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0006633)
sfernandez 2020-09-21 16:10 |
Hi Joren, The changeset 9596 removed lots of static functions in the public headers, including that OnQueryCursor. Version 3.0.5 corresponds to changeset 9610, so you shouldn't have that function as part of FrameworkElement. Could you please verify you are using the correct revision number? |
(0006634)
Joren 2020-09-21 16:20 |
Hi, I'm on 9579. Which is the latest I can see in my checkout. My checkout is pointed at Noesis/NoesisSDK/trunk/Native. I see Noesis/NoesisSDK/tags/3.0.5 exists, so I will try this one. |
(0006635)
jsantos 2020-09-21 16:36 |
Yes, please, make sure you are using svn://svn.noesisengine.com/Noesis/NoesisSDK/tags/3.0.5 trunk is right now a preview of 3.1 |
(0006636)
Joren 2020-09-22 11:51 |
Yea, this works. Thanks. It seems a new crash got introduced, I opened a separate ticket for that (0001794) Feel free to close this one. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
925 | [NoesisGUI] Unity3D | major | always | 2016-06-29 08:29 | 2020-09-21 11:32 |
Reporter: | ivan_b | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | urgent | OS Version: | |||
Status: | resolved | Product Version: | 1.2.6f4 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | UI rendering problem on iPad | ||||
Description: | The user interface on the iPad at some point gets streched like in the uploaded picture. The entire user inteface is on the left of the screen. The model is an iPad 4. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
IMG-20160628-WA0000.jpg (130,080 bytes) 2016-06-29 08:29 https://www.noesisengine.com/bugs/file_download.php?file_id=688&type=bug |
||||
Notes | |
(0004050)
jsantos 2016-06-30 17:00 |
Are you able to reproduce the issue someway? |
(0004051)
ivan_b 2016-06-30 17:09 |
On the two iPads that I tested I could not reproduce this problem. I can ask our user to reproduce it and then get the logs from the application if that helps? |
(0004053)
jsantos 2016-06-30 17:16 |
Yes, please! |
(0004055)
ivan_b 2016-06-30 18:14 (Last edited: 2016-06-30 18:14) |
Can I get the instrumented version of Noesis for the iPad because with the current version in the logs I don't see anything? |
(0004059)
jsantos 2016-07-04 23:38 |
Sorry for the delay about this, tomorrow I will prepare you the instrumented version. |
(0004063)
jsantos 2016-07-05 20:43 |
Instrumented library: https://drive.google.com/file/d/0Bwxw0RW0LwyIbEpLeTE3TkktRFE/view?usp=sharing This version generates a noesis.log file that I would like to inspect. I will also need the log generated by Unity (I think you need to generate a Developer version for this). |
(0004066)
ivan_b 2016-07-07 08:54 |
Here is the link for the logs https://www.dropbox.com/s/f1bgt66i4kv2m3y/appocation_logs.log?dl=0 Both unity logs and noesis logs are in the same file. |
(0004067)
jsantos 2016-07-07 09:18 |
1. Why in the same file? How can I split them? 2. I am missing the Unity log there. I see a few messages at the beginning that are not from our logs but they are not definitely the Unity log. Was this a development build? 3. Could you also paste an image with the UI in normal state? 4. Is the problem being reproduced doing always the same thing? If affirmative, could you describe the steps? Thanks a lot! |
(0004068)
ivan_b 2016-07-07 09:38 (Last edited: 2016-07-07 09:39) |
1.The first part is our log and the second is from noesis. I have removed our logs from the file. You can redownload the file only with the noesis logs 2.This is a development build. This is the only log form Unity that I can get. I am attaching an even handler to the log messages and then upload the messages to our server because we don't have access to this iPad. 3. https://www.dropbox.com/s/wdf63piy4ancu94/Screenshot_2.png?dl=0 4.The problem always appears and can be reproduced in two ways. First, at the beginning we have a listbox and after you select an item there are some animation that shrinks the listbox and movea the entire listbox to the left and after that the problem happens. And for the second I don't kow but I can ask. If it would help I could send you the links to the application and create you an account. |
(0004069)
jsantos 2016-07-07 13:17 |
I have an account in TestFlight: jesus.de.santos@gmail.com Is that what you need? |
(0004071)
ivan_b 2016-07-07 13:41 (Last edited: 2016-07-07 13:50) |
We have a subsciption based modes so I have created you an account. You can login with the email "jesus.de.santos@gmail.com" and the password is "test". Here is the link to the download page http://www.hockeycoachvision.com/hcvweb/download/coach/? If it helps the problem occours on the iPad 4. I have investigated further and found out that some people had some rendering problem with the 5.3 version of unity on iOs, this is the link to the topic https://community.unity.com/t5/Platforms/3D-Rendering-issues-on-iOS-with-Unity-5-3-1/td-p/2526665 Is it possible that some settings on the camera triggers that problem? Could it be a problem with the viewport rectangle of the camera? |
(0004075)
jsantos 2016-07-08 12:21 |
"First, at the beginning we have a listbox and after you select an item there are some animation that shrinks the listbox" You mean for example clicking on "ANIMATIONS" right? When I do that the panel moves to the left with an animation. I have been testing your application in iPad mini and it works great (iOS 9.3.2). By the way, the application is amazing! Although I see several improvements to the GUI (mainly, adding more animations) it is a really great work. If you want, you can publicize the application in the ShowCase section (http://www.noesisengine.com/forums/viewforum.php?f=12). Also if you want we can retweet you from our Twitter account. Yes, the problem is related to the viewport of the camera. I added several logs in the instrumented version but what I see seems to be right. Really suspicious that it works fine in an iOS device and fails in another one, our code is exactly the same... |
(0004076)
ivan_b 2016-07-08 15:46 |
You have to click on the animation an then the listbox shows (if you want some content there is a large button at the bottom of the application, after you click on it tehre is a "Purchuased" package, click on that package and then you can download some content). After that you click on an item and then the details of the item gets displayed, and this is the place where the problem occours. Thanks. I would be glad to hear any suggestion for the improvement of the GUI. I will add it to the Showcase section as soon as I find time ( probably in a few days ). No problem, you can retweet about our application. I have sent to our user a version that logs the viewport rectangle of the camera. If the viewport has been changed I will send a bug report to unity. |
(0004077)
jsantos 2016-07-08 20:22 |
One fast question, when you open an animation and play it showing the movement of the players? That part is not Noesis, is it? (I mean the Tactic perspective, no the 1st person one that is Unity for sure) |
(0004078)
ivan_b 2016-07-08 20:36 |
It is not, i think this is implemented only with unity. |
(0006626)
jsantos 2020-09-14 01:46 |
Is this still an issue? |
(0006631)
ivan_b 2020-09-19 18:51 |
No, it is not an issue any more. |
(0006632)
jsantos 2020-09-21 11:32 |
Thanks! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
962 | [NoesisGUI] C++ SDK | feature | N/A | 2016-10-17 07:44 | 2020-09-18 01:29 |
Reporter: | theinapurola | Platform: | All | ||
Assigned To: | jsantos | OS: | All | ||
Priority: | normal | OS Version: | All | ||
Status: | resolved | Product Version: | 1.3.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.5 | ||
Target Version: | 3.0.5 | ||||
Platform: | Any | ||||
Summary: | WPF style TouchPoint class | ||||
Description: |
It would be really useful if you could implement the TouchEventArgs.GetTouchPoint function along with the TouchPoint class. We are mostly interested in knowing the action that was actually performed on the touch event. Ref: https://msdn.microsoft.com/en-us/library/system.windows.input.toucheventargs.gettouchpoint(v=vs.110).aspx |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1760 | [NoesisGUI] C++ SDK | block | always | 2020-07-27 03:53 | 2020-09-17 11:08 |
Reporter: | nikobarli | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.6 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.5 | ||
Target Version: | 3.0.5 | ||||
Platform: | Any | ||||
Summary: | [TSF] When used in tablet, tapping any part of the window makes keyboard appear | ||||
Description: |
When used in tablet, tapping any part of the window (not only text boxes and password boxes) makes touch keyboard appears. |
||||
Tags: | |||||
Steps To Reproduce: |
Create any XAML (<grid background="white"></grid> is sufficient). Tap on any part of it -> touch keyboard appears It seems that TSF still considered it is focusing on a document even after gThreadMgr->SetFocus(gDisabledDocumentMgr) is called. gDisabledDocumentMgr seems not considered disabled. |
||||
Additional Information: | |||||
Attached Files: |
TSF.cpp (41,944 bytes) 2020-09-14 14:09 https://www.noesisengine.com/bugs/file_download.php?file_id=1301&type=bug |
||||
Notes | |
(0006591)
sfernandez 2020-08-25 10:25 |
I wanted to take a look on this and want to make sure I have all the information. Is this happening when using a windows device with our TSF implementation, right? What kind of device are you using? I don't have now a touch enabled device with windows around and might need to buy one. Or is this possible to reproduce by manually injecting touch events to the view? |
(0006592)
nikobarli 2020-08-27 08:43 |
Hi Sergio, Yes, it is happening when using a windows device with the TSF implementation. You can use a touch screen to reproduce it. Just attach a touch screen monitor to your windows PC, and touch on any Noesis application window with TSF enabled. |
(0006593)
nikobarli 2020-08-27 08:54 |
Another way to reproduce the problem is using your iPad or Android tablets, and use Microsoft RDP client to RDP to your windows PC. Then run Noesis application on your windows PC and operate from the iOS/Android tablet. |
(0006594)
sfernandez 2020-08-27 12:23 |
Thanks for the tip, unfortunately I installed Microsoft RDP on my Android phone and I'm not able to reproduce the problem. Could you please enable trace logging in TSF.ccp (uncomment first two define lines) and attach here the logs generated until touch keyboard appears, I want to follow which events are happening in that case. Thanks for your help. |
(0006596)
nikobarli 2020-08-27 14:24 |
Hi, here is the logs: [NOESIS][] MoveWindow(hWnd=0000000000A51F4A) (G:\Athene_Noesis3.0\libz\Noesis\Native\Src\Packages\App\Win32Display\Src\TSF.cpp:1551) NoesisUtil::ZUIImpl::Render: Render() took 30 ms [NOESIS][] ActivateWindow(hWnd=0000000000A51F4A) (G:\Athene_Noesis3.0\libz\Noesis\Native\Src\Packages\App\Win32Display\Src\TSF.cpp:1529) [NOESIS][] MoveWindow(hWnd=0000000000A51F4A) (G:\Athene_Noesis3.0\libz\Noesis\Native\Src\Packages\App\Win32Display\Src\TSF.cpp:1551) [NOESIS][] MoveWindow(hWnd=00000000000617F0) (G:\Athene_Noesis3.0\libz\Noesis\Native\Src\Packages\App\Win32Display\Src\TSF.cpp:1551) [NOESIS][] DeactivateWindow(hWnd=0000000000A51F4A) (G:\Athene_Noesis3.0\libz\Noesis\Native\Src\Packages\App\Win32Display\Src\TSF.cpp:1543) [NOESIS][] ActivateWindow(hWnd=00000000000617F0) (G:\Athene_Noesis3.0\libz\Noesis\Native\Src\Packages\App\Win32Display\Src\TSF.cpp:1529) [NOESIS][] MoveWindow(hWnd=00000000000617F0) (G:\Athene_Noesis3.0\libz\Noesis\Native\Src\Packages\App\Win32Display\Src\TSF.cpp:1551) Note that it doesn't reproduce if you tap at buttons. I tap at an empty grid to reproduce it. Please check the video here (the touch keyboard appears at the end of the video) : https://drive.google.com/file/d/1hUE7mTo8g-Mywg9GurF1dVeMliilz7Oc/view?usp=sharing |
(0006613)
sfernandez 2020-09-03 10:52 |
One more question, is this only happening when you spawn new windows on the same application? I mean, if you try it with a single window application like our samples does the virtual keyboard also appear when clicking anywhere in the window? |
(0006616)
nikobarli 2020-09-05 06:09 |
Yes, I tried with your RSS Reader sample app. It happens as well. Please see the video here: https://drive.google.com/file/d/1Wx_ZGwsgYeKHlkML34bSHgOBALAyflkp/view?usp=sharing |
(0006629)
sfernandez 2020-09-14 14:09 |
I may have found a way to solve this and did some changes to TSF code. Could you please give a try with the attached file and verify this is fixed and IME works as it should? |
(0006630)
nikobarli 2020-09-15 07:10 (Last edited: 2020-09-15 07:11) |
Hi Sergio, Yes, it seems to work fine ! Japanese input is working as before, and the problem I reported here disappeared. Thank you. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1221 | [NoesisGUI] Unity3D | minor | always | 2018-01-18 01:59 | 2020-09-16 17:37 |
Reporter: | mingingmingler | Platform: | PC | ||
Assigned To: | jsantos | OS: | Windows 10 | ||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.1.0b15 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.5 | ||
Target Version: | 3.0.5 | ||||
Platform: | Any | ||||
Summary: | Noesis renders top to bottom gradients the wrong way round in Textblock's Foreground | ||||
Description: |
When a Textblock's Foreground property is set to use a gradient brush with a start point of 0,0 and an endpoint of 0,1, the gradient is rendered the wrong way around. Attached screenshot shows: Noesis rendering (top) and Wpf rendering (bottom) |
||||
Tags: | |||||
Steps To Reproduce: |
- Add a Textblock to the scene and set some test text - Set the Textblock's Foreground to be a LinearGradientBrush with points 0,0 and 0,1 - Add two gradient stops with offsets 0 and 1 - Observe how Noesis renders the gradients the opposite way to Wpf |
||||
Additional Information: |
<Grid> <Viewbox> <Grid Width="1920" Height="1080"> <TextBlock Text="Sample text" FontSize="128"> <TextBlock.Foreground> <LinearGradientBrush StartPoint="0,0" EndPoint="0,1"> <GradientStop Color="Red" Offset="0" /> <GradientStop Color="Green" Offset="1" /> </LinearGradientBrush> </TextBlock.Foreground> </TextBlock> </Grid> </Viewbox> </Grid> |
||||
Attached Files: |
gradientwrong.png (22,108 bytes) 2018-01-18 01:59 https://www.noesisengine.com/bugs/file_download.php?file_id=871&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1549 | [NoesisGUI] Unity3D | crash | random | 2019-08-28 09:40 | 2020-09-14 01:56 |
Reporter: | bungarra | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.4 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Windows | ||||
Summary: | Noesis 2.2.3 - 2.2.4 Crash, Editor and builds | ||||
Description: |
This is the crash log of unity, We are sure that it is being caused by noesis. as it is across both 2.2.4 and 2.2.3, we have also only been experiencing crashes in unity while only NoesisView is present. Using unity 2019.2.2f, and HDRP by unity, with our own workaround. we changed the rendering to be at the end of the frame UnityEngine.Rendering.RenderPipelineManager.beginFrameRendering += BeginCameraRendering; UnityEngine.Rendering.RenderPipelineManager.endFrameRendering += EndCameraRendering; This, however, does not affect the GPUreadback. I have attached our version of NoesisView 0x00007FFA4BB39A9D (ntdll) RtlEnterCriticalSection 0x00007FFA1003ADE3 (mono-2.0-bdwgc) [c:\build\output\unity-technologies\mono\mono\metadata\image.c:2723] mono_image_alloc 0x00007FFA1000FD31 (mono-2.0-bdwgc) [c:\build\output\unity-technologies\mono\mono\metadata\class.c:2438] mono_class_setup_methods 0x00007FFA1000A534 (mono-2.0-bdwgc) [c:\build\output\unity-technologies\mono\mono\metadata\class.c:9250] mono_class_get_methods 0x00007FF6CB9D312B (Unity) scripting_class_get_method_from_name_filter 0x00007FF6CB9D2F0E (Unity) scripting_class_get_method_from_name 0x00007FF6CB9C9E83 (Unity) ScriptingInvocation::ScriptingInvocation 0x00007FF6CB1526BE (Unity) AsyncGPUReadbackManagedBuffer::InvokeScriptingCallback 0x00007FF6CB15099D (Unity) `AsyncGPUReadbackManager::InitializeClass'::`2'::EarlyUpdateUpdateAsyncReadbackManagerRegistrator::Forward 0x00007FF6CB496CA8 (Unity) ExecutePlayerLoop 0x00007FF6CB496D89 (Unity) ExecutePlayerLoop 0x00007FF6CB49BBFB (Unity) PlayerLoop 0x00007FF6C9A6F1EB (Unity) PlayerLoopController::UpdateScene 0x00007FF6C9A6CCEC (Unity) Application::TickTimer 0x00007FF6CA2FC7E0 (Unity) MainMessageLoop 0x00007FF6CA2FF1FF (Unity) WinMain 0x00007FF6CCF92742 (Unity) __scrt_common_main_seh 0x00007FFA49847974 (KERNEL32) BaseThreadInitThunk 0x00007FFA4BB9A271 (ntdll) RtlUserThreadStart |
||||
Tags: | C#, Unity | ||||
Steps To Reproduce: | sit in any scene with noesis view with generic buttons, with styles and triggers. | ||||
Additional Information: | |||||
Attached Files: |
NoesisView.cs (44,719 bytes) 2019-08-28 09:40 https://www.noesisengine.com/bugs/file_download.php?file_id=1102&type=bug crash.zip (333,518 bytes) 2019-08-29 02:43 https://www.noesisengine.com/bugs/file_download.php?file_id=1103&type=bug |
||||
Notes | |
(0005942)
jsantos 2019-08-28 12:04 |
The changes you made to NoesisView are not safe and even if they work they are not going to be very efficient if you have more than one camera active at the same time. I assume, you only use one camera right? I also assume that this is only happening with HDRP right? HDRP is still quite unstable in Unity and the API is still being changed (https://www.noesisengine.com/forums/viewtopic.php?f=3&t=1669). We recommend doing the changes in the HDRP code itself, because that's the way it will work in the final version (right now, they are not invoking the callbacks). Regarding crashes, the callstack is not as useful as a minidump, could you please attach it? (for 2.2.4) |
(0005945)
bungarra 2019-08-29 02:43 |
We have attached the crash dump |
(0006625)
jsantos 2020-09-14 01:42 |
This should be fixed in 3.0.X, please reopen again if you still observe the issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
871 | [NoesisGUI] C++ SDK | crash | always | 2016-04-20 16:03 | 2020-09-14 01:55 |
Reporter: | ZanAlex | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Crash when using Clang | ||||
Description: |
The application is properly compiled and linked using Clang, but at start Noesis throws the following error: NoesisSDK/Src/Packages/Core/Kernel/Src/ReflectionRegistryImpl.cpp (l. 163): Reflection TypeId 'Visibility' for type 'is::Gui::Visibility]' already used to register type 'Noesis::Gui::Visibility]' The error is thrown when calling Noesis::Gui::GUI::InitOpenGL. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0003827)
jsantos 2016-04-21 13:08 |
Which version of clang and in which platform? We use clang in XCode, but gcc in Linux for now. |
(0006627)
jsantos 2020-09-14 01:47 |
This should be fixed in 3.0.X, please reopen again if needed |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1618 | [NoesisGUI] Unity3D | major | always | 2020-01-13 16:32 | 2020-09-14 01:40 |
Reporter: | Toaster | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.6 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | macOS | ||||
Summary: | Unity with Metal(MacOS) shows black screen in game mode when the camera background type is set to solid color. | ||||
Description: | Using Unity 2019.2.17f1 and NoesisGUI 2.2.6 a black screen appears when switching to the game tab or when pressing play. Everything works fine if you switch the background type property of the camera to skybox. Switching to OpenGL the GUI also renders as expected even if the background type of the camera is set to Solid Color. | ||||
Tags: | C#, Unity, Unity LWRP | ||||
Steps To Reproduce: |
1. Load the NoesisGUI asset bundle into unity's default LWRP project template. 2. Open up the Hello World sample or any other sample. 3. Press play 4. Verify black screen shows up and no UI. 5. Switch background type property of the unity camera to be "skybox" 6. Press play 7. Verify that the NoesisGUI shows up as expected. 8. Switch camera background back to "Solid Color". 9. Change unity's rendering API from Metal to OpenGL. 10. Press Play 11. Verify NoesisGUI shows up as expected. |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0006069)
jsantos 2020-01-13 17:07 |
Thanks for the report. Could you please verify is this is also happening in 2.2.5 ? https://drive.google.com/open?id=1j9BX_ofyqLsNOr5sSeTkG9tXsMS8jyA6 |
(0006070)
Toaster 2020-01-13 17:20 |
I can verify that it is also an issue in (2.2.5). |
(0006071)
jsantos 2020-01-13 17:22 |
Thanks for the information. I see, you are also using LWRP, does the issue happen in a clean Unity project with default fixed pipeline? |
(0006072)
Toaster 2020-01-13 17:30 |
I tested as suggested, and it appears to work fine with the fixed pipeline. |
(0006073)
jsantos 2020-01-13 17:41 |
Thanks for reporting. Almost for sure, this is a bug in Unity. When the 3D scene is empty (including the skybox) they think there is nothing to paint, but one more time the forgot about native plugins... So basically, they are not calling us and we don't have the chance to paint. We will try to find a workaround. Thanks again. |
(0006074)
Toaster 2020-01-13 17:42 |
I'll try it out with the LWRP and a render texture! I think that should probably work. |
(0006075)
jsantos 2020-01-13 17:44 |
For now, as a workaround I would try using a Skybox or just having a fake geometry in the scene. That should work. |
(0006624)
jsantos 2020-09-14 01:40 |
This should be fixed in 3.0.X, please reopen again if you still observe the issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1787 | [NoesisGUI] C++ SDK | trivial | always | 2020-09-09 09:33 | 2020-09-10 20:16 |
Reporter: | Ext3h | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.4 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.5 | ||
Target Version: | 3.0.5 | ||||
Platform: | Any | ||||
Summary: | Differing header files between Linux and Win distribution | ||||
Description: |
There are some sections of code in the Linux distribution in tags like `<xbox_one>` or `<ps4>`. In the Windows distribution, these section have been stripped from code. Not really a big issue, but headers being not binary identical is a minor annoyance when debugging. I expect these should had not been included in the public Linux distribution either? |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0006618)
jsantos 2020-09-09 12:02 |
Thanks for reporting this! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1785 | [NoesisGUI] Unity3D | minor | always | 2020-09-08 18:34 | 2020-09-09 16:11 |
Reporter: | real_mikhail | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.4 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.5 | ||
Target Version: | 3.0.5 | ||||
Platform: | Any | ||||
Summary: | Some duration formats are not supported by xaml parser | ||||
Description: |
I'm getting following error on importing xaml in Unity: [noesis] Assets/Root/UI/PotionEffectUserControl.xaml(19): Unable to convert '0:0:.5' to a valid value for property DoubleAnimation.Duration. UnityEngine.Debug:LogError(Object) NoesisUnity:UnityLog(Int32, String) (at Assets/NoesisGUI/Plugins/NoesisUnity.cs:141) Noesis.GUI:Noesis_LoadComponent(HandleRef, String) Noesis.GUI:LoadComponent(Object, String) (at Assets/NoesisGUI/Plugins/API/Core/NoesisGUI.cs:284) It works fine in Blend solution though. |
||||
Tags: | Unity, xaml | ||||
Steps To Reproduce: |
I have following Storyboard in my UserControl's resources: <Storyboard x:Key="FadeIn"> <DoubleAnimation Storyboard.TargetName="Item" Storyboard.TargetProperty="Opacity" To="1.0" Duration="0:0:.5" /> </Storyboard> |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1703 | [NoesisGUI] Unity3D | crash | random | 2020-05-27 10:55 | 2020-08-31 19:21 |
Reporter: | asusralis | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.6 | ||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.5 | ||
Target Version: | 3.0.5 | ||||
Platform: | Any | ||||
Summary: | Unity editor crashes during play | ||||
Description: |
From forum thread https://www.noesisengine.com/forums/viewtopic.php?f=3&t=1981Noesis.dll!NoesisApp::D3D11RenderDevice::WrapTexture(ID3D11Texture2D * texture, unsigned int width, unsigned int height, unsigned int levels, bool isInverted) Line 445 C++ > Noesis.dll!NoesisApp::D3D11Factory::WrapTexture(ID3D11Texture2D * texture, unsigned int width, unsigned int height, unsigned int levels, bool isInverted) Line 28 C++ [Inline Frame] Noesis.dll!Noesis_WrapD3D11Texture(const void *) Line 124 C++ Noesis.dll!Noesis::UnityDeviceD3D11::WrapTexture(void * texture, int width, int height, int numLevels) Line 130 C++ Noesis.dll!`anonymous namespace'::TextureProviderUnity::LoadTexture(const char * filename, Noesis::RenderDevice * __formal) Line 615 C++ Noesis.dll!Noesis::VGLContext::CreateImage(const char * filename) Line 359 C++ Noesis.dll!Noesis::BitmapImageProxy::CreateImage(Noesis::RenderTree * tree) Line 45 C++ Noesis.dll!Noesis::ImageSourceProxy::GetImage(Noesis::RenderTree * tree) Line 34 C++ Noesis.dll!Noesis::RenderTreeHelper::DrawCommands(Noesis::RenderNode * node, const Noesis::Recti & surfaceRect, Noesis::DrawingCommandsProxy * drawCommands, const Noesis::Transform2<float> & transform, const Noesis::Matrix4<float> & projection, bool isProjectionIdentity, unsigned int bitmapScalingMode) Line 269 C++ [Inline Frame] Noesis.dll!Noesis::RenderTreeHelper::RenderDraw(Noesis::RenderNode *) Line 684 C++ Noesis.dll!Noesis::RenderTreeHelper::RenderNodeRecursive(Noesis::RenderNode * node, const Noesis::Recti & surfaceRect, const Noesis::Transform2<float> & transform, const Noesis::Matrix4<float> & projection, bool isProjectionIdentity, float opacity, unsigned int depth) Line 644 C++ [Inline Frame] Noesis.dll!Noesis::RenderTreeHelper::RenderChildren(Noesis::RenderNode *) Line 701 C++ Noesis.dll!Noesis::RenderTreeHelper::RenderNodeRecursive(Noesis::RenderNode * node, const Noesis::Recti & surfaceRect, const Noesis::Transform2<float> & transform, const Noesis::Matrix4<float> & projection, bool isProjectionIdentity, float opacity, unsigned int depth) Line 644 C++ [Inline Frame] Noesis.dll!Noesis::RenderTreeHelper::RenderChildren(Noesis::RenderNode *) Line 701 C++ Noesis.dll!Noesis::RenderTreeHelper::RenderNodeRecursive(Noesis::RenderNode * node, const Noesis::Recti & surfaceRect, const Noesis::Transform2<float> & transform, const Noesis::Matrix4<float> & projection, bool isProjectionIdentity, float opacity, unsigned int depth) Line 644 C++ [Inline Frame] Noesis.dll!Noesis::RenderTreeHelper::RenderChildren(Noesis::RenderNode *) Line 701 C++ Noesis.dll!Noesis::RenderTreeHelper::RenderNodeRecursive(Noesis::RenderNode * node, const Noesis::Recti & surfaceRect, const Noesis::Transform2<float> & transform, const Noesis::Matrix4<float> & projection, bool isProjectionIdentity, float opacity, unsigned int depth) Line 644 C++ [Inline Frame] Noesis.dll!Noesis::RenderTreeHelper::RenderChildren(Noesis::RenderNode *) Line 701 C++ Noesis.dll!Noesis::RenderTreeHelper::RenderNodeRecursive(Noesis::RenderNode * node, const Noesis::Recti & surfaceRect, const Noesis::Transform2<float> & transform, const Noesis::Matrix4<float> & projection, bool isProjectionIdentity, float opacity, unsigned int depth) Line 644 C++ [Inline Frame] Noesis.dll!Noesis::RenderTreeHelper::RenderChildren(Noesis::RenderNode *) Line 701 C++ Noesis.dll!Noesis::RenderTreeHelper::RenderNodeRecursive(Noesis::RenderNode * node, const Noesis::Recti & surfaceRect, const Noesis::Transform2<float> & transform, const Noesis::Matrix4<float> & projection, bool isProjectionIdentity, float opacity, unsigned int depth) Line 644 C++ [Inline Frame] Noesis.dll!Noesis::RenderTreeHelper::RenderChildren(Noesis::RenderNode *) Line 701 C++ Noesis.dll!Noesis::RenderTreeHelper::RenderNodeRecursive(Noesis::RenderNode * node, const Noesis::Recti & surfaceRect, const Noesis::Transform2<float> & transform, const Noesis::Matrix4<float> & projection, bool isProjectionIdentity, float opacity, unsigned int depth) Line 644 C++ [Inline Frame] Noesis.dll!Noesis::RenderTreeHelper::RenderChildren(Noesis::RenderNode *) Line 701 C++ Noesis.dll!Noesis::RenderTreeHelper::RenderNodeRecursive(Noesis::RenderNode * node, const Noesis::Recti & surfaceRect, const Noesis::Transform2<float> & transform, const Noesis::Matrix4<float> & projection, bool isProjectionIdentity, float opacity, unsigned int depth) Line 644 C++ [Inline Frame] Noesis.dll!Noesis::RenderTreeHelper::RenderChildren(Noesis::RenderNode *) Line 701 C++ Noesis.dll!Noesis::RenderTreeHelper::RenderNodeRecursive(Noesis::RenderNode * node, const Noesis::Recti & surfaceRect, const Noesis::Transform2<float> & transform, const Noesis::Matrix4<float> & projection, bool isProjectionIdentity, float opacity, unsigned int depth) Line 644 C++ [Inline Frame] Noesis.dll!Noesis::RenderTreeHelper::RenderChildren(Noesis::RenderNode *) Line 701 C++ Noesis.dll!Noesis::RenderTreeHelper::RenderNodeRecursive(Noesis::RenderNode * node, const Noesis::Recti & surfaceRect, const Noesis::Transform2<float> & transform, const Noesis::Matrix4<float> & projection, bool isProjectionIdentity, float opacity, unsigned int depth) Line 644 C++ [Inline Frame] Noesis.dll!Noesis::RenderTreeHelper::RenderChildren(Noesis::RenderNode *) Line 701 C++ Noesis.dll!Noesis::RenderTreeHelper::RenderNodeRecursive(Noesis::RenderNode * node, const Noesis::Recti & surfaceRect, const Noesis::Transform2<float> & transform, const Noesis::Matrix4<float> & projection, bool isProjectionIdentity, float opacity, unsigned int depth) Line 644 C++ [Inline Frame] Noesis.dll!Noesis::RenderTreeHelper::RenderChildren(Noesis::RenderNode *) Line 701 C++ Noesis.dll!Noesis::RenderTreeHelper::RenderNodeRecursive(Noesis::RenderNode * node, const Noesis::Recti & surfaceRect, const Noesis::Transform2<float> & transform, const Noesis::Matrix4<float> & projection, bool isProjectionIdentity, float opacity, unsigned int depth) Line 644 C++ [Inline Frame] Noesis.dll!Noesis::RenderTreeHelper::RenderChildren(Noesis::RenderNode *) Line 701 C++ Noesis.dll!Noesis::RenderTreeHelper::RenderNodeRecursive(Noesis::RenderNode * node, const Noesis::Recti & surfaceRect, const Noesis::Transform2<float> & transform, const Noesis::Matrix4<float> & projection, bool isProjectionIdentity, float opacity, unsigned int depth) Line 644 C++ [Inline Frame] Noesis.dll!Noesis::RenderTreeHelper::RenderChildren(Noesis::RenderNode *) Line 701 C++ Noesis.dll!Noesis::RenderTreeHelper::RenderNodeRecursive(Noesis::RenderNode * node, const Noesis::Recti & surfaceRect, const Noesis::Transform2<float> & transform, const Noesis::Matrix4<float> & projection, bool isProjectionIdentity, float opacity, unsigned int depth) Line 644 C++ [Inline Frame] Noesis.dll!Noesis::RenderTreeHelper::RenderChildren(Noesis::RenderNode *) Line 701 C++ Noesis.dll!Noesis::RenderTreeHelper::RenderNodeRecursive(Noesis::RenderNode * node, const Noesis::Recti & surfaceRect, const Noesis::Transform2<float> & transform, const Noesis::Matrix4<float> & projection, bool isProjectionIdentity, float opacity, unsigned int depth) Line 644 C++ [Inline Frame] Noesis.dll!Noesis::RenderTreeHelper::RenderChildren(Noesis::RenderNode *) Line 701 C++ Noesis.dll!Noesis::RenderTreeHelper::RenderNodeRecursive(Noesis::RenderNode * node, const Noesis::Recti & surfaceRect, const Noesis::Transform2<float> & transform, const Noesis::Matrix4<float> & projection, bool isProjectionIdentity, float opacity, unsigned int depth) Line 644 C++ [Inline Frame] Noesis.dll!Noesis::RenderTreeHelper::RenderChildren(Noesis::RenderNode *) Line 701 C++ Noesis.dll!Noesis::RenderTreeHelper::RenderNodeRecursive(Noesis::RenderNode * node, const Noesis::Recti & surfaceRect, const Noesis::Transform2<float> & transform, const Noesis::Matrix4<float> & projection, bool isProjectionIdentity, float opacity, unsigned int depth) Line 644 C++ [Inline Frame] Noesis.dll!Noesis::RenderTreeHelper::RenderChildren(Noesis::RenderNode *) Line 701 C++ Noesis.dll!Noesis::RenderTreeHelper::RenderNodeRecursive(Noesis::RenderNode * node, const Noesis::Recti & surfaceRect, const Noesis::Transform2<float> & transform, const Noesis::Matrix4<float> & projection, bool isProjectionIdentity, float opacity, unsigned int depth) Line 644 C++ [Inline Frame] Noesis.dll!Noesis::RenderTreeHelper::RenderChildren(Noesis::RenderNode *) Line 701 C++ Noesis.dll!Noesis::RenderTreeHelper::RenderNodeRecursive(Noesis::RenderNode * node, const Noesis::Recti & surfaceRect, const Noesis::Transform2<float> & transform, const Noesis::Matrix4<float> & projection, bool isProjectionIdentity, float opacity, unsigned int depth) Line 644 C++ [Inline Frame] Noesis.dll!Noesis::RenderTreeHelper::RenderChildren(Noesis::RenderNode *) Line 701 C++ Noesis.dll!Noesis::RenderTreeHelper::RenderNodeRecursive(Noesis::RenderNode * node, const Noesis::Recti & surfaceRect, const Noesis::Transform2<float> & transform, const Noesis::Matrix4<float> & projection, bool isProjectionIdentity, float opacity, unsigned int depth) Line 644 C++ [Inline Frame] Noesis.dll!Noesis::RenderTreeHelper::RenderChildren(Noesis::RenderNode *) Line 701 C++ Noesis.dll!Noesis::RenderTreeHelper::RenderNodeRecursive(Noesis::RenderNode * node, const Noesis::Recti & surfaceRect, const Noesis::Transform2<float> & transform, const Noesis::Matrix4<float> & projection, bool isProjectionIdentity, float opacity, unsigned int depth) Line 644 C++ [Inline Frame] Noesis.dll!Noesis::RenderTreeHelper::RenderChildren(Noesis::RenderNode *) Line 701 C++ Noesis.dll!Noesis::RenderTreeHelper::RenderNodeRecursive(Noesis::RenderNode * node, const Noesis::Recti & surfaceRect, const Noesis::Transform2<float> & transform, const Noesis::Matrix4<float> & projection, bool isProjectionIdentity, float opacity, unsigned int depth) Line 644 C++ [Inline Frame] Noesis.dll!Noesis::RenderTreeHelper::RenderChildren(Noesis::RenderNode *) Line 701 C++ Noesis.dll!Noesis::RenderTreeHelper::RenderNodeRecursive(Noesis::RenderNode * node, const Noesis::Recti & surfaceRect, const Noesis::Transform2<float> & transform, const Noesis::Matrix4<float> & projection, bool isProjectionIdentity, float opacity, unsigned int depth) Line 644 C++ [Inline Frame] Noesis.dll!Noesis::RenderTreeHelper::RenderChildren(Noesis::RenderNode *) Line 701 C++ Noesis.dll!Noesis::RenderTreeHelper::RenderNodeRecursive(Noesis::RenderNode * node, const Noesis::Recti & surfaceRect, const Noesis::Transform2<float> & transform, const Noesis::Matrix4<float> & projection, bool isProjectionIdentity, float opacity, unsigned int depth) Line 644 C++ [Inline Frame] Noesis.dll!Noesis::RenderTreeHelper::RenderChildren(Noesis::RenderNode *) Line 701 C++ Noesis.dll!Noesis::RenderTreeHelper::RenderNodeRecursive(Noesis::RenderNode * node, const Noesis::Recti & surfaceRect, const Noesis::Transform2<float> & transform, const Noesis::Matrix4<float> & projection, bool isProjectionIdentity, float opacity, unsigned int depth) Line 644 C++ Noesis.dll!Noesis::RenderTreeHelper::Render(Noesis::RenderNode * node, float x, float y, float width, float height, bool flipY) Line 128 C++ Noesis.dll!Noesis::RenderTree::Render(float x, float y, float width, float height, bool flipY) Line 309 C++ Noesis.dll!Noesis::Renderer::Render(bool flipY) Line 209 C++ Noesis.dll!Noesis_GetRenderOnscreenCallback::__l2::<lambda>(int flipY, void * data) Line 454 C++ |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
CrashDump.7z (355,044 bytes) 2020-05-27 10:55 https://www.noesisengine.com/bugs/file_download.php?file_id=1241&type=bug Crash_2020-06-02_181836586.rar (325,535 bytes) 2020-06-02 20:23 https://www.noesisengine.com/bugs/file_download.php?file_id=1248&type=bug Crash_2020-05-31_141149363.rar (271,599 bytes) 2020-06-02 23:54 https://www.noesisengine.com/bugs/file_download.php?file_id=1249&type=bug |
||||
Notes | |
(0006393)
sfernandez 2020-05-27 10:58 |
This was using 2.2.6 version, could you please try latest 3.0 and let us know if you get the same kind of crashes? |
(0006394)
asusralis 2020-05-27 11:06 |
Hello. Sorry, I was going to create an issue but I became busy. Is 2.2.6 not going to be supported for bug fixes? |
(0006410)
jsantos 2020-05-28 11:22 (Last edited: 2020-05-28 11:22) |
Yes, but right now the priority is 3.0. If you could verify if this was fixed in 3.0 that would help us a lot. Besides, the callstack is not enough, I wonder if you have repro steps that could help us to reproduce this consistently. Thanks! |
(0006419)
asusralis 2020-06-02 20:23 (Last edited: 2020-06-02 20:24) |
Here it is on 3.0.1. It seems to happen often after Unity compiles changes, but I think it has happened in the past a few plays after changes have complied as well. I have no repo steps as it didn't really start at a particular time. Is there any other way to help? |
(0006420)
jsantos 2020-06-02 20:31 |
Thanks for the dump! For now this is enough, I will write here again once I have more information. |
(0006421)
asusralis 2020-06-02 23:54 |
Looking into it, maybe that was caused by something else? This is also in 3.0.1 and it seems closer to what I sent you before. |
(0006609)
jsantos 2020-08-31 18:19 |
Is this still happening in 3.0.4? |
(0006610)
asusralis 2020-08-31 18:47 |
I don't think so. |
(0006612)
jsantos 2020-08-31 19:21 |
Ok, I am going to close it for now. Please, reopen if you see this again in the upcoming 3.0.5 |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1756 | [NoesisGUI] C++ SDK | minor | always | 2020-07-17 12:44 | 2020-08-31 18:30 |
Reporter: | LarianStudios | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.3 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.5 | ||
Target Version: | 3.0.5 | ||||
Platform: | Any | ||||
Summary: | Nothing renders when setting Canvas.Left/Top to -FLT_MAX | ||||
Description: |
Having the following xaml:<ItemsControl ItemsSource="{Binding yourDataList}"> <ItemsControl.ItemsPanel> <ItemsPanelTemplate> <Canvas/> </ItemsPanelTemplate> </ItemsControl.ItemsPanel> <ItemsControl.ItemContainerStyle> <Style TargetType="ContentPresenter"> <!-- position "over head" --> <Setter Property="Canvas.Left" Value="{Binding Position.X}"/> <Setter Property="Canvas.Top" Value="{Binding Position.Y}"/> </Style> </ItemsControl.ItemContainerStyle> ... </ItemsControl> Then put 1 of the elements in the ItemsSource on Noesis::Point(-FLT_MAX, -FLT_MAX), the canvas will expand to -FLT_MAX*2 but be capped on -FLT_MAX and it'll move x and y to -FLT_MAX so outside of the screen. This will result in nothing being rendered to the screen. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1779 | [NoesisGUI] Unity3D | crash | have not tried | 2020-08-13 12:16 | 2020-08-31 18:17 |
Reporter: | asusralis | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.4 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.5 | ||
Target Version: | 3.0.5 | ||||
Platform: | Any | ||||
Summary: | Crash rendering offscreen effects | ||||
Description: |
From crash dump at issue https://www.noesisengine.com/bugs/view.php?id=1776#c6579 Crash callstack: Noesis.dll!Noesis::BaseVector<float>::operator[](unsigned int i=4) Line 134 C++ > Noesis.dll!Noesis::VGLContext::DrawGPUBatches() Line 3324 C++ Noesis.dll!Noesis::VGLContext::Flush(bool endOfFrame=false, bool flipY=false) Line 1464 C++ Noesis.dll!Noesis::RenderTreeHelper::RenderOffscreenNodes() Line 683 C++ Noesis.dll!Noesis::RenderTreeHelper::RenderOffscreen(Noesis::RenderNode * node=0x0000019aeb9b4118, const Noesis::Matrix4 & projection={...}) Line 96 C++ Noesis.dll!Noesis::RenderTree::RenderOffscreen(const Noesis::Matrix4 & projection={...}) Line 277 C++ Noesis.dll!Noesis::Renderer::RenderOffscreen(const Noesis::Matrix4 & projection={...}) Line 171 C++ Noesis.dll!Noesis::Renderer::RenderOffscreen() Line 149 C++ Noesis.dll!Noesis_GetRenderOffscreenCallback::__l2::<lambda>(int eventId=0, void * data=0x0000019b00ff0980) Line 420 C++ Noesis.dll!void <lambda>(int, void *)::<lambda_invoker_cdecl>(int eventId=0, void * data=0x0000019b00ff0980) Line 422 C++ Unity.exe!GfxDeviceWorker::RunCommand(class ThreadedStreamBuffer &) Unknown Unity.exe!GfxDeviceWorker::RunExt(class ThreadedStreamBuffer &) Unknown Unity.exe!GfxDeviceWorker::RunGfxDeviceWorker(void *) Unknown Unity.exe!Thread::RunThreadWrapper(void *) Unknown kernel32.dll!BaseThreadInitThunk() Unknown ntdll.dll!RtlUserThreadStart() Unknown |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0006581)
asusralis 2020-08-13 12:21 |
It happens consistency when clicking on a button in an itemscontrol. it seems the first mouse click does not register with the button, and the second click crashes unity. |
(0006582)
sfernandez 2020-08-13 12:31 |
>> It happens consistency when clicking on a button in an itemscontrol. Are you using effects (DropShadowEffect or BlurEffect) on that project? Maybe animating effect parameters when clicking the button? >> it seems the first mouse click does not register with the button, and the second click crashes unity. Do you mean that first click is not being executed? |
(0006583)
asusralis 2020-08-13 12:41 |
I'm using drop shadows, but not on that button or itemscontrol. Well, just a minute ago it was requiring two clicks. Now it just crashes on the first click. This creates the same error as above, not sure if this helps: https://files.catbox.moe/2u13qu.mp4 |
(0006589)
asusralis 2020-08-21 19:32 |
Hey, did you need any more information for this? |
(0006590)
jsantos 2020-08-24 13:30 |
Not for now, thanks! I will be working on this (and hopefully fixing it) this week. I will write again if I need more information. |
(0006597)
jsantos 2020-08-28 15:04 (Last edited: 2020-08-28 15:05) |
Is there by any chance the possibility of getting a working executable where this error is being reproduced? Better if it is standalone, not Unity editor. |
(0006604)
jsantos 2020-08-31 12:58 |
Right now, this is the main blocker for releasing 3.0.5 |
(0006605)
asusralis 2020-08-31 13:09 |
You want a debug build where the crash is not happening? So on 3.0.3? |
(0006606)
jsantos 2020-08-31 13:13 |
Using the same version as the crash reported (the one provided by sergio https://www.noesisengine.com/bugs/view.php?id=1776#c6579) https://drive.google.com/file/d/1oEzPaSbXd406urlja1294mMtdpdTUvmR A standalone build where the crash is happening, that way I can debug with Visual Studio, because the minidump is not giving enough information and I am not able to reproduce the issue. |
(0006608)
jsantos 2020-08-31 18:17 (Last edited: 2020-08-31 18:17) |
Thanks for this! I was able to reproduce it and fix it. By the way, we detected also a Canvas with Left set to Infinite in your game. That's not allowed in WPF, we are going to detect that and raise error in that case. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1766 | [NoesisGUI] C# SDK | minor | always | 2020-08-03 23:15 | 2020-08-31 12:23 |
Reporter: | samc | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.5 | ||
Target Version: | 3.0.5 | ||||
Platform: | Windows | ||||
Summary: | Unity SceneView shows UI inverted | ||||
Description: | Not sure if this is something we're doing; when playing our game, the UI looks great, but if you switch to Scene View the UI still renders, but it's upside down (see attached screen shot). | ||||
Tags: | Unity | ||||
Steps To Reproduce: |
1) Play in Unity Editor 2) Switch to Scene Mode tab |
||||
Additional Information: | |||||
Attached Files: |
Noesis_SceneView_Bug.png (222,640 bytes) 2020-08-03 23:15 https://www.noesisengine.com/bugs/file_download.php?file_id=1283&type=bug |
||||
Notes | |
(0006603)
jsantos 2020-08-31 12:23 |
It seems that UI is being rendered in HDRP and it shouldn't (as in legacy pipeline or URP). I have disabled it in 3.0.5, with these changes:Index: NoesisView.cs =================================================================== --- NoesisView.cs (revision 9558) +++ NoesisView.cs (revision 9559) @@ -537,12 +537,18 @@ private void BeginFrameRendering(ScriptableRenderContext context, Camera[] cameras) { - RenderOffscreen(); + if (cameras[0].cameraType == CameraType.Game) + { + RenderOffscreen(); + } } private void EndFrameRendering(ScriptableRenderContext context, Camera[] cameras) - { - RenderOnscreen(); + { + if (cameras[0].cameraType == CameraType.Game) + { + RenderOnscreen(); + } } #endif |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1781 | [NoesisGUI] Unity3D | feature | always | 2020-08-22 11:47 | 2020-08-29 23:43 |
Reporter: | jsantos | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.4 | ||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.0.5 | ||||
Platform: | Any | ||||
Summary: | Support Continuos Rendering flag when rendering to main camera | ||||
Description: |
As explained here https://www.noesisengine.com/forums/viewtopic.php?f=3&t=2076 having support for this can save a lot of battery in games that only render UI |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0006602)
jsantos 2020-08-29 23:40 (Last edited: 2020-08-29 23:43) |
I am going to close this without changes because they are not needed. The API already supports all scenarios. When NoesisGUI is being rendered to a main camera, as explained in the documentation, 'NeedsRendering' must be used with a manually repainted camera. Manually repainted cameras must be disabled (the Camera component, not the gameobject) and Render must be invoked when needed, for example attaching the following component:public class Redraw : MonoBehaviour { void Update() { NoesisView view = gameObject.GetComponent<NoesisView>(); Camera camera = gameObject.GetComponent<Camera>(); if (view.NeedsRendering) { camera.Render(); } } } NOTE: I did a minimal change, 'Continuous Rendering' inspector property is now only visible when rendering to texture. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1769 | [NoesisGUI] C++ SDK | crash | always | 2020-08-04 14:42 | 2020-08-28 23:03 |
Reporter: | nikobarli | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.4 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.0.5 | ||||
Platform: | Any | ||||
Summary: | Crash inside event handler | ||||
Description: |
We are in the process of testing Noesis 3.0 with our codes. Currently we are experiencing crashes inside our event handlers (which worked back in 2.2.6). Debugging the problem reveals that something bad happen when inside a MouseDown handler, we are attaching another MouseDown handler. # Internally there seems to be conversion from SingleDelegate to MultiDelegate ? Not sure ... It's difficult for us to create a repro for this bug, but we happened to be able to avoid the crash with the attached Delegate.inl.patch. Could you please check if the patch makes sense ? It seems that mVector->v may be replaces inside the handler, so it's not safe to use the expression for (Delegate& d: mVector->v) ? |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
Delegate.inl.patch (1,202 bytes) 2020-08-04 14:42 https://www.noesisengine.com/bugs/file_download.php?file_id=1285&type=bug |
||||
Notes | |
(0006551)
jsantos 2020-08-05 11:17 |
Hi Niko! I don't see how the proposed patch can be fix the problem because it is just using a reference, not copying the vector. And in fact, that vector cannot be destroyed because it is a ref counted object and one extra reference is being kept at the beginning of the method. Are you sure this patch fixes your crash? Could you please double check? |
(0006553)
nikobarli 2020-08-06 05:42 |
Hi Jesus, Yes, I am pretty sure that the problem goes away with the patch. But, yes it may just be the symptom that went away, not the real bug. I bundled two set of binaries here: https://drive.google.com/drive/folders/1fdxot2XLzqIBg9y01k6k78c5cRQvgEo6?usp=sharing Debug.NoPatch.zip is the binary with the original Noesis. Debug.Patched.zip is the binary with the patched Noesis. Please unzip the first one, and run NoesisTutorial.exe. When the window appears, click "Reactive Input" button. Then click anywhere inside the new window. The application will crash. I included the pdb files for Noesis.dll and NoesisApp.dll so that you can attach a debugger to the binary. |
(0006554)
nikobarli 2020-08-06 06:30 |
Forgot to say that you'll need VS2019 runtime to use the binary (because it is compiled with VS2019 16.4.8) |
(0006556)
jsantos 2020-08-06 11:13 |
Thanks for this Niko, having the PDBs will allow me to investigate further |
(0006598)
jsantos 2020-08-28 19:48 (Last edited: 2020-08-28 19:48) |
Hi Niko, I am playing with this right now. The font seems to be missing though, maybe you are using a japanese system font? Could you please attach it here? Anyway, let's see if I can crash it trying all the sections. :) |
(0006599)
jsantos 2020-08-28 20:06 |
Ok, I am being able to crash it, it is the 10th button from below. |
(0006600)
jsantos 2020-08-28 20:10 |
I am getting the crash inside NoesisUtil.dll. Could you also provide the associated pdb?NoesisUtil.dll!00007ffa2501829f() Unknown NoesisUtil.dll!00007ffa250225ab() Unknown Noesis.dll!Noesis::Delegate<void __cdecl(Noesis::BaseComponent *,Noesis::RoutedEventArgs const &)>::Invoke(Noesis::BaseComponent * <args_0>, const Noesis::RoutedEventArgs & <args_1>, const void * param, bool(*)(const void *) abort) Line 185 C++ > Noesis.dll!Noesis::UIElement::NotifyHandlers(const Noesis::RoutedEventArgs & args) Line 2633 C++ Noesis.dll!Noesis::UIElement::BubblingEvent(const Noesis::RoutedEventArgs & args) Line 2685 C++ Noesis.dll!Noesis::UIElement::RaiseEvent(const Noesis::RoutedEventArgs & args) Line 1162 C++ Noesis.dll!Noesis::Mouse::RaiseButtonDownEvents(Noesis::UIElement * element, Noesis::MouseButton button, unsigned int clickCount) Line 332 C++ Noesis.dll!Noesis::Mouse::ButtonDown(int x, int y, Noesis::MouseButton button) Line 364 C++ Noesis.dll!Noesis::View::MouseButtonDown(int x, int y, Noesis::MouseButton button) Line 492 C++ |
(0006601)
jsantos 2020-08-28 23:03 |
Nevermind, your patch was good! The problem was with the range-based loop, it was not compatible with the vector memory being reallocated in the middle of the loop. Thanks a lot for taking your time and proposing a patch |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1770 | [NoesisGUI] Unity3D | major | always | 2020-08-04 15:22 | 2020-08-27 12:59 |
Reporter: | JinFox | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.3 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.0.5 | ||||
Platform: | Any | ||||
Summary: | PowerVR GPU issues with fragment shader on Android | ||||
Description: |
Hello, We are experiencing an issue on some Android device where Noesis Fragment Shader isn't found: [noesis] Link failed Link Error: Fragment shader was not succes Devices who have the issue have all PowerVR GPU and it seems to be the common factor. For example: vivo y83 pro Vivo y81 oppo a5s leagoo m12 Can you please have a look. Thank you very much |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0006585)
jsantos 2020-08-19 18:33 (Last edited: 2020-08-20 00:18) |
Hi! I wanted to verify that the patch was correct so we ordered a device a few weeks ago and it arrived today. But unfortunately I am not able to crash Noesis on this mobile (a LG K40S with PowerVR GE8320). I wonder if you could give me access to the APK of your game for testing. (If you attach it here, make sure to mark the answer as private). |
(0006586)
jsantos 2020-08-19 18:34 |
Just for the record, this is the device info08-19 18:30:05.084 12943 12963 D Noesis : Creating GL render context 08-19 18:30:05.094 12943 12963 D Noesis : EGL Version: 1.4 Android META-EGL 08-19 18:30:05.095 12943 12963 D Noesis : PixelFormat: C24A8 D24S8 1x 08-19 18:30:05.112 12943 12963 D Noesis : Version: 3.2 (OpenGL ES 3.2 build 1.10@5130912) 08-19 18:30:05.112 12943 12963 D Noesis : Vendor: Imagination Technologies 08-19 18:30:05.112 12943 12963 D Noesis : Renderer: PowerVR Rogue GE8320 |
(0006587)
JinFox 2020-08-20 11:26 |
Hello Jesus, I have sent you requested APK through email as you requested. Best regards |
(0006595)
jsantos 2020-08-27 12:59 |
Although I was not able to verify this crash in our new device, I verified our shaders against all offline shader compilers available (PowerVR, Mali...) and found two potential issues. I also improved the information reported when a shader is not compiling. For now, I am going to mark this as solved, please reopen it again if the problem persists. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1782 | [NoesisGUI] C++ SDK | minor | N/A | 2020-08-25 10:33 | 2020-08-26 16:33 |
Reporter: | Joren | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.4 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.5 | ||
Target Version: | 3.0.5 | ||||
Platform: | Any | ||||
Summary: | Currently ignoring metadata overrides for DependencyObject type | ||||
Description: |
As described in: https://www.noesisengine.com/forums/viewtopic.php?f=3&t=2085 |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1611 | [NoesisGUI] Unity3D | minor | have not tried | 2019-12-28 15:06 | 2020-08-24 11:18 |
Reporter: | Gwynneth | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 2.2.5 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1 | ||||
Platform: | Windows | ||||
Summary: | TemplateBinding Converter does not work | ||||
Description: | TemplateBinding.Converter seems to not be implemented. | ||||
Tags: | |||||
Steps To Reproduce: |
Using the XAML below in a custom control will make Noesis log the following error message: Unknown property TemplateBinding.Converter, or object to assign is incompatible <Grid Margin="{TemplateBinding StrokeThickness, Converter={StaticResource DoubleToThicknessConverter}}"> <ContentPresenter x:Name="PART_ContentPresenter" Content="{TemplateBinding Content}" Margin="{TemplateBinding Padding}"/> </Grid> Changing the XAML to a 'normal' binding with RelativeSource set to TemplatedParent as shown below does work. <Grid Margin="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=StrokeThickness, Converter={StaticResource DoubleToThicknessConverter}}"> <ContentPresenter x:Name="PART_ContentPresenter" Content="{TemplateBinding Content}" Margin="{TemplateBinding Padding}"/> </Grid> |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0006588)
ttermeer 2020-08-20 16:45 |
I can confirm issue still present with Noesis 3.0.4 with the Unity SDK |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1748 | [NoesisGUI] Unity3D | major | always | 2020-07-07 03:52 | 2020-08-24 11:18 |
Reporter: | SrdjanMaksimovic021 | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.1 | ||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.5 | ||
Target Version: | 3.0.5 | ||||
Platform: | Windows | ||||
Summary: | Scrollbar doesn't appear inside the unity window | ||||
Description: | While implementing a window that uses a scrollbar, I noticed the scrollbar didn't appear inside unity. The scrollbar would appear normally inside blend or inside unity with earlier version of NoesisGUI (2.2.6). | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0006507)
sfernandez 2020-07-07 11:38 |
Are you using our default theme (NoesisTheme.DarkBlue) in Noesis Settings as Application Resources or your own? Our new ScrollViewer style hides scroll bars until you move mouse over the control, showing a thin rectangle that animates to the actual ScrollBar when it is hovered. The effect is very similar to what you see in UWP applications. Is that what you are seeing? |
(0006531)
SrdjanMaksimovic021 2020-07-12 14:17 |
@sfernandez I am using custom resources for the scrollbar and to answer the second question, it does not appear when hovered. |
(0006532)
sfernandez 2020-07-13 10:47 |
Could you please attach the style+template used for your ScrollViewer and ScrollBar controls? I'll try to reproduce the problem to determine what is happening. |
(0006540)
SrdjanMaksimovic021 2020-07-17 15:00 (Last edited: 2020-07-18 16:11) |
ok, here is everything: <UserControl.Resources> <ResourceDictionary> <Style x:Key="ScrollThumbs" TargetType="{x:Type Thumb}"> <Setter Property="Template"> <Setter.Value> <ControlTemplate> <Grid x:Name="Grid"> <Rectangle HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Width="Auto" Height="Auto" Fill="Transparent"/> <Border x:Name="Rectangle1" CornerRadius="7 7 7 7" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Width="Auto" Height="Auto" Background="{TemplateBinding Background}"/> </Grid> <ControlTemplate.Triggers> <Trigger Property="Tag" Value="Horizontal"> <Setter TargetName="Rectangle1" Property="Width" Value="Auto"/> <Setter TargetName="Rectangle1" Property="Height" Value="7"/> </Trigger> </ControlTemplate.Triggers> </ControlTemplate> </Setter.Value> </Setter> </Style> <Style x:Key="{x:Type ScrollBar}" TargetType="{x:Type ScrollBar}"> <Setter Property="Foreground" Value="#56CBFF"/> <Setter Property="Background" Value="Transparent"/> <Setter Property="Width" Value="10"/> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type ScrollBar}"> <Grid x:Name="GridRoot" Width="10" Background="{x:Null}"> <Track x:Name="PART_Track" Grid.Row="0" IsDirectionReversed="true" Focusable="False"> <Track.Thumb> <Thumb x:Name="Thumb" Background="{TemplateBinding Foreground}" Style="{DynamicResource ScrollThumbs}"/> </Track.Thumb> <Track.IncreaseRepeatButton> <RepeatButton x:Name="PageUp" Command="ScrollBar.PageDownCommand" Opacity="1" Focusable="False" Width="4" BorderBrush="Transparent" Background="#FFCDCDCD"/> </Track.IncreaseRepeatButton> <Track.DecreaseRepeatButton> <RepeatButton x:Name="PageDown" Command="ScrollBar.PageUpCommand" Opacity="1" Focusable="False" Width="4" BorderBrush="Transparent" Background="#FFCDCDCD"/> </Track.DecreaseRepeatButton> </Track> </Grid> <ControlTemplate.Triggers> <Trigger SourceName="Thumb" Property="IsMouseOver" Value="true"> <Setter Value="#FF98D9F6" TargetName="Thumb" Property="Background"/> </Trigger> <Trigger SourceName="Thumb" Property="IsDragging" Value="true"> <Setter Value="#FF98D9F6" TargetName="Thumb" Property="Background"/> </Trigger> <Trigger Property="IsEnabled" Value="false"> <Setter TargetName="Thumb" Property="Visibility" Value="Collapsed"/> </Trigger> <Trigger Property="Orientation" Value="Horizontal"> <Setter TargetName="GridRoot" Property="LayoutTransform"> <Setter.Value> <RotateTransform Angle="-90"/> </Setter.Value> </Setter> <Setter TargetName="PART_Track" Property="LayoutTransform"> <Setter.Value> <RotateTransform Angle="-90"/> </Setter.Value> </Setter> <Setter Property="Width" Value="Auto"/> <Setter Property="Height" Value="10"/> <Setter TargetName="Thumb" Property="Tag" Value="Horizontal"/> <Setter TargetName="PageDown" Property="Command" Value="ScrollBar.PageLeftCommand"/> <Setter TargetName="PageUp" Property="Command" Value="ScrollBar.PageRightCommand"/> </Trigger> </ControlTemplate.Triggers> </ControlTemplate> </Setter.Value> </Setter> </Style> </ResourceDictionary> </UserControl.Resources> . . . <ScrollViewer x:Name="ScrollView" HorizontalAlignment="Stretch" BorderThickness="2" Margin="4,0" VerticalAlignment="Stretch" Background="#00000000"/> |
(0006542)
sfernandez 2020-07-27 11:23 |
Our ScrollViewer template plays with MinWidth/MinHeight of its scroll bars to achieve some effects. You can add <Setter Property="MinWidth" Value="10"/> to your ScrollBar style to make them visible, but the ScrollViewer style still fades in/out the scroll bars, so my recomendation is you define your own style/template to get the result you want, something like this:<ControlTemplate x:Key="Template.ScrollViewer" TargetType="ScrollViewer"> <Border Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="{DynamicResource Corner.Border0}"> <Grid> <Grid.RowDefinitions> <RowDefinition Height="*"/> <RowDefinition Height="Auto"/> </Grid.RowDefinitions> <Grid.ColumnDefinitions> <ColumnDefinition Width="*"/> <ColumnDefinition Width="Auto"/> </Grid.ColumnDefinitions> <ScrollContentPresenter Grid.RowSpan="2" Grid.ColumnSpan="2" Content="{TemplateBinding Content}" ContentTemplate="{TemplateBinding ContentTemplate}" ContentTemplateSelector="{TemplateBinding ContentTemplateSelector}" CanContentScroll="{TemplateBinding CanContentScroll}" Margin="{TemplateBinding Padding}"/> <ScrollBar x:Name="PART_HorizontalScrollBar" Grid.Column="0" Grid.Row="1" Orientation="Horizontal" Visibility="{TemplateBinding ComputedHorizontalScrollBarVisibility}" Value="{Binding HorizontalOffset, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}" ViewportSize="{TemplateBinding ViewportWidth}" Minimum="0" Maximum="{TemplateBinding ScrollableWidth}"/> <ScrollBar x:Name="PART_VerticalScrollBar" Grid.Column="1" Grid.Row="0" Orientation="Vertical" Visibility="{TemplateBinding ComputedVerticalScrollBarVisibility}" Value="{Binding VerticalOffset, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}" ViewportSize="{TemplateBinding ViewportHeight}" Minimum="0" Maximum="{TemplateBinding ScrollableHeight}"/> </Grid> </Border> </ControlTemplate> <Style TargetType="ScrollViewer" BasedOn="{StaticResource {x:Type ContentControl}}"> <Setter Property="OverridesDefaultStyle" Value="True"/> <Setter Property="Background" Value="Transparent"/> <Setter Property="Template" Value="{StaticResource Template.ScrollViewer}"/> </Style> |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1778 | [NoesisGUI] C++ SDK | feature | N/A | 2020-08-12 13:53 | 2020-08-20 13:21 |
Reporter: | Joren | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.5 | ||
Target Version: | 3.0.5 | ||||
Platform: | Any | ||||
Summary: | ScrollIntoView for Combobox | ||||
Description: | ScrollIntoView for Combobox extension as discussed in https://www.noesisengine.com/forums/viewtopic.php?f=3&t=2068 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1780 | [NoesisGUI] Unity3D | minor | always | 2020-08-17 11:20 | 2020-08-17 18:22 |
Reporter: | blafollette | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.5 | ||
Target Version: | 3.0.5 | ||||
Platform: | Windows | ||||
Summary: | Native type is not registered error when calling FindName("myName") as ResourceDictionary | ||||
Description: |
I've got a big collection of flags that are stored in a <ResourceDictionary x:Name="myName"> in xaml. I wrote an IValueConverter that takes an input string from an item property in a collection and returns the svg resource. The code behind for the xaml exposes a ResouceDictionary property that I use in the IValueConverter to reference the dictionary and return values by key. This is all working great in WPF, but in Unity when I call FindName("myName") to manually assign the ResourceDictionary to the accessor property, it throws an exception "System.InvalidOperationException: Native type is not registered". |
||||
Tags: | C#, ResourceDictionary, Unity, xaml | ||||
Steps To Reproduce: |
1. Create a xaml page with a ResourceDictionary and define a name for it using the x:Name attribute 2. In the page's code-behind, define an accessor property of type ResourceDictionary 3. in the definition for InitializeComponent(), assign the above property the value of the named ResourceDictionary using FindName() 4. FindName should throw the "Native type is not registered" exception |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1776 | [NoesisGUI] C++ SDK | crash | sometimes | 2020-08-11 16:50 | 2020-08-13 12:19 |
Reporter: | asusralis | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.4 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.5 | ||
Target Version: | 3.0.5 | ||||
Platform: | Any | ||||
Summary: | Access violation when scrolling in an ItemsControl. | ||||
Description: |
This seemed to have started after going from 3.0.3 -> 3.0.4. It happens when I continuously scroll down or up in an ItemsControl. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
Crash_2020-08-11_144423920.rar (437,598 bytes) 2020-08-11 16:50 https://www.noesisengine.com/bugs/file_download.php?file_id=1290&type=bug Crash_2020-08-12_145613208.7z (312,683 bytes) 2020-08-12 16:59 https://www.noesisengine.com/bugs/file_download.php?file_id=1291&type=bug Crash_2020-08-12_155939901.7z (311,498 bytes) 2020-08-12 18:02 https://www.noesisengine.com/bugs/file_download.php?file_id=1292&type=bug Crash_2020-08-12_203423724.rar (344,636 bytes) 2020-08-12 22:36 https://www.noesisengine.com/bugs/file_download.php?file_id=1293&type=bug |
||||
Notes | |
(0006570)
sfernandez 2020-08-12 12:52 |
I found something that can be the cause of the crash, could you please try the following debug library that includes a fix? https://drive.google.com/file/d/1He5jnBkFqITuIYvN2KWKd_8Dvmu19NKo |
(0006571)
asusralis 2020-08-12 16:36 |
When replacing the .dll at /NoesisGUI/Plugins/Libraries/Windows/x86_64 and restarting my editor results in this error when trying to run: DllNotFoundException: Noesis Noesis.Texture.WrapTexture (System.Object texture, System.IntPtr nativePointer, System.Int32 width, System.Int32 height, System.Int32 numLevels) (at Assets/NoesisGUI/Plugins/NoesisTexture.cs:17) Noesis.TextureSource..ctor (UnityEngine.Texture2D texture) (at Assets/NoesisGUI/Plugins/NoesisTextureSource.cs:12) |
(0006572)
sfernandez 2020-08-12 16:41 |
Probably a dependency not found with the debug CRT, let me generate a new library. |
(0006573)
sfernandez 2020-08-12 16:47 |
Please try again with this one: https://drive.google.com/file/d/1GVpCeqI85DgpYiMZ6WrnPm8HrzCYGLiu |
(0006574)
asusralis 2020-08-12 16:59 |
Okay, that worked. It actually crashed this time right after the control was created, so I'm not sure if this is the same problem or not. Before it was crashing only when I was scrolling up and down. |
(0006575)
sfernandez 2020-08-12 17:47 |
Last crash was because of an assert, please use this one: https://drive.google.com/file/d/19Ub965DwtUeY30S8MK1wvDm-czu9jwBf |
(0006576)
asusralis 2020-08-12 18:02 |
Okay, this one crashed at the right time. |
(0006577)
sfernandez 2020-08-12 18:58 |
Thanks a lot for the feeback, it helped me identify the problem. This library should fix it: https://drive.google.com/file/d/1oEzPaSbXd406urlja1294mMtdpdTUvmR |
(0006578)
asusralis 2020-08-12 22:28 |
That fixed it, thanks. |
(0006579)
asusralis 2020-08-12 22:36 (Last edited: 2020-08-12 22:36) |
Actually, playing a bit with my game resulted in another crash; it seems related to the itemscontrol. I think it happened as I was clicking an item in it, or it was possibly scrolling. |
(0006580)
sfernandez 2020-08-13 12:19 |
Last crash was related to the rendering of effects, I created a new ticket to investigate that: 0001779 Marking this one as solved in relation to the ItemsControl scrolling and shared size groups. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1764 | [NoesisGUI] C# SDK | feature | N/A | 2020-07-29 18:32 | 2020-08-12 19:04 |
Reporter: | ai_enabled | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.4 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.5 | ||
Target Version: | 3.0.5 | ||||
Platform: | Any | ||||
Summary: | Expose memory usage stats (instrumentation API) | ||||
Description: |
Hi guys, please expose memory usage stats (instrumentation API) in C# SDK. Ideally, we want to know how much of the unmanaged memory and how much VRAM are used by NoesisGUI. Regards! |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1774 | [NoesisGUI] C# SDK | major | always | 2020-08-11 07:14 | 2020-08-12 17:55 |
Reporter: | ck_russ | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.4 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.5 | ||
Target Version: | 3.0.5 | ||||
Platform: | Windows | ||||
Summary: | Unable to set Storyboard Target in code | ||||
Description: |
A Storyboard's target/targetname set in code is ignored on a call to storyboard.Begin(): ----- DoubleAnimation d = new DoubleAnimation(); d.Duration = new Duration(TimeSpan.FromSeconds(2)); d.To = 200; Storyboard sb = new Storyboard(); sb.Children.Add(d); Storyboard.SetTarget(sb, CodeButton); Storyboard.SetTargetProperty(sb, new PropertyPath("Width")); Storyboard.SetTargetName(sb, "CodeButton"); Debug.Assert(CodeButton.Name == "CodeButton"); Debug.Assert(Storyboard.GetTarget(sb) == CodeButton); Debug.Assert(Storyboard.GetTargetProperty(sb).Path == "Width"); Debug.Assert(Storyboard.GetTargetName(sb) == "CodeButton"); sb.Begin(); ----- In the above code snippet all assertions pass, but the call to Begin() fails with a log output of: ""Cannot Begin Storyboard, Target not found". Manually specifying the target "sb.Begin(CodeButton)" does work. |
||||
Tags: | C# Storyboard | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1775 | [NoesisGUI] C# SDK | major | always | 2020-08-11 07:16 | 2020-08-12 13:29 |
Reporter: | ck_russ | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.4 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.5 | ||
Target Version: | 3.0.5 | ||||
Platform: | Any | ||||
Summary: | Storyboard FillBehavior set in XAML is ignored by children | ||||
Description: |
Here is a XAMLToy ready code sample: <Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <Rectangle Width="50" Height="50" Fill="DarkSeaGreen"> <Rectangle.Triggers> <EventTrigger RoutedEvent="Grid.Loaded"> <BeginStoryboard> <Storyboard FillBehavior="Stop" Storyboard.TargetProperty="Width"> <DoubleAnimation To="200" Duration="0:0:2"/> </Storyboard> </BeginStoryboard> </EventTrigger> </Rectangle.Triggers> </Rectangle> </Grid> In the above sample the animation should be ended after its execution due to FillBehavior=Stop, but it instead will hold it as if its FillBehavior was HoldEnd. |
||||
Tags: | Storyboard, xaml | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1772 | [NoesisGUI] Unity3D | minor | always | 2020-08-10 17:30 | 2020-08-12 10:27 |
Reporter: | asusralis | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.4 | ||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.5 | ||
Target Version: | 3.0.5 | ||||
Platform: | Any | ||||
Summary: | Going from 3.0.3 -> 3.0.4 has broken certain MouseEnter events. | ||||
Description: |
I see this in two areas - 1): My buttons have stopped changing colors when you put your cursor over them. I define my button like this: <Style BasedOn="{StaticResource Style.ButtonBase}" TargetType="Button"> <Setter Property="Background" Value="{StaticResource Button.Background.Static}" /> <Setter Property="BorderThickness" Value="3" /> <Setter Property="BorderBrush" Value="#355C7D" /> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="Button"> <Border Padding="{TemplateBinding Padding}" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}"> <ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" TextElement.FontSize="{TemplateBinding FontSize}" /> </Border> </ControlTemplate> </Setter.Value> </Setter> <Style.Triggers> <Trigger Property="IsMouseOver" Value="True"> <Setter Property="Background" Value="{StaticResource Button.Background.Hovered}" /> </Trigger> <Trigger Property="IsPressed" Value="True"> <Setter Property="Background" Value="{StaticResource Button.Background.Pressed}" /> </Trigger> <Trigger Property="IsEnabled" Value="False"> <Setter Property="Background" Value="{StaticResource Button.Background.Disabled}" /> <Setter Property="BorderBrush" Value="{StaticResource Button.Background.Disabled}" /> </Trigger> </Style.Triggers> </Style> 2): I also use MoseOver directly in some controls, and they have stopped working as well: protected override bool ConnectEvent(object source, string eventName, string handlerName) { if(eventName == "MouseEnter" && handlerName == "Status_MouseEnter") { ((FrameworkElement)source).MouseEnter += Status_MouseEnter; return true; } return false; } private void Status_MouseEnter(object sender, MouseEventArgs args) { // Is not invoked. } The only change has been updating to 3.0.4; everything works correctly on 3.0.3. edit: I don't get any errors or crashes, so I'm not sure how to reproduce this. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0006566)
sfernandez 2020-08-10 17:45 |
Is it possible you have "Emulate Touch" enabled in your NoesiView component? We did a change there to mimic the events generated when using touch devices, that is, avoid sending TouchMove/MouseMove if no finger is pressed. |
(0006567)
asusralis 2020-08-10 17:50 (Last edited: 2020-08-10 18:15) |
Yes, that does seem to be the problem. This change actually will benefit me as well, but is there any way way to have both as an option? It's really nice to be able to drag your mouse to go down lists while on a desktop. I would only want to turn this off when testing for mobile. |
(0006568)
sfernandez 2020-08-11 12:58 |
I don't think it would be the expected behavior to scroll lists by dragging the mouse. That flag is meant to test the experience of touch devices using the mouse, and you can always switch that flag while playing if you need to test drag scrolling using the mouse. Do you think we can close this issue? |
(0006569)
asusralis 2020-08-11 14:21 |
ok |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1714 | [NoesisGUI] C# SDK | minor | always | 2020-06-09 11:16 | 2020-08-11 19:18 |
Reporter: | ck_russ | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.5 | ||
Target Version: | 3.0.5 | ||||
Platform: | Any | ||||
Summary: | Default display for a databound enum in XAML is its numeric value instead of its string value | ||||
Description: | This is an inconsistency between WPF and Noesis which can result in some unexpected output in cases where enums are directly output. | ||||
Tags: | xaml | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0006543)
sfernandez 2020-07-27 16:45 |
Can you provide a test sample where you can reproduce this? I tried with the following code and xaml and it shows the string value of the enum: <Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <TextBlock Text="{Binding State}" HorizontalAlignment="Center" VerticalAlignment="Center"/> </Grid> public enum EnumState { First, Second, Third } public class EnumViewModel { public EnumState State { get; set; } } public class EnumDisplayBehavior : MonoBehaviour { void Start() { NoesisView view = GetComponent<NoesisView>(); view.Content.DataContext = new EnumViewModel { State = EnumState.Second }; } } |
(0006545)
ck_russ 2020-07-29 08:56 |
It does seem to work with TextBlocks. The problem appears in other controls: <Grid> <StackPanel> <Button Content="{Binding State}"/> <ContentControl Content="{Binding State}"/> <TextBlock Text="{Binding State}"/> <TextBox Text="{Binding State,Mode=OneTime}"/> </StackPanel> </Grid> In WPF this results in: Second Second Second Second In Noesis this results in: 1 1 Second [*no value displayed*] |
(0006546)
sfernandez 2020-07-29 11:34 |
Thanks for the repro steps. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1767 | [NoesisGUI] C# SDK | major | random | 2020-08-04 11:19 | 2020-08-11 12:51 |
Reporter: | darthmaule2 | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.4 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.5 | ||
Target Version: | 3.0.5 | ||||
Platform: | Any | ||||
Summary: | System.InvalidOperationException: Queue empty. | ||||
Description: |
We are intermittently seeing this exception when try to save an image (this is where we render part of the visual tree to a bitmap), any idea what might cause that?System.InvalidOperationException: Queue empty. at System.Collections.Generic.Queue`1.ThrowForEmptyQueue() at System.Collections.Generic.Queue`1.Dequeue() at Noesis.Dispatcher.ProcessQueue() at Noesis.View.Update(Double timeInSeconds) at NoesisApp.Window.Render(Double time) at NoesisApp.Application.<>c__DisplayClass39_0.<Run>b__0(Display d) at NoesisApp.Win32Display.EnterMessageLoop(Boolean runInBackground) at NoesisApp.Application.Run() at UIShell.App.Main(String[] args) in C:\Users\307010312\Source\Repos\sbc_sw\src\ExecUICore3\UiShell\App.cs:line 204 |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1773 | [NoesisGUI] Unity3D | minor | always | 2020-08-10 23:06 | 2020-08-11 12:47 |
Reporter: | real_mikhail | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.4 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.5 | ||
Target Version: | 3.0.5 | ||||
Platform: | Any | ||||
Summary: | Signature mismatch of RoutedEventArgs constructor | ||||
Description: |
I'll upload 2 screenshots: 1st shows expected arguments in Wpf/Blend 2nd shows expected arguments in Noesis/Unity |
||||
Tags: | C#, Unity | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
WpfBlend.png (15,629 bytes) 2020-08-10 23:06 https://www.noesisengine.com/bugs/file_download.php?file_id=1288&type=bug UnityNoesis.png (6,450 bytes) 2020-08-10 23:06 https://www.noesisengine.com/bugs/file_download.php?file_id=1289&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1768 | [NoesisGUI] Unity3D | crash | always | 2020-08-04 11:22 | 2020-08-10 17:41 |
Reporter: | asusralis | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.4 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.5 | ||
Target Version: | 3.0.5 | ||||
Platform: | Any | ||||
Summary: | Updating from 3.0.3 -> 3.0.4 results in Unity crashing. | ||||
Description: |
I attached the crash files. It seems to consistently happen when showing a specific usercontrol, but it is fairly large to show. No crashes on 3.0.3. I was so excited to get 3.0.4 - four of my issues were resolved in it! |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
Crash_2020-08-04_091440632.zip (422,075 bytes) 2020-08-04 11:22 https://www.noesisengine.com/bugs/file_download.php?file_id=1284&type=bug Crash_2020-08-10_140244225.rar (322,698 bytes) 2020-08-10 16:05 https://www.noesisengine.com/bugs/file_download.php?file_id=1287&type=bug |
||||
Notes | |
(0006552)
jsantos 2020-08-05 11:18 |
I am so sorry about this :( Let's see if we can release a new version next week. Thanks for the dump! |
(0006555)
asusralis 2020-08-06 08:39 |
No problem, thanks for the help :D |
(0006558)
sfernandez 2020-08-10 12:24 |
The crash is related with the new Grid SharedSizeGroup feature, are you using it in that particular UserControl? Is there any chance you can attach the xaml so I can try to reproduce it myself to find the source of the problem? |
(0006559)
asusralis 2020-08-10 12:43 (Last edited: 2020-08-10 12:54) |
Oh, I actually am. I tried using it ages ago but found it wasn't implemented in Noesis, so it stayed dormant. Removing those does stop it from crashing, but I can send you the xaml either way. I also found I'm also getting a separate error, so I'll make a new issue for that. edit: the error was actually from a fix that came with 3.0.4 about a property now properly becoming read-only, so it isn't an issue. |
(0006561)
sfernandez 2020-08-10 13:34 |
Thanks for the xaml, unfortunately I can't make it crash here. I generated a debug version of our library with some asserts that could help me idenitfy the problem. https://drive.google.com/file/d/1ALKTKOZqkd5LGm3n-oq_Da4nVTJ54Yri Could you please try to use that library in your project with the UserControl that produces the crash? |
(0006562)
asusralis 2020-08-10 16:05 |
Does this work? |
(0006563)
sfernandez 2020-08-10 17:02 |
Yes, that was helpful, I was able to reproduce the bug. We'll fix it for next release. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1771 | [NoesisGUI] Unity3D | major | always | 2020-08-04 18:52 | 2020-08-10 17:36 |
Reporter: | real_mikhail | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.2 | ||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.5 | ||
Target Version: | 3.0.5 | ||||
Platform: | Any | ||||
Summary: | Noesis doesn't allow to use "custom UserControl" in xaml | ||||
Description: |
Currently for each UI's code behind I have following code: ``` #if UNITY_5_3_OR_NEWER #define NOESIS using Noesis; #else using System.Windows.Controls; #endif public partial class Testing : UserControl { public Testing() { InitializeComponent(); } #if NOESIS private void InitializeComponent() { Noesis.GUI.LoadComponent(this, "Assets/Root/UI/Testing.xaml"); } #endif } ``` I wanted to avoid that, and for that I've created my custom UserControl class: ``` #if UNITY_5_3_OR_NEWER #define NOESIS #endif namespace Alchemy.UI.Misc { public class UserControl : #if NOESIS Noesis.UserControl #else System.Windows.Controls.UserControl #endif { #if NOESIS protected void InitializeComponent() { var filepath = $"Assets/Root/UI/{GetType().Name}.xaml"; Noesis.GUI.LoadComponent(this, filepath); } #endif } } ``` And this way I don't have to use #if directives in my UIs. Xaml in that case looks following: ``` <misc:UserControl x:Class="Alchemy.UI.Testing" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:local="clr-namespace:Alchemy.UI" xmlns:misc="clr-namespace:Alchemy.UI.Misc" mc:Ignorable="d" d:DesignHeight="1080" d:DesignWidth="1920" d:DataContext="{d:DesignInstance {x:Type local:TestingViewModel}}"> <Grid> </Grid> </misc:UserControl> ``` And that works perfectly in WPF (in blend solution). But in Unity (in Noesis) I'm getting following error: ``` [noesis] Assets/Root/UI/Testing.xaml(1): Unknown type 'Alchemy.UI.Misc.UserControl'. UnityEngine.Debug:LogError(Object) NoesisUnity:UnityLog(Int32, String) (at Assets/NoesisGUI/Plugins/NoesisUnity.cs:141) Noesis.GUI:Noesis_LoadXaml(String) Noesis.GUI:LoadXaml(String) (at Assets/NoesisGUI/Plugins/API/Core/NoesisGUI.cs:244) NoesisXaml:Load() (at Assets/NoesisGUI/Plugins/NoesisXaml.cs:30) NoesisPostprocessor:ImportXaml(String, Boolean, Boolean, Boolean&) (at Assets/NoesisGUI/Plugins/Editor/NoesisPostprocessor.cs:372) NoesisPostprocessor:ImportXaml(String, Boolean, Boolean) (at Assets/NoesisGUI/Plugins/Editor/NoesisPostprocessor.cs:299) NoesisPostprocessor:ImportAssets(String[], Boolean, UpdateProgress) (at Assets/NoesisGUI/Plugins/Editor/NoesisPostprocessor.cs:78) ``` |
||||
Tags: | xaml | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
CustomRoot.unitypackage (4,360 bytes) 2020-08-10 12:02 https://www.noesisengine.com/bugs/file_download.php?file_id=1286&type=bug |
||||
Notes | |
(0006557)
sfernandez 2020-08-10 12:02 |
Hello, I might be missing something because in the attached test I made it is working as expected (using NoesisGUI 3.0.4). Do you have anything different in your project? |
(0006564)
real_mikhail 2020-08-10 17:13 |
Hm... I cannot reproduce it anymore. Might be my bad - there was a compilation error in another script (ambiguous reference to UserControl) and because of that Noesis failed to process/import xaml with this custom UserControl. As soon as I fixed this C# error -- importing was successful. Sorry for troubles. |
(0006565)
sfernandez 2020-08-10 17:36 |
That makes sense, if assembly was not compiled the parser wouldn't be able to find your custom type and failed. Closing this. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1763 | [NoesisGUI] C++ SDK | crash | sometimes | 2020-07-29 17:45 | 2020-07-31 19:41 |
Reporter: | PNettleship | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0 | ||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.4 | ||
Target Version: | 3.0.4 | ||||
Platform: | Windows | ||||
Summary: | FormattedText::UnregisterBrush() Crash | ||||
Description: |
Applying a stroke to a TextBlock on a popup, using a binding on the colour can lead to a crash. This occurs when displaying the TextBlock multiple times, with a different colour. The value of StrokeColour would alternate between "Red" and "Yellow". noesis:Text.Stroke="{Binding StrokeColour}" noesis:Text.StrokeThickness="12" My application has an error popup that applies a different Foreground and Stroke to a TextBlock. The value of the Binding is based on the popup's context. Changing the colour of the stroke eventually causes a crash in FormattedText::UnregisterBrush(), as the brush being referenced is null. No null check is performed before checking if the brush is not frozen. |
||||
Tags: | C++, xaml | ||||
Steps To Reproduce: |
Setup a TextBlock to colour a stroke using a Binding. Display the TextBlock in something generic, like a popup. Change the value of the binding to change the colour of the stroke. Display the TextBlock again. After changing the colour of a stroke multiple times, the application will eventually crash in FormattedText::UnregisterBrush() |
||||
Additional Information: | |||||
Attached Files: |
StackTrace.txt (1,179 bytes) 2020-07-29 17:45 https://www.noesisengine.com/bugs/file_download.php?file_id=1281&type=bug StackTrace-2.txt (1,179 bytes) 2020-07-29 17:46 https://www.noesisengine.com/bugs/file_download.php?file_id=1282&type=bug |
||||
Notes | |
(0006547)
sfernandez 2020-07-30 10:43 |
Is it possible you are still using 3.0.2 or an older version? We fixed in 3.0.3 a problem in FormattedText::UnregisterBrushes() that could be the same you are experiencing. |
(0006548)
PNettleship 2020-07-30 16:48 |
Thanks for the response. I've just confirmed we're using version 3.0.0 We're going to look into integrating the changes made to FormattedText on 9th July 2020. And possibly upgrade to 3.0.3 in a suitable milestone. |
(0006550)
PNettleship 2020-07-31 14:46 |
We have integrated the changes made to FormattedText on 9th July 2020 in version 3.0.3 The crash no longer occurs. We'll look into fully integrating version 3.0.3, when it safe to do so. Thank you. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1500 | [NoesisGUI] C# SDK | feature | N/A | 2019-06-19 23:26 | 2020-07-31 17:56 |
Reporter: | stonstad | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.4 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.4 | ||
Target Version: | 3.0.4 | ||||
Platform: | Any | ||||
Summary: | TextBlock Character Spacing Extension | ||||
Description: |
This is a request for a TextBlock character spacing property via an extension. Custom character spacing is available in Unity's UI system but it cannot be done in Noesis today. https://docs.microsoft.com/en-us/uwp/api/windows.ui.xaml.controls.textblock.characterspacing Thanks, Shaun |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1593 | [NoesisGUI] C# SDK | minor | always | 2019-12-05 06:51 | 2020-07-31 13:21 |
Reporter: | Inuyasha12 | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.4 | ||
Target Version: | 3.0.4 | ||||
Platform: | Any | ||||
Summary: | Unity3D cannot use the mouse click control when displaying multiple screens | ||||
Description: |
When Unity is running on multiple screens, I can't hit the control with the mouse. Because Unity will display these screens as a whole when displaying multiple screens at the same time, your mouse coordinates are the coordinates in this large screen. |
||||
Tags: | Unity | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0006031)
jsantos 2019-12-05 13:30 |
A proposed patch can be found at https://www.noesisengine.com/forums/viewtopic.php?f=3&t=1865 |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1678 | [NoesisGUI] Unity3D | feature | always | 2020-05-01 21:46 | 2020-07-30 20:05 |
Reporter: | stonstad | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.4 | ||
Target Version: | 3.0.4 | ||||
Platform: | Any | ||||
Summary: | WebGL Build Produces Different XAML Colors | ||||
Description: |
In the Unity editor and x86 builds, XAML themes and colors behave as expected. However, for WebGL builds I am seeing red colors appear 'washed out'. Like a linear vs gamma color space issue, or something else. The red color is defined in a resource dictionary. There are no apparent errors accessing the resource dictionary or the associated color. Editor.png. This is how the color appears in the editor and x86 player builds. WebGL.png. This is how the color appears in WebGL builds. You can try it, here: https://customerselectunitysvcs.blob.core.windows.net/test/WebGL/index.html?projectid=f8ce5ffa-a2db-40d4-b4f5-deaea653353a&revision=22 |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
Editor.PNG (205,373 bytes) 2020-05-01 21:46 https://www.noesisengine.com/bugs/file_download.php?file_id=1225&type=bug WebGL.PNG (218,115 bytes) 2020-05-01 21:46 https://www.noesisengine.com/bugs/file_download.php?file_id=1226&type=bug |
||||
Notes | |
(0006313)
stonstad 2020-05-04 18:51 |
I've ruled out XAML not loading properly. This is a color issue. |
(0006314)
jsantos 2020-05-04 18:54 |
This is related to linear rendering. It is not implemented in OpenGL/WebGL. If you disable linear rendering in Unity it should work. |
(0006315)
stonstad 2020-05-04 19:05 |
According to Unity it is supported: https://blogs.unity3d.com/2017/07/17/linear-rendering-support-with-webgl-2-0/ Are you saying that Noesis does not support it? |
(0006316)
jsantos 2020-05-04 19:07 |
Yes, sorry, I was talking about Noesis. I will see if I can have this for final 3.0.0. If that's not possible it will be in 3.0.1 |
(0006327)
jsantos 2020-05-07 12:53 |
I am marking this as a feature and moving in to the 3.0 roadmap. |
(0006336)
stonstad 2020-05-08 16:23 |
Re: deprecation. They are continuing to make investments in WebGL. i.e. new features in 2020.1, 2020.2. |
(0006370)
stonstad 2020-05-18 17:33 |
Noesis licensee, MBI, has identified this as a critical issue because it prevents release of their product to the web. |
(0006371)
jsantos 2020-05-18 17:36 |
Thanks for the feedback! 3.0.0 is locked now but we will add this feature to 3.0.1 |
(0006486)
stonstad 2020-07-01 19:38 |
Just reaching out to see if there are any updates around this? We are unable to release to WebGL w/ Linear rendering, as Gamma changes color and post processing significantly. |
(0006496)
jsantos 2020-07-02 19:19 (Last edited: 2020-07-02 19:19) |
Hi! I have been working on this but it is taking more time than expected. If we can't finish this for 3.0.3 I will try to provide you a hotfix. Sorry for the inconvenience. |
(0006503)
stonstad 2020-07-06 16:35 |
Thank you -- much appreciated! |
(0006544)
jsantos 2020-07-28 22:27 |
We just committed a fix for this. A preview can be downloaded from here. It should be compatible with 3.0.3, but I haven't checked https://drive.google.com/file/d/16A9ZfXMoROggaF2_GcmkCIrFbkuLIwKG/view?usp=sharing |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1688 | [NoesisGUI] C# SDK | crash | always | 2020-05-19 03:25 | 2020-07-30 20:03 |
Reporter: | stonstad | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.4 | ||
Target Version: | 3.0.4 | ||||
Platform: | Any | ||||
Summary: | View.Noesis_View_Update() Hangs Built Player | ||||
Description: | In player builds, View.Update -> Noesis_View_Update(CPtr, timeInSeconds) enters an endless loop. It is consistent but random. The process runs but Unity stops updating because method Noesis_View_Update never returns. This is in a headless player process. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0006372)
stonstad 2020-05-19 03:54 (Last edited: 2020-05-19 17:49) |
Circling back for more detail. I launch a headless unity process to generate and save render target textures. The problem with the above method is that it works sometimes, but not all the time. Either it should fail completely or work completely -- and never get stuck in a blocking loop. This was very hard to identify because it only happens in compiled builds. |
(0006373)
jsantos 2020-05-19 10:43 |
This is definitely related to having Unity in headless mode. How are you configuring that? Let's see if we can detect this easily. |
(0006374)
jsantos 2020-05-19 11:30 |
I assume that checking against SystemInfo.graphicsDeviceID == 0 should be enough right? |
(0006375)
jsantos 2020-05-19 11:48 (Last edited: 2020-05-19 11:49) |
Please, try the following patchIndex: NoesisView.cs =================================================================== --- NoesisView.cs (revision 9298) +++ NoesisView.cs (working copy) @@ -840,9 +840,14 @@ private int _pendingUpdates = 0; #endif + bool IsHeadless() + { + return SystemInfo.graphicsDeviceType == GraphicsDeviceType.Null; + } + void LateUpdate() { - if (_uiView != null && _visible) + if (_uiView != null && _visible && !IsHeadless()) { #if UNITY_EDITOR |
(0006376)
stonstad 2020-05-19 17:42 |
I'm working to produce a reproduction project for you. Headless in this scenario does not mean no graphics card. Maybe my terminology is incorrect. Unity calls it 'batch' mode. Render targets are acquired and used but not displayed. I suspect a layout loop issue due to indeterminate size of containers within a XAML hierarchy. Everything works 98% of the time without a change in code -- but the remaining 2% is when something triggers Noesis_View_Update to hang. |
(0006377)
stonstad 2020-05-19 17:44 |
If I give you a player built in development mode -- which reproduces the behavior when clicked, is this sufficient? It would be about 150MB unzipped, which is easier than a source project. |
(0006380)
jsantos 2020-05-19 18:57 |
The problem is, Unity is not rendering and Noesis enqueues updates that need to be processed, if they are not processed Update waits and lock for ever if there no render happening. For now I don't need a project repro beacuse I am sure this is what's happening. I need to understand more about your 'headless' to setup. Do you need noesis components enabled in that mode? |
(0006381)
stonstad 2020-05-19 19:57 |
The graphics card is initialized and MonoBehaviour.Update() fires. Noesis components are instantiated and all component Awake, Start, and Update as expected. In this scenario, View.Noesis_View_Update() sometimes hangs, but not consistently. In other words, the application *can* render Noesis Views but sometimes a freeze occurs. <<Download Link in Private Note >> Reproduction steps: 1) Unzip to folder and click batchmode.bat 2) A pop-up shows to optionally connect a debugger. Connect a managed debugger or just click OK. 3) A number of PNG files will be generated in the folder. The quantity may vary depending on when the error occurs. 4) The process eventually hangs on View.Noesis_View_Update(). A note on restarting -- make sure that all MBI.CustomerSelect.Unity.PC.exe and Debug (title in task manager) processes are killed before each run. The log file generated in C:\Users\USER\AppData\LocalLow\Morton Buildings, Inc\ shows entry and exit statements for the aforementioned method. Log File shows 1) Device Creation: fxDevice: creating device client; threaded=0 Direct3D: Version: Direct3D 11.0 [level 11.1] Renderer: NVIDIA GeForce GTX 1650 (ID=0x1f91) and 2) Entry/Exit statements for Noesis_View_Update ENTER Noesis_View_Update 0.819999992847443 UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[]) UnityEngine.Logger:Log(LogType, Object) UnityEngine.Debug:Log(Object) Noesis.View:Update(Double) NoesisView:LateUpdate() (Filename: C:\buildslave\unity\build\Runtime/Export/Debug/Debug.bindings.h Line: 35) EXIT Noesis_View_Update 0.819999992847443 False UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[]) UnityEngine.Logger:Log(LogType, Object) UnityEngine.Debug:Log(Object) Noesis.View:Update(Double) NoesisView:LateUpdate() The last statement in the log file is always an ENTER statement. |
(0006427)
jsantos 2020-06-08 13:57 |
So in this 'headless' or 'batch' mode can't you disable Noesis component? As far as I understand you are not rendering anything... |
(0006441)
stonstad 2020-06-16 23:54 |
It is possible. I render a UI overlay to display a compass. The problem that I see here is that the behavior is inconsistent. It works as expected until it doesn't -- but why? |
(0006448)
stonstad 2020-06-23 23:07 |
I came across this logic that was recently added, re: pendingUpdates. I'm wondering if this behavior might be fixed now? |
(0006470)
jsantos 2020-06-29 18:33 |
In '-batchmode', Unity, sometimes does not execute render commands. I do not understand why. I think a workaround would be enabling 'manual' rendering of noesis, for scenarios like this, where you need to manually invoke 'render' in the component. What do you think? |
(0006474)
stonstad 2020-06-29 20:20 |
Sure -- I'd be happy to do this. Which method should I manually call to avoid the freeze scenario? |
(0006497)
jsantos 2020-07-02 19:28 (Last edited: 2020-07-02 19:28) |
There is no method for that right now, I am working on a way to expose that in the API. Meanwhile, could you please try the following patch (it is similar to the one already posted above but I want to make sure it doesn't work) Index: NoesisView.cs =================================================================== --- NoesisView.cs (revision 9298) +++ NoesisView.cs (working copy) @@ -840,9 +840,14 @@ private int _pendingUpdates = 0; #endif + bool IsHeadless() + { + return Application.isBatchMode; + } + void LateUpdate() { - if (_uiView != null && _visible) + if (_uiView != null && _visible && !IsHeadless()) { #if UNITY_EDITOR |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1750 | [NoesisGUI] C++ SDK | crash | random | 2020-07-07 13:45 | 2020-07-30 20:01 |
Reporter: | Ext3h | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.4 | ||
Target Version: | 3.0.4 | ||||
Platform: | Windows | ||||
Summary: | Random crash in complex scenes | ||||
Description: |
Nested ItemsControl (StackPanel, not virtualized, vertical then horizontal), rendering a total of 200 times 45 buttons. Depending on the complexity of the templates, actual numbers may need to be increased. Expected behavior: It's slow to compute the layout. Actual behavior: It's slow to compute the layout, followed by various callstacks ending up with a write access violation in these top 3 frames: vcruntime140.dll!memcpy() Line 243 Noesis.dll!Noesis::DragDrop::GetClassType() + 4657 bytes Noesis.dll!00007ffda806bce4() ... IView::Update() The cause is not entirely clear, but it appears to happen whenever scene complexity approaches ~30k allocations. The system is still far from going out-of-memory (just 200MB used reported by Noesis itself), and it doesn't appear to be dependent on effective render resolution either. Attached is a minidump for one of the crahes. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
complex.dmp (89,650 bytes) 2020-07-07 13:45 https://www.noesisengine.com/bugs/file_download.php?file_id=1277&type=bug |
||||
Notes | |
(0006533)
jsantos 2020-07-13 13:35 |
Thanks for this, the dump contains all the information we need. There is an internal overflow in our command queue. |
(0006549)
jsantos 2020-07-30 20:01 |
Thanks for the feedback! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1762 | [NoesisGUI] C++ SDK | minor | always | 2020-07-27 21:17 | 2020-07-27 21:20 |
Reporter: | asusralis | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.3 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.4 | ||
Target Version: | 3.0.4 | ||||
Platform: | Any | ||||
Summary: | Attributes with d: prefix not ignored if defined before mc:Ignorable attribute | ||||
Description: | As described in forum post: https://www.noesisengine.com/forums/viewtopic.php?f=3&t=2054 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1761 | [NoesisGUI] C++ SDK | major | always | 2020-07-27 09:59 | 2020-07-27 20:21 |
Reporter: | nikobarli | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.3 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.4 | ||
Target Version: | 3.0.4 | ||||
Platform: | Any | ||||
Summary: | Compile error due to 'double' to 'float' conversion in VS2019 | ||||
Description: |
I am not sure if it happens in VS2015, but when building r9469 from branch 3.0 with VS2019, there are several build errors inside OcculusVR project. The errors are due to 'double' to 'float' conversion. I attached a patch that fixes the errors in my environment. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
Double2Float.patch (2,083 bytes) 2020-07-27 09:59 https://www.noesisengine.com/bugs/file_download.php?file_id=1280&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1754 | [NoesisGUI] C# SDK | major | always | 2020-07-10 11:54 | 2020-07-24 18:37 |
Reporter: | ck_russ | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.0.2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1 | ||||
Platform: | Any | ||||
Summary: | Databindings within triggers in a template element not functioning | ||||
Description: |
Forum description here: https://www.noesisengine.com/forums/viewtopic.php?p=11423 XamlToy ready example of issue (databinding to blue fails): <Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <ContentControl> <ContentControl.Content> <Color>#ff0000ff</Color> </ContentControl.Content> <ContentControl.ContentTemplate> <DataTemplate> <Grid> <Rectangle Name="SomeRect" Width="200" Height="200" Fill="Pink"> <Rectangle.Triggers> <EventTrigger RoutedEvent="Rectangle.Loaded"> <EventTrigger.Actions> <BeginStoryboard> <Storyboard> <ColorAnimation Duration="0:0:5" From="Green" To="{Binding}" AutoReverse="True" RepeatBehavior="Forever" Storyboard.TargetProperty="(Shape.Fill).(SolidColorBrush.Color)" Storyboard.TargetName="SomeRect"> </ColorAnimation> </Storyboard> </BeginStoryboard> </EventTrigger.Actions> </EventTrigger> </Rectangle.Triggers> </Rectangle> </Grid> </DataTemplate> </ContentControl.ContentTemplate> </ContentControl> </Grid> |
||||
Tags: | xaml | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1759 | [NoesisGUI] Unity3D | minor | always | 2020-07-24 17:16 | 2020-07-24 18:36 |
Reporter: | asusralis | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.3 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.4 | ||
Target Version: | 3.0.4 | ||||
Platform: | Any | ||||
Summary: | Template resources defined in visual tree are incorrectly being shared | ||||
Description: |
When defining resources inside a Template as part of visual tree, those resources should be different instances for each control instance as it happens in WPF: From forum topic: https://www.noesisengine.com/forums/viewtopic.php?f=3&t=2057 |
||||
Tags: | |||||
Steps To Reproduce: |
<Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <Grid.Resources> <ControlTemplate x:Key="btnTemplate" TargetType="Button"> <Grid> <Grid.Resources> <SolidColorBrush x:Key="bgBrush" Color="{Binding Background.Color, RelativeSource={RelativeSource TemplatedParent}}"/> </Grid.Resources> <Border Background="{StaticResource bgBrush}" BorderBrush="Black" BorderThickness="1"/> </Grid> </ControlTemplate> </Grid.Resources> <StackPanel HorizontalAlignment="Center" VerticalAlignment="Center"> <Button Template="{StaticResource btnTemplate}" Background="Red" Width="200" Height="50"/> <Button Template="{StaticResource btnTemplate}" Background="Green" Width="200" Height="50" Margin="0,2"/> <Button Template="{StaticResource btnTemplate}" Background="Blue" Width="200" Height="50"/> </StackPanel> </Grid> |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1758 | [NoesisGUI] C++ SDK | minor | always | 2020-07-20 18:16 | 2020-07-20 18:18 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.3 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.4 | ||
Target Version: | 3.0.4 | ||||
Platform: | Any | ||||
Summary: | Can't set Row/Column of items within an ItemsControl with Grid items host | ||||
Description: | As described here: https://www.noesisengine.com/forums/viewtopic.php?f=3&t=2051 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1757 | [NoesisGUI] C++ SDK | minor | always | 2020-07-19 16:20 | 2020-07-20 13:55 |
Reporter: | asusralis | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.3 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.4 | ||
Target Version: | 3.0.4 | ||||
Platform: | Any | ||||
Summary: | HorizontalOffset/VerticalOffset to move ToolTip does not work. | ||||
Description: |
https://www.noesisengine.com/forums/viewtopic.php?f=3&t=2049 Remark also that PlacementTarget property should be updated to the ToolTip (ContextMenu) owner when popup opens. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1479 | [NoesisGUI] C++ SDK | feature | always | 2019-05-30 10:56 | 2020-07-16 12:33 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 2.2.2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Define MenuItem role resource keys and use them in default style | ||||
Description: |
WPF defines a set of resource keys to be used for the template definition of the different MenuItem roles: - <ControlTemplate x:Key="{x:Static MenuItem.TopLevelHeaderTemplateKey}" TargetType="MenuItem"> - <ControlTemplate x:Key="{x:Static MenuItem.TopLevelItemTemplateKey}" TargetType="MenuItem"> - <ControlTemplate x:Key="{x:Static MenuItem.SubmenuHeaderTemplateKey}" TargetType="MenuItem"> - <ControlTemplate x:Key="{x:Static MenuItem.SubmenuItemTemplateKey}" TargetType="MenuItem"> So they can be used in MenuItem style definition and allow restyling several roles of MenuItem without having to restyle all of the control: <Style TargetType="{x:Type MenuItem}"> <Setter Property="HorizontalContentAlignment" Value="{Binding HorizontalContentAlignment, RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}"/> <Setter Property="VerticalContentAlignment" Value="{Binding VerticalContentAlignment, RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}"/> <Setter Property="Background" Value="Transparent"/> <Setter Property="BorderBrush" Value="Transparent"/> <Setter Property="BorderThickness" Value="1"/> <Setter Property="ScrollViewer.PanningMode" Value="Both"/> <Setter Property="Template" Value="{DynamicResource {x:Static MenuItem.SubmenuItemTemplateKey}}"/> <Style.Triggers> <Trigger Property="Role" Value="TopLevelHeader"> <Setter Property="Background" Value="Transparent"/> <Setter Property="BorderBrush" Value="Transparent"/> <Setter Property="Foreground" Value="{StaticResource Menu.Static.Foreground}"/> <Setter Property="Template" Value="{DynamicResource {x:Static MenuItem.TopLevelHeaderTemplateKey}}"/> <Setter Property="Padding" Value="6,0"/> </Trigger> <Trigger Property="Role" Value="TopLevelItem"> <Setter Property="Background" Value="{StaticResource Menu.Static.Background}"/> <Setter Property="BorderBrush" Value="{StaticResource Menu.Static.Border}"/> <Setter Property="Foreground" Value="{StaticResource Menu.Static.Foreground}"/> <Setter Property="Template" Value="{x:Static MenuItem.TopLevelItemTemplateKey}}"/> <Setter Property="Padding" Value="6,0"/> </Trigger> <Trigger Property="Role" Value="SubmenuHeader"> <Setter Property="Template" Value="{DynamicResource {x:Static MenuItem.SubmenuHeaderTemplateKey}}"/> </Trigger> </Style.Triggers> </Style> |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1552 | [NoesisGUI] C# SDK | major | always | 2019-09-09 14:16 | 2020-07-16 11:50 |
Reporter: | lupod | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.3 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.4 | ||
Target Version: | 3.0.4 | ||||
Platform: | Windows | ||||
Summary: | Sharing column or row sizes between grids with BaseDefinition.ShareSizeGroup does not work. | ||||
Description: |
Columns (or rows) in different grids can sync their sizes using the ShareSizeGroup attribute. This requires the Grid.IsSharedSizeScope property on any ancestor to be set to true. An example where this is useful (and actually quite critical) is displaying items with multiple columns in an ItemsControl. This could be a list of key value pairs where we want all the values aligned in a common column. We cannot use one common grid for all items because the templates for the ItemsPanel and the Items itself are defined separately. The ShareSizeGroup attribute has no effect and the official example, which works in Blend, does not work in Noesis (see below). The feature is described in this article from the .NET docs: https://docs.microsoft.com/en-us/dotnet/framework/wpf/controls/how-to-share-sizing-properties-between-grids |
||||
Tags: | C#, Unity, xaml | ||||
Steps To Reproduce: |
Try the example from the .NET docs, it does not work: (https://docs.microsoft.com/en-us/dotnet/framework/wpf/controls/how-to-share-sizing-properties-between-grids) Here is a simplified version of the code sample from the link above, but with the (in Noesis unsupported) Grid.ShowGridLines removed. And I removed the toggling logic. This code does work flawlessly in Blend (design and runtime) but the same code does not work in Noesis for Unity. Expected Result: The columns and row of the right grid should be resized to the corresponding sizes in the left grid. Actual Result: No size sharing is happening when running in unity. <DockPanel Name="dp1" Grid.IsSharedSizeScope="True" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="10"> <StackPanel Orientation="Horizontal" DockPanel.Dock="Top"> <Grid Margin="0,0,10,0"> <Grid.ColumnDefinitions> <ColumnDefinition SharedSizeGroup="FirstColumn"/> <ColumnDefinition SharedSizeGroup="SecondColumn"/> </Grid.ColumnDefinitions> <Grid.RowDefinitions> <RowDefinition Height="Auto" SharedSizeGroup="FirstRow"/> </Grid.RowDefinitions> <Rectangle Fill="Silver" Grid.Column="0" Grid.Row="0" Width="200" Height="100"/> <Rectangle Fill="Blue" Grid.Column="1" Grid.Row="0" Width="150" Height="100"/> <TextBlock Grid.Column="0" Grid.Row="0" FontWeight="Bold">First Column</TextBlock> <TextBlock Grid.Column="1" Grid.Row="0" FontWeight="Bold">Second Column</TextBlock> </Grid> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition SharedSizeGroup="FirstColumn"/> <ColumnDefinition SharedSizeGroup="SecondColumn"/> </Grid.ColumnDefinitions> <Grid.RowDefinitions> <RowDefinition Height="Auto" SharedSizeGroup="FirstRow"/> </Grid.RowDefinitions> <Rectangle Fill="Silver" Grid.Column="0" Grid.Row="0"/> <Rectangle Fill="Blue" Grid.Column="1" Grid.Row="0"/> <TextBlock Grid.Column="0" Grid.Row="0" FontWeight="Bold">First Column</TextBlock> <TextBlock Grid.Column="1" Grid.Row="0" FontWeight="Bold">Second Column</TextBlock> </Grid> </StackPanel> </DockPanel> |
||||
Additional Information: | |||||
Attached Files: |
expected.png (3,379 bytes) 2019-09-09 14:16 https://www.noesisengine.com/bugs/file_download.php?file_id=1105&type=bug actual.png (3,603 bytes) 2019-09-09 14:16 https://www.noesisengine.com/bugs/file_download.php?file_id=1106&type=bug Screenshot at 07-41-02.png (869,286 bytes) 2020-07-14 05:45 https://www.noesisengine.com/bugs/file_download.php?file_id=1279&type=bug |
||||
Notes | |
(0005957)
jsantos 2019-09-09 20:49 |
Thanks for the awesome report! |
(0006439)
ai_enabled 2020-06-15 10:18 |
@jsantos, hello! I wonder if you can consider including this in 3.0.3? |
(0006443)
sfernandez 2020-06-18 13:12 |
Ok, we will study this feature and see if we can include it in the next version. |
(0006537)
ai_enabled 2020-07-14 05:45 |
I've implemented a hacky version of this feature with the attached property. It's a nightmare ha-ha! :-) I wish to see a proper support of this feature in NoesisGUI but now I know how much pain it is to do something like this. :-) By the way, I've attached a screenshot to demonstrate where this feature is useful in our case. All the columns are properly aligned but in fact, this is a composition of several independent grids. Different weapons have different sets of stats that are defined in different XAML files with a ton of visibility binding and conditions... Regards! |
(0006538)
sfernandez 2020-07-16 11:50 |
We didn't have time to include it in 3.0.3 but it is finally finished for our next release. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1460 | [NoesisGUI] C# SDK | minor | always | 2019-05-04 19:43 | 2020-07-14 01:29 |
Reporter: | ai_enabled | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.3 | ||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Line height support for TextBox | ||||
Description: |
Hi guys, there is a known workaround to enable line height for TextBox. Alas, it doesn't work with NoesisGUI https://social.msdn.microsoft.com/Forums/vstudio/en-US/563a8558-fe84-486d-8f40-9a5494884f25/controlling-lineheight-for-textboxes?forum=wpf Please let me know if there is any other workaround or you could make it work in the future versions. Regards! |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0005662)
sfernandez 2019-05-06 10:41 |
I verified that LineHeight property is applied to the TextBox, but I see that the caret (and selection) is also affected by that property and that is not correct, we will fix it. |
(0005663)
ai_enabled 2019-05-06 17:17 |
Hmm, I cannot make it work in 2.2.2... still the same line height. I'm using this style: <Style x:Key="ChatTextBoxStyle" TargetType="{x:Type TextBox}"> <Setter Property="OverridesDefaultStyle" Value="True" /> <Setter Property="Height" Value="Auto" /> <Setter Property="Padding" Value="2,0,2,3" /> <Setter Property="FontFamily" Value="{StaticResource DefaultFontFamily}" /> <Setter Property="FontWeight" Value="Normal" /> <Setter Property="FontSize" Value="12.5" /> <Setter Property="TextBlock.LineHeight" Value="13" /> <Setter Property="TextBlock.LineStackingStrategy" Value="BlockLineHeight" /> <Setter Property="AcceptsReturn" Value="False" /> <Setter Property="AcceptsTab" Value="True" /> <Setter Property="TextWrapping" Value="Wrap" /> <Setter Property="BorderThickness" Value="0" /> <Setter Property="Foreground" Value="{StaticResource ChatBrushFromCurrentPlayer}" /> <Setter Property="Background" Value="{StaticResource ChatEntryBackground}" /> <Setter Property="Margin" Value="0" /> <Setter Property="SelectionBrush" Value="{StaticResource BrushColor7}" /> <Setter Property="CaretBrush" Value="{StaticResource BrushColor7}" /> <Setter Property="SelectionOpacity" Value="0.5" /> <Setter Property="ContextMenu"> <Setter.Value> <!-- No context menu --> <ContextMenu IsEnabled="False" /> </Setter.Value> </Setter> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type TextBox}"> <StackPanel Orientation="Vertical" Background="{TemplateBinding Background}"> <Control Style="{StaticResource ControlHorizontalSeparator}" Height="4" Margin="0" VerticalAlignment="Center" /> <Border BorderThickness="{TemplateBinding BorderThickness}" BorderBrush="{TemplateBinding BorderBrush}" Padding="{TemplateBinding Padding}"> <ScrollViewer Margin="0" x:Name="PART_ContentHost" /> </Border> </StackPanel> </ControlTemplate> </Setter.Value> </Setter> </Style> |
(0005665)
sfernandez 2019-05-08 13:26 |
I found that LineStackingStrategy property was not inherited, so that setter didn't work. That made setting a line height smaller than the default one didn't affect the effective height of the line. It worked for bigger LineHeight values like 40, though. Anyway, I fixed the inheritance problem in LineStackingStrategy and line height will work fine in next release. |
(0005666)
ai_enabled 2019-05-08 15:20 |
Awesome! Thank you, Sergio! Regards! |
(0005757)
ai_enabled 2019-06-21 14:01 |
Fixed in 2.2.3, thanks! Please close this ticket. |
(0006536)
ai_enabled 2020-07-14 01:20 |
Please close this ticket :-) |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1738 | [NoesisGUI] C# SDK | minor | always | 2020-06-26 20:02 | 2020-07-13 13:58 |
Reporter: | ai_enabled | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.1 | ||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.4 | ||
Target Version: | 3.0.4 | ||||
Platform: | Any | ||||
Summary: | Path Stroke rendering issue | ||||
Description: |
Hi guys, please see the attached picture and the XamlToy code below. Regards! |
||||
Tags: | |||||
Steps To Reproduce: |
XamlToy code:<Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <Path Data="M 4.8403662,3.183192 V 2.2637157 C 4.8403662,1.0156578 3.8251687,0 2.5766505,0 1.3285926,0 0.3129349,1.0156578 0.3129349,2.2637157 V 3.183192 C 0.1343779,3.220468 0,3.3792365 0,3.568378 v 3.4459653 c 0,0.217214 0.1767161,0.39347 0.3939298,0.39347 h 4.3649813 c 0.2172136,0 0.3939298,-0.176717 0.3939298,-0.39347 V 3.568378 c 0,-0.1891415 -0.1343779,-0.3479099 -0.3129349,-0.385186 M 4.0525066,3.1749084 H 1.1003342 V 2.2637157 c 0,-0.8140909 0.6622255,-1.4758561 1.4758561,-1.4758561 0.8140909,0 1.4758561,0.6622254 1.4758561,1.4758561 z" Width="960" Height="960" Stretch="Uniform" Fill="#AABB2222" Stroke="#88000000" StrokeThickness="40" /> </Grid> |
||||
Additional Information: | |||||
Attached Files: |
Screenshot at 22-00-28.png (283,490 bytes) 2020-06-26 20:02 https://www.noesisengine.com/bugs/file_download.php?file_id=1265&type=bug path.png (34,935 bytes) 2020-07-13 13:42 https://www.noesisengine.com/bugs/file_download.php?file_id=1278&type=bug |
||||
Notes | |
(0006465)
jsantos 2020-06-26 20:05 |
Thanks for the isolated xaml! :) |
(0006534)
sfernandez 2020-07-13 13:41 |
It turns out that WPF (kaxaml) also renders that glitch in the path, it doesn't seem a bug in Noesis (see attached image). |
(0006535)
ai_enabled 2020-07-13 13:45 |
Thank you, Sergio! The issue is with the SVG, I see now. Please close this ticket. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1753 | [NoesisGUI] C++ SDK | major | random | 2020-07-09 17:33 | 2020-07-13 13:25 |
Reporter: | steveh | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.3 | ||
Target Version: | 3.0.3 | ||||
Platform: | XboxOne | ||||
Summary: | Assert in GlyphCache::GetGlyph | ||||
Description: |
Hi guys, we're seeing a rare assert only on Xbox and fairly infrequent. It seems to be going down in GlyphCache::GetGlyph when inserting a new glyph into the hash set: return (Glyph*)&*mCache.Insert(MoveArg(glyph)).first; I don't have a dump to go on, I only have logs / callstack. I'm in the process of adding some additional logging to try and trap this. So the assert ultimately comes from the hash map insert: HashMapImpl<Bucket>::InsertIntoBucket It's going down on the last assert: NS_ASSERT(!bucket->IsEmpty()); So, it has a valid bucket, it's tried to insert the entry, but it still thinks the bucket is empty. It looks like the GlyphCache uses a custom key info struct: struct GlyphKeyInfo { static bool IsEmpty(const Glyph& k) { return k.x == 0xffff; } static void MarkEmpty(Glyph& k) { k.x = 0xffff; } // ... } So it thinks the bucket is empty if the "x" property of the Glyph element is 0xffff. So I went back to the function and there's a few things I noticed. First, there's some macros in the CPP at the top: #define MARK_GLYPH_EMPTY(g) ((g)->width = 0xffff) #define IS_GLYPH_EMPTY(g) ((g)->width == 0xffff) #define MARK_GLYPH_UNLOADED(g) ((g)->width = 0xffff - 1) #define IS_GLYPH_UNLOADED(g) ((g)->width == 0xffff - 1) These macros use the width property. Neither of these affect the x property at all. Then going back to the original function GetGlyph: On line 497 it constructs a new glyph on the stack, at this point all properties are uninitialised. If it's a free type font, I don't see where the x / y properties of the glyph will be initialised, it looks like it only ever initialises the layers array in the glyph, would this just not randomly assert depending on the memory of the x / y properties which is undefined behaviour? In the GlyphCache::RenderSDF, it looks like it will only ever initialise the x / y values of the glyph if there are some contours of the outline, otherwise it'll call MARK_GLYPH_EMPTY(..) which will initialise the width, but not the x parameter. Again, isn't this undefined behaviour? This potential undefined behaviour certainly seems to line up with what we're seeing with fairly rare random asserts. Is the GlyphKeyInfo supposed to read from the width property instead of the x property? |
||||
Tags: | |||||
Steps To Reproduce: |
1. Render text 2. Rarely, the game will assert when trying to build the glyph cache for the font |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0006528)
jsantos 2020-07-09 18:11 |
Hi Steve, thanks for reporting this. Another client already reported a similar thing and I am working on it. For now, I don't need more information or dumps because I think I understand what's happening. Will provide a fix ASAP. |
(0006529)
jsantos 2020-07-09 18:12 |
And, as always, thanks for the detailed report. There are many useful things there that will help me. |
(0006530)
jsantos 2020-07-10 12:18 (Last edited: 2020-07-10 18:41) |
Hi Steve, effectively there is a bug in the code, in some cases the x property is not properly initialized and we are using the special value 0xffff to mark empty buckets in the hashmap (unfortunately we are using the term empty here to mean two things, an empty bucket and a glyph without outlines, we should improve this to avoid confusion but for now I am not changing it). Could you please try the following patch? Index: GlyphCache.cpp =================================================================== --- GlyphCache.cpp (revision 9396) +++ GlyphCache.cpp (working copy) @@ -32,10 +32,10 @@ #define TILE_SIZE 512 -#define MARK_GLYPH_EMPTY(g) ((g)->width = 0xffff) +#define MARK_GLYPH_EMPTY(g) (g)->x = 0; (g)->width = 0xffff #define IS_GLYPH_EMPTY(g) ((g)->width == 0xffff) -#define MARK_GLYPH_UNLOADED(g) ((g)->width = 0xffff - 1) +#define MARK_GLYPH_UNLOADED(g) (g)->x = 0; (g)->width = 0xffff - 1 #define IS_GLYPH_UNLOADED(g) ((g)->width == 0xffff - 1) #ifdef NS_PROFILE |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1755 | [NoesisGUI] C# SDK | minor | always | 2020-07-10 12:42 | 2020-07-10 16:27 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.3 | ||
Target Version: | 3.0.3 | ||||
Platform: | Any | ||||
Summary: | Interactivity TargetedTriggerActions not executing sometimes | ||||
Description: |
The following xaml demonstrates the issue:<Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity" xmlns:ei="http://schemas.microsoft.com/expression/2010/interactions"> <Grid.Resources> <SolidColorBrush x:Key="greenBrush" Color="#FF0A9F26" /> <SolidColorBrush x:Key="purpleBrush" Color="#FF8E0795"/> <SolidColorBrush x:Key="orangeBrush" Color="#FF913B00" /> <ControlTemplate x:Key="temp" TargetType="ContentControl"> <Canvas Width="200" Height="100"> <i:Interaction.Triggers> <ei:DataTrigger Binding="{Binding Offset}" Value="1"> <ei:ChangePropertyAction TargetName="bd" PropertyName="Background" Value="{StaticResource purpleBrush}"/> </ei:DataTrigger> <ei:DataTrigger Binding="{Binding Offset}" Value="2"> <ei:ChangePropertyAction TargetName="bd" PropertyName="Background" Value="{StaticResource orangeBrush}"/> </ei:DataTrigger> </i:Interaction.Triggers> <Border Name="bd" Background="{StaticResource greenBrush}" Padding="20,10"> <TextBlock Text="{Binding Color, FallbackValue=#FF0A9F26}" FontSize="32"/> </Border> </Canvas> </ControlTemplate> <GradientStop x:Key="ctx1" Offset="1" Color="#FF8E0795"/> <GradientStop x:Key="ctx2" Offset="2" Color="#FF913B00"/> </Grid.Resources> <StackPanel HorizontalAlignment="Center" VerticalAlignment="Center"> <ContentControl Template="{StaticResource temp}"/> <ContentControl Template="{StaticResource temp}" DataContext="{StaticResource ctx1}"/> <ContentControl Template="{StaticResource temp}" DataContext="{StaticResource ctx2}"/> </StackPanel> </Grid> |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1752 | [NoesisGUI] C++ SDK | feature | always | 2020-07-09 14:08 | 2020-07-09 14:08 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.0.2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.1 | ||||
Platform: | Any | ||||
Summary: | Can't assign property to abstract class 'Color' | ||||
Description: |
Specifying value types like Color as xaml nodes is not supported by Noesis xaml parser:<Rectangle> <Rectangle.Fill> <SolidColorBrush> <SolidColorBrush.Color> <Color A="255" R="255" G="0" B="0"/> </SolidColorBrush.Color> </SolidColorBrush> </Rectangle.Fill> </Rectangle> This produces error: "Can't assign property to abstract class 'Color'" |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1751 | [NoesisGUI] C# SDK | major | always | 2020-07-07 14:40 | 2020-07-09 13:54 |
Reporter: | ai_enabled | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.3 | ||
Target Version: | 3.0.3 | ||||
Platform: | Any | ||||
Summary: | TabControl selection issue | ||||
Description: |
Hi guys, I have an odd bug with TabControl that took me over 2 hours to investigate. It seems when I change the active tab by ANY way (e.g. tabControl.SelectedIndex, or SelectedItem, or through tabItem.IsSelected Binding), visually everything is changed as expected. However, the previously selected tab cannot be clicked. No effect until I manually click on any other tab to move the select, then I'm able to click on the previously selected tab. It seems there is something odd going on in the TabControl internal state. See the steps to reproduce. Regards! |
||||
Tags: | |||||
Steps To Reproduce: |
1. create tab control with two tabs 2. make that second tab is selected programmatically by some action 3. start application, select first tab. Perform action to select second tab. 4. try to select the first tab. Selection doesn't change! I guess TabControl internal state assumes that the first tab is still selected. A workaround is simple and 100% efficient—just reset the visual state of the tab control when its selected tab is changed: this.tabControl.Visibility = Visibility.Collapsed; this.tabControl.UpdateLayout(); this.tabControl.Visibility = Visibility.Visible; |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0006517)
sfernandez 2020-07-08 18:09 |
Maybe I'm missing something, but the tests I'm doing using bindings are working: https://www.noesisengine.com/xamltoy/e6d84aa593deb24eaf275bd77c38dc6b Anything different from your scenario in that test? |
(0006518)
ai_enabled 2020-07-08 18:13 (Last edited: 2020-07-08 18:16) |
I'm not sure if it's possible to reproduce this bug only with XAML. The issue involves programmatically (in C# codebehind) changing the selected tab (either via TabControl SelectedIndex or by TabControl SelectedItem, or by changing TabItem IsSelected property) as I've mentioned in the steps to reproduce. |
(0006519)
ai_enabled 2020-07-08 18:17 |
I can also reproduce the issue with MVVM data binding but I was able to isolate it to just C# codebehind code that changes SelectedIndex of the tab control. I've investigated whether it might be style/template-related but it seems to be not the case. |
(0006520)
sfernandez 2020-07-08 18:36 |
Do the tabs need to be generated from data to reproduce the issue, or can they be TabItems defined in the xaml? |
(0006522)
ai_enabled 2020-07-08 19:53 (Last edited: 2020-07-08 19:53) |
The TabItems are defined in XAML. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1749 | [NoesisGUI] Unity3D | crash | always | 2020-07-07 10:58 | 2020-07-09 11:15 |
Reporter: | jamieh | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.3 | ||
Target Version: | 3.0.3 | ||||
Platform: | Any | ||||
Summary: | Crash in View.Update after upgrading to 3.0 | ||||
Description: |
From forum post https://www.noesisengine.com/forums/viewtopic.php?f=3&t=2039 Crashes happen in Unity Editor and also on Android standalone: 2020/07/07 00:08:32.285 24130 24151 Error CRASH *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** 2020/07/07 00:08:32.285 24130 24151 Error CRASH Version '2019.3.15f1 (59ff3e03856d)', Build type 'Release', Scripting Backend 'mono', CPU 'armeabi-v7a' 2020/07/07 00:08:32.285 24130 24151 Error CRASH Build fingerprint: 'samsung/gta3xlwifixx/gta3xlwifi:9/PPR1.180610.011/T510XXS3ATB4:user/release-keys' 2020/07/07 00:08:32.285 24130 24151 Error CRASH Revision: '4' 2020/07/07 00:08:32.285 24130 24151 Error CRASH ABI: 'arm' 2020/07/07 00:08:32.285 24130 24151 Error CRASH Timestamp: 2020-07-07 00:08:32-0500 2020/07/07 00:08:32.285 24130 24151 Error CRASH pid: 24130, tid: 24151, name: UnityMain >>> com.DesignDepot.DynastyClient <<< 2020/07/07 00:08:32.285 24130 24151 Error CRASH uid: 10158 2020/07/07 00:08:32.285 24130 24151 Error CRASH signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x28 2020/07/07 00:08:32.285 24130 24151 Error CRASH Cause: null pointer dereference 2020/07/07 00:08:32.285 24130 24151 Error CRASH r0 bed8c780 r1 00000000 r2 00000000 r3 00000008 2020/07/07 00:08:32.285 24130 24151 Error CRASH r4 c4abd680 r5 bed8c720 r6 cf86e534 r7 cf86e560 2020/07/07 00:08:32.285 24130 24151 Error CRASH r8 00000000 r9 00000000 r10 c4abd680 r11 c1c97c40 2020/07/07 00:08:32.285 24130 24151 Error CRASH ip 00000007 sp cf86e530 lr c347ea7b pc c347ea7e 2020/07/07 00:08:32.285 24130 24151 Error CRASH 2020/07/07 00:08:32.285 24130 24151 Error CRASH backtrace: 2020/07/07 00:08:32.285 24130 24151 Error CRASH #00 pc 001d6a7e /data/app/com.DesignDepot.DynastyClient-B5R_FCxbfqD_oQWxROoGAA==/lib/arm/libNoesis.so 2020/07/07 00:08:32.285 24130 24151 Error CRASH 2020/07/07 00:08:32.285 24130 24151 Error CRASH managed backtrace: 2020/07/07 00:08:32.285 24130 24151 Error CRASH #00 (wrapper managed-to-native) Noesis.View:Noesis_View_Update (System.Runtime.InteropServices.HandleRef,double) 2020/07/07 00:08:32.286 24130 24151 Error CRASH #01 Noesis.View:Update (double) <0x57> 2020/07/07 00:08:32.286 24130 24151 Error CRASH #02 NoesisView:LateUpdate () <0xa7> 2020/07/07 00:08:32.286 24130 24151 Error CRASH #03 (wrapper runtime-invoke) object:runtime_invoke_void__this__ (object,intptr,intptr,intptr) 2020/07/07 00:08:33.006 24130 24151 Error CRASH Tombstone written to: /storage/emulated/0/Android/data/com.DesignDepot.DynastyClient/files/tombstone_01 0001/01/01 00:00:00.000 -1 -1 Info --------- beginning of crash 2020/07/07 00:08:33.008 24130 24151 Error AndroidRuntime FATAL EXCEPTION: UnityMain 2020/07/07 00:08:33.008 24130 24151 Error AndroidRuntime Process: com.DesignDepot.DynastyClient, PID: 24130 2020/07/07 00:08:33.008 24130 24151 Error AndroidRuntime java.lang.Error: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** 2020/07/07 00:08:33.008 24130 24151 Error AndroidRuntime Version '2019.3.15f1 (59ff3e03856d)', Build type 'Release', Scripting Backend 'mono', CPU 'armeabi-v7a' 2020/07/07 00:08:33.008 24130 24151 Error AndroidRuntime Build fingerprint: 'samsung/gta3xlwifixx/gta3xlwifi:9/PPR1.180610.011/T510XXS3ATB4:user/release-keys' 2020/07/07 00:08:33.008 24130 24151 Error AndroidRuntime Revision: '4' 2020/07/07 00:08:33.008 24130 24151 Error AndroidRuntime ABI: 'arm' 2020/07/07 00:08:33.008 24130 24151 Error AndroidRuntime Timestamp: 2020-07-07 00:08:32-0500 2020/07/07 00:08:33.008 24130 24151 Error AndroidRuntime pid: 24130, tid: 24151, name: UnityMain >>> com.DesignDepot.DynastyClient <<< 2020/07/07 00:08:33.008 24130 24151 Error AndroidRuntime uid: 10158 2020/07/07 00:08:33.008 24130 24151 Error AndroidRuntime signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x28 2020/07/07 00:08:33.008 24130 24151 Error AndroidRuntime Cause: null pointer dereference 2020/07/07 00:08:33.008 24130 24151 Error AndroidRuntime r0 bed8c780 r1 00000000 r2 00000000 r3 00000008 2020/07/07 00:08:33.008 24130 24151 Error AndroidRuntime r4 c4abd680 r5 bed8c720 r6 cf86e534 r7 cf86e560 2020/07/07 00:08:33.008 24130 24151 Error AndroidRuntime r8 00000000 r9 00000000 r10 c4abd680 r11 c1c97c40 2020/07/07 00:08:33.008 24130 24151 Error AndroidRuntime ip 00000007 sp cf86e530 lr c347ea7b pc c347ea7e 2020/07/07 00:08:33.008 24130 24151 Error AndroidRuntime 2020/07/07 00:08:33.008 24130 24151 Error AndroidRuntime backtrace: 2020/07/07 00:08:33.008 24130 24151 Error AndroidRuntime #00 pc 001d6a7e /data/app/com.DesignDepot.DynastyClient-B5R_FCxbfqD_oQWxROoGAA==/lib/arm/libNoesis.so 2020/07/07 00:08:33.008 24130 24151 Error AndroidRuntime 2020/07/07 00:08:33.008 24130 24151 Error AndroidRuntime managed backtrace: 2020/07/07 00:08:33.008 24130 24151 Error AndroidRuntime #00 (wrapper managed-to-native) Noesis.View:Noesis_View_Update (System.Runtime.InteropServices.HandleRef,double) 2020/07/07 00:08:33.008 24130 24151 Error AndroidRuntime #01 Noesis.View:Update (double) <0x57> 2020/07/07 00:08:33.008 24130 24151 Error AndroidRuntime #02 NoesisView:LateUpdate () <0xa7> 2020/07/07 00:08:33.008 24130 24151 Error AndroidRuntime #03 (wrapper runtime-invoke) object:runtime_invoke_void__this__ (object,intptr,intptr,intptr) 2020/07/07 00:08:33.008 24130 24151 Error AndroidRuntime 2020/07/07 00:08:33.008 24130 24151 Error AndroidRuntime at libNoesis.0x1d6a7e(Native Method) 2020/07/07 00:08:33.008 24130 24151 Error AndroidRuntime at Noesis.View.Noesis_View_Update (System.Runtime.InteropServices.HandleRef,double)(Native Method) 2020/07/07 00:08:33.008 24130 24151 Error AndroidRuntime at Noesis.View.Update (double)(0x57:87) 2020/07/07 00:08:33.008 24130 24151 Error AndroidRuntime at NoesisView.LateUpdate ()(0xa7:167) 2020/07/07 00:08:33.008 24130 24151 Error AndroidRuntime at System.Object.runtime_invoke_void__this__ (object,intptr,intptr,intptr)(Native Method) |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0006506)
sfernandez 2020-07-07 11:09 |
When Unity crashes it creates a crash report and shows a dialog to send it to Unity, there you can find where crash data is stored in your HD, usually at C:\Users\<username>\AppData\Local\Temp\Unity\Editor\Crashes. If that fails you can try to attach a Visual Studio instance to debug Unity (Debug > Attach to Process...). Then you can play the game in the editor and when it crashes it should stop in Visual Studio, allowing you to save a minidump (Debug > Save Dump As...). Anyway, I will try to get the crash information from the android callstack, which version were you using, 3.0.2? |
(0006512)
jamieh 2020-07-07 16:46 (Last edited: 2020-07-07 16:46) |
When I have VS attached, I don't get a break on the crash. I've tried to locate the Unity crash logs, but while I can find the unity stuff in both AppData/Local and AppData/LocalLow, I'm not seeing a crash log. I am using Noesis 3.0.2 and Unity 2019.3.15f1 The crash seems to happening in a consistent place (at the end of a "turn") so I may be able to do additional work to isolate exactly what is causing the issue. A lot of updates happen there, but I can try to isolate. |
(0006513)
sfernandez 2020-07-07 17:01 |
Ok, thanks for your collaboration. Just want to remark, Unity crashes are placed in AppData/Local/TEMP/Unity/Editor/Crashes, not in AppData/Local/Unity. And in VS you probably need to change Exception Settings under Debug > Windows > Exceptions Settings. You should toggle Win32 Exceptions, so VS break for all exceptions. |
(0006514)
jamieh 2020-07-08 01:39 |
I have not been able to find crash logs, but I did find a .dmp file if that is useful at all. https://1drv.ms/u/s!AjEAlWO9Yl9unMIrXdmrkMFJKixYRw?e=SWiUQY |
(0006515)
jamieh 2020-07-08 02:05 |
As far as I can tell, it is crashing right after updating a class that is being tracked via PropertyChanged and triggers a bunch of buttons to enable/disable and change text. Seems pretty harmless. I don't know that that is the cause of the crash, but that seems to be the last thing that happens before it. |
(0006516)
sfernandez 2020-07-08 11:23 |
Thanks for the dump, I think I have an idea on what could be happening. I generated a new library with the possible fix, could you please try it and let me know if it worked? https://drive.google.com/file/d/1wfiuIfIQr2P6_EW4IhzCW4qSYtKtXW3A |
(0006521)
jamieh 2020-07-08 18:47 |
I'm only seeing a pdb file in the zip. Was that intended? |
(0006523)
sfernandez 2020-07-08 21:14 |
Sorry, my bad, I uploaded the incorrect file :) Here your are: https://drive.google.com/file/d/1zusZQX4jFdJP_iGgtuV9KBZykdBTvdzh |
(0006524)
jamieh 2020-07-08 22:26 |
From just very quick testing, I'm not getting the crash in the editor, at least not nearly as fast as I was before. I couldn't go through more than about 1.5 innings before without hitting it, and I just went through 4 without a problem. I'm assuming your DLL will only fix Windows/Editor and the fix would need to be propagated to Android etc.? I tried firing up the Android build and I was still seeing the crash there. |
(0006525)
jamieh 2020-07-09 02:54 (Last edited: 2020-07-09 05:58) |
Yeah, I've played through an entire game now without a crash. Looks like that did fix the issue. |
(0006526)
sfernandez 2020-07-09 11:15 |
The library I shared before was only valid for windows, android would require a different one. The bug is now fixed for next release including all our supported platforms. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1132 | [NoesisGUI] C# SDK | minor | always | 2017-08-15 15:15 | 2020-07-07 16:39 |
Reporter: | ai_enabled | Platform: | PC | ||
Assigned To: | sfernandez | OS: | Windows | ||
Priority: | high | OS Version: | 10 x64 | ||
Status: | resolved | Product Version: | 2.0.2f2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.2 | ||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Selector.SelectedValue and Selector.SelectedValuePath | ||||
Description: |
Hi guys, I cannot get working a combobox with custom selected value path. I found that you wrote in 2014 http://www.noesisengine.com/forums/viewtopic.php?f=3&t=300#p1473 that these properties are not implemented. Is that still so or I'm missing something? Regards! |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
System Description | |||||
Attached Files: | |||||
Notes | |
(0004780)
sfernandez 2017-08-21 14:31 |
What is the problem you are seeing? I tried the following sample and it seems to work as expected: https://stackoverflow.com/questions/4902039/difference-between-selecteditem-selectedvalue-and-selectedvaluepath |
(0004801)
ai_enabled 2017-09-01 08:29 |
Hi Sergio, the problem is that the SelectedValue binding works only one way to source and not two way (I explicitly set it to be TwoWay). I.e. it cannot convert SelectedValue back to SelectedItem. It's simply not implemented or doesn't work. But on selecting item in combobox it indeed updates SelectedValue property, so the problem is only with the way SelectedValue->SelectedItem. For example, changing the property in my ViewModel (to which Combobox.SelectedValue is bound) doesn't change the selected item in control (and I'm sure I'm calling NotifyPropertyChanged for this property). Also, right after loading the ComboBox control displays nothing (i.e. no item is selected) when it should take the SelectedValue via databinding and select according item from the ItemsSource. Please let me know if you need a sample for that. |
(0004802)
sfernandez 2017-09-01 12:52 |
Ok, I understand now the problem. There is no need for the sample, I was able to reproduce it here, thanks. |
(0004896)
ai_enabled 2017-11-20 12:54 |
Hi guys, any updates regarding this issue? |
(0004897)
ai_enabled 2017-11-20 13:15 |
Ok, don't worry :-). I was able to workaround this by binding to SelectedItem and using a custom converter. 100% hack but works perfectly! Regards! |
(0004902)
sfernandez 2017-11-21 10:41 |
Sorry, we still didn't have this issue fixed. Hopefully you have a workaround. Anyway, we will try to solve it for the next release. |
(0005127)
ai_enabled 2018-03-14 09:21 |
Hi, I hope we will see the fix planned for the next patch release... It's a really painful bug as every time we need to use a workaround. |
(0005133)
sfernandez 2018-03-14 11:35 (Last edited: 2018-03-14 11:35) |
I increased priority to high and will fix it for the next minor release. |
(0006509)
ai_enabled 2020-07-07 14:09 |
Hi guys, I wonder if the issue is already fixed or maybe it's trivial to fix now. Thanks! |
(0006511)
sfernandez 2020-07-07 16:39 |
We fixed this for 3.0.2 version. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1708 | [NoesisGUI] Unity3D | minor | always | 2020-05-29 18:39 | 2020-07-07 16:38 |
Reporter: | samc | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.2 | ||
Target Version: | 3.0.2 | ||||
Platform: | Any | ||||
Summary: | ComboBox selection not updating when model changes | ||||
Description: |
As described in forums post: https://www.noesisengine.com/forums/viewtopic.php?f=3&t=1992 When using SelectedValue and SelectedValuePath, selection is not correctly updated. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1517 | [NoesisGUI] C# SDK | major | random | 2019-07-11 11:53 | 2020-07-07 16:36 |
Reporter: | ai_enabled | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.3 | ||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Random issue with typing and modifier keys | ||||
Description: |
Hi guys, probably this is my MonoGame wrapper's code issue only, however, I'm curious if you have similar reports from other devs. The issue is that sometimes modifier key (reproducible for Ctrl, not sure about the other keys) is stuck for NoesisGUI. The subsequent keypresses/chars are not typed into the textbox. And presses of keys A and V results in Ctrl+A and Ctrl+V which is obviously not great :-) The only workaround is to press the Ctrl key few times, the issue then disappears. Oh, and this issue is very-very old. If you have any ideas or suggestions how could I debug the issue — please let me know. Regards! |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0005839)
sfernandez 2019-07-11 12:36 |
Hi, Noesis only responds to the input provided by the integration layer, it doesn't interact with the operating system, so all the key downs and ups should be provided by the MonoGame wrapper. Could it be a problem that appears when you deactivate the window and come back? Or does it happen without changing the foreground window? Is there a way to easily reproduce it in your game that I can try? |
(0005882)
ai_enabled 2019-07-19 19:01 |
Alas, there is no easy way to reproduce it. I'm looking to find a way and yes, probably you're right as this might be affected by the integration layer. Though I've checked it several times. I will add extra logging to find out whether the modified key was actually sent as released to NoesisGUI or not, then I will know for sure whether it's wrapper or NoesisGUI issue. I believe it's related to the usage of Alt+Tab. Turns out the issue 0001503 ("Click on the currently selected listbox item will deselect it") is related to it. My Ctrl key for NoesisGUI was assumed to be held so every time I clicked on an entry in a list box it was deselected as NoesisGUI processed it as Ctrl+Click. Regards! |
(0006323)
ai_enabled 2020-05-06 22:45 |
Hi guys, the issue is bothering us and our players a lot. It's Ctrl key getting stuck sometimes. So pressing A key will perform Ctrl+A (select all). Pressing any other key after that will replace the selected text which is really frustrating. It's absolutely random. But happens very often to some players who are using the chat a lot. Pressing the Ctrl key several times usually resolves it. I've added logging to verify that the Ctrl key is definitely released when that issue happens—and it looks like the "key up" was sent to NoesisGUI properly by our wrapper. So I believe there is something wrong inside NoesisGUI... Do you have similar issues reported by other developers? Or other developers barely using in-game chat so this issue just has very little chance to occur there? Regards! |
(0006331)
sfernandez 2020-05-08 10:55 |
Reviewing our code I can only identify two scenarios where control key could be kept as pressed. - If the View receives a KeyDown for the LeftCtrl key, and a KeyUp for the RightCtrl key. As they are different phisycal keys, but both report Ctrl modifier as down, it could lead to the situation explained. - If KeyDown was sent to the View for LeftCtrl (or RightCtrl), then Alt+Tab or click in other application without calling Deactivate on the View, and come back to the game after releasing the Ctrl key. Is it possible that any of that is happening in your situation? Is this something I can try to reproduce with the latest game build you sent? Just typing in the chat box and pressing Ctrl sometimes? If you need it I can generate a debug library with some logs to determine when our internal key state gets out of sync. |
(0006341)
ai_enabled 2020-05-09 01:56 (Last edited: 2020-05-09 01:58) |
Hi Sergio, thank you for the message. I was mostly interested if you have any other developers complaining about this issue. It seems we're alone with it! :-) Didn't want to waste your time, sorry! I've prepared a special client build with extra logging and made it public in Steam (`patch-testing` branch). Selected players started using it. I've instructed them to press Alt+F4 as soon as they notice the Ctrl key getting stuck in any textbox (usually, chat, but also the game console). The log will contain info about the KeyDown/KeyUp events sent to NoesisGUI as well as the cases when the input is ignored (there are several cases related to IME processing; I've also noticed there was a workaround for old bug #1270 that is long-ago fixed so the workaround is no longer necessary!). I will let you know when I get more data from players. I hope it's an issue in my wrapper code after all! Anyway: 1) It's unlikely that players are using the Right Ctrl at all. I never use it and the issue still happened to me. 2) If the game window is not focused, the game recognizes this as "empty input" so if there was a key held before Alt-Tab, it's released immediately. This is a simple and effective solution. When the game window focused again the game reads the current input state and provides it to NoesisGUI key down events (if there are any keys pressed). To get current input state we're using this PInvoke call (through MonoGame Keyboard API): [DllImport("user32.dll")] private static extern bool GetKeyboardState(byte[] lpKeyState); Regards! |
(0006342)
sfernandez 2020-05-10 12:43 |
Sorry to say we don't have any other report about this issue, but it could still be a bug in our side. Let's see if we can get more information and find the source of the problem. I downloaded CryoFall demo from steam and switched to the patch-testing branch, but it seems no Data or Log folder is created. Maybe this only works for the full version of the game? |
(0006343)
ai_enabled 2020-05-10 13:03 |
The Steam version is using Documents/AtomicTorchStudio or %LocalAppDats%/AtomicTorchStudio folder for thr dynamic data. I don't get this issue reports for a day. It might have been that old workaround that caused wrapper to not send KeyUp sometimes. |
(0006346)
ai_enabled 2020-05-11 20:10 |
Hi Sergio, today we're pushing the new game build with an updated wrapper code (that doesn't contain the workaround for #1270 that stayed for too long and likely caused this key stuck issue before). If the issue is not reproducible by anyone after that we can consider it fixed. Regards! |
(0006508)
ai_enabled 2020-07-07 14:08 |
The issue is definitely fixed. It was a wrapper code issue after all. It was really important to carefully record all the key down events to ensure the key up events will be submitted to NoesisGUI for these keys no matter what :) Regards! |
(0006510)
sfernandez 2020-07-07 16:36 |
Thanks for the update, we're closing this then. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1745 | [NoesisGUI] C++ SDK | minor | always | 2020-07-02 10:17 | 2020-07-06 13:43 |
Reporter: | Ext3h | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.3 | ||
Target Version: | 3.0.3 | ||||
Platform: | Windows | ||||
Summary: | VirtualizingPanel.VirtualizationMode=Recycling breaks TextElement.FontFamily inheritence | ||||
Description: |
Got the hirarchy shown in attached tree.png, defined by the following declaration <Style x:Key="VirtualList" TargetType="{x:Type ItemsControl}" BasedOn="{StaticResource {x:Type ItemsControl}}"> <Setter Property="OverridesDefaultStyle" Value="False"/> <Setter Property="Template"> <Setter.Value> <ControlTemplate> <Border BorderThickness="{TemplateBinding Border.BorderThickness}" Padding="{TemplateBinding Control.Padding}" BorderBrush="{TemplateBinding Border.BorderBrush}" Background="{TemplateBinding Panel.Background}"> <ScrollViewer x:Name="PART_Scroll" Padding="{TemplateBinding Control.Padding}" Focusable="False"> <ItemsPresenter /> </ScrollViewer> </Border> </ControlTemplate> </Setter.Value> </Setter> <Setter Property="ItemsPanel"> <Setter.Value> <ItemsPanelTemplate> <VirtualizingStackPanel/> </ItemsPanelTemplate> </Setter.Value> </Setter> <Setter Property="ScrollViewer.CanContentScroll" Value="True"/> <Setter Property="VirtualizingPanel.IsVirtualizing" Value="True"/> <!-- Recycling would be better, but Noesis appears to have a data race in the bindings --> <Setter Property="VirtualizingPanel.VirtualizationMode" Value="Recycling"/> <Setter Property="VirtualizingPanel.ScrollUnit" Value="Pixel"/> </Style> <DataTemplate x:Key="GnomeScheduleButtonTemplate"> <Button x:Name="Sched_Button" Content="{Binding Activity}" Style="{StaticResource GnomeScheduleButtonStyle}" Command="{Binding CmdSetHour}" /> </DataTemplate> <DataTemplate x:Key="PopGnomeSchedRowTemplate"> <ItemsControl ItemsSource="{Binding Schedule}" ItemTemplate="{StaticResource GnomeScheduleButtonTemplate}" Height="35"> <ItemsControl.ItemsPanel> <ItemsPanelTemplate> <StackPanel Orientation="Horizontal"/> </ItemsPanelTemplate> </ItemsControl.ItemsPanel> </ItemsControl> </DataTemplate> <ItemsControl x:Name="SVActivities" ItemsSource="{Binding Schedules}" ItemTemplate="{StaticResource PopGnomeSchedRowTemplate}" Grid.Row="1" Grid.Column="1" Style="{StaticResource VirtualList}" ScrollViewer.VerticalScrollBarVisibility="Auto"> </ItemsControl> The issue occurs on the highlighted element. After the element has been *recycled*, the inherited TextElement.FontFamily for the inner (not virtualized) ContentPresenter node becomes empty. When this happens, it impacts all children of the inner ItemsControl. The inner ItemsControl itself still has a sensible value for FontFamily (also inherited) in that state, according to the inspector, but inheritence from it is broken. Setting and clearing a local value for TextElement.FontFamily on the broken ContentPresenter node restores the correctly inherited values, both according to inspector and visually confirmed. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
tree.png (119,522 bytes) 2020-07-02 10:17 https://www.noesisengine.com/bugs/file_download.php?file_id=1273&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1739 | [NoesisGUI] C++ SDK | major | always | 2020-06-29 12:50 | 2020-07-03 19:12 |
Reporter: | nikobarli | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.6 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.3 | ||
Target Version: | 3.0.3 | ||||
Platform: | Any | ||||
Summary: | Tooltip's ShowDuration doesn't work | ||||
Description: |
From https://www.noesisengine.com/forums/viewtopic.php?f=3&t=2028 Hi, The ShowDuration property of ToolTip.Service doesn't seem to work. Even if I set it to a value like below, the tooltip never disappears as long as I keep hovering the button. <Button Content="AAA" ToolTip="BBB" ToolTipService.InitialShowDelay="1000" ToolTipService.ShowDuration="1000"/> |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0006499)
sfernandez 2020-07-03 19:12 |
I merged the fix into 2.2. branch so you can use it. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1746 | [NoesisGUI] C# SDK | minor | always | 2020-07-03 13:58 | 2020-07-03 14:09 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.3 | ||
Target Version: | 3.0.3 | ||||
Platform: | Any | ||||
Summary: | DragDrop.DoDragDrop incorrectly reporting effects | ||||
Description: |
From forum thread: https://www.noesisengine.com/forums/viewtopic.php?f=3&t=2030 When Drop occurs outside the window it is reporting the original allowedEffects instead of None. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1743 | [NoesisGUI] C++ SDK | crash | always | 2020-07-01 17:14 | 2020-07-01 18:07 |
Reporter: | nikobarli | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.6 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.3 | ||
Target Version: | 3.0.3 | ||||
Platform: | Any | ||||
Summary: | Crash when playing visual state animations | ||||
Description: |
There is a crash inside UpdateView that we had. It happens if we operate on NoesisGUI quickly. In this case, switching tabs quickly. Callstack: > Noesis.dll!Noesis::Ptr<Noesis::DependencyObject>::Reset(Noesis::DependencyObject * ptr) Line 170 C++ Noesis.dll!Noesis::TimeManager::AddFinishedClocks(Noesis::Clock * clock, Noesis::Vector<Noesis::Ptr<Noesis::Clock>,128> & finishedClocks, Noesis::Vector<Noesis::Ptr<Noesis::DependencyObject>,128> & aliveTargets) Line 591 C++ Noesis.dll!Noesis::TimeManager::AddFinishedClocks(Noesis::Clock * clock, Noesis::Vector<Noesis::Ptr<Noesis::Clock>,128> & finishedClocks, Noesis::Vector<Noesis::Ptr<Noesis::DependencyObject>,128> & aliveTargets) Line 600 C++ Noesis.dll!Noesis::TimeManager::EvaluateMasterClock(Noesis::Clock * clock, double time, double elapsedTime, Noesis::Vector<Noesis::Ptr<Noesis::Clock>,128> & finishedClocks, Noesis::Vector<Noesis::Ptr<Noesis::DependencyObject>,128> & aliveTargets) Line 483 C++ Noesis.dll!Noesis::TimeManager::Tick(double time) Line 363 C++ Noesis.dll!Noesis::View::UpdateAnimation(double timeInSeconds) Line 725 C++ Noesis.dll!Noesis::View::InternalUpdate(double timeInSeconds) Line 715 C++ Noesis.dll!Noesis::View::Update(double timeInSeconds) Line 653 C++ |
||||
Tags: | |||||
Steps To Reproduce: |
<Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <Grid> <Grid.Resources> <!-- ToggleButton Style --> <Style x:Key="ToggleButtonStyle" TargetType="{x:Type ToggleButton}" > <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type ToggleButton}"> <Grid> <VisualStateManager.VisualStateGroups> <VisualStateGroup x:Name="CommonStates"> <VisualStateGroup.Transitions> <VisualTransition GeneratedDuration="0:0:0.1" To="MouseOver"/> <VisualTransition From="MouseOver" GeneratedDuration="0:0:0.5"/> </VisualStateGroup.Transitions> <VisualState x:Name="Normal"/> <VisualState x:Name="MouseOver"> <Storyboard> <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(Panel.Background).(Brush.Opacity)" Storyboard.TargetName="OverBorder"> <EasingDoubleKeyFrame KeyTime="0" Value="1"/> </DoubleAnimationUsingKeyFrames> <ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(TextElement.Foreground).(SolidColorBrush.Color)" Storyboard.TargetName="ContentHost"> <EasingColorKeyFrame KeyTime="0" Value="White"/> </ColorAnimationUsingKeyFrames> </Storyboard> </VisualState> <VisualState x:Name="Disabled"/> </VisualStateGroup> </VisualStateManager.VisualStateGroups> <Border x:Name="OverBorder"> <Border.Background> <SolidColorBrush Color="Black" Opacity="0.5"/> </Border.Background> </Border> <Border> <ContentPresenter x:Name="ContentHost"/> </Border> </Grid> <ControlTemplate.Triggers> <Trigger Property="IsChecked" Value="True"> <Setter Property="Foreground" Value="Red"/> </Trigger> </ControlTemplate.Triggers> </ControlTemplate> </Setter.Value> </Setter> </Style> </Grid.Resources> <ToggleButton Style="{StaticResource ToggleButtonStyle}">111</ToggleButton> </Grid> </Grid> |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0006485)
sfernandez 2020-07-01 18:07 |
I will bring this fix to 2.2 branch so you can use it. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1735 | [NoesisGUI] C# SDK | minor | always | 2020-06-24 03:55 | 2020-07-01 12:18 |
Reporter: | ai_enabled | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.3 | ||
Target Version: | 3.0.3 | ||||
Platform: | Any | ||||
Summary: | Multibinding issues | ||||
Description: |
Hi guys, two issues: 1. the Converter property defined for Binding cannot locate the converter with a static reference. 2. Multibinding Converter doesn't work For issue 1 the error is: "StaticResource 'PositiveNumberToBooleanConverter' not found." It should not be a problem as it's actually defined. I've tried to define it closer but still the same issue. (Also, apparently no issue with Converter property for MultiBinding) For issue 2 the error is: "Can't set 'null' on property 'Control.Visibility' of type 'Visibility'." Regards! |
||||
Tags: | |||||
Steps To Reproduce: |
Here is the code:<Control> <Control.Visibility> <MultiBinding Converter="{StaticResource BoolToVisibilityConverter}"> <Binding Path="EffectsToAdd.Length" Converter="{StaticResource PositiveNumberToBooleanConverter}" /> <Binding Path="EffectsToRemove.Length" Converter="{StaticResource PositiveNumberToBooleanConverter}" /> </MultiBinding> </Control.Visibility> </Control> I've also tried a simpler code (HasEffectsToAdd and HasEffectsToRemove are both boolean properties from the view model): <Control> <Control.Visibility> <MultiBinding Converter="{StaticResource BoolToVisibilityConverter}"> <Binding Path="HasEffectsToAdd" /> <Binding Path="HasEffectsToRemove" /> </MultiBinding> </Control.Visibility> </Control> but have exactly the same issue with Multibinding ("Can't set 'null' on property 'Control.Visibility' of type 'Visibility'.") — I've checked and BoolToVisibilityConverter was not even called. |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0006479)
sfernandez 2020-06-30 18:46 |
I was able to reproduce the problem with StaticResource for inner Bindings, we'll fix it for the next release. About the other test that uses simple Bindings, how are you defining the BoolToVisibilityConverter? Because a MultiBinding requires an IMultiValueConverter, and default BoolToVisibilityConverter just implements IValueConverter, you'll need another converter. I verified that MultiBinding with a IMultiValueConverter works as expected in C#/Unity. |
(0006480)
ai_enabled 2020-06-30 18:55 |
Thanks for fixing this! Indeed, I was not using a IMultiValueConverter. Surprisingly, I was not even aware this is required :-) WPF is odd, probably they should have named the property for MultiBinding as MultiConverter instead of Converter... Regards! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1741 | [NoesisGUI] C++ SDK | crash | always | 2020-06-29 19:24 | 2020-06-30 12:47 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.3 | ||
Target Version: | 3.0.3 | ||||
Platform: | Any | ||||
Summary: | Crash reloading a xaml with duplicate x:Name elements | ||||
Description: | If inspector is connected to an application and a xaml is modified incorrectly including duplicated x:Name elements, then application crashes. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1740 | [NoesisGUI] C++ SDK | crash | always | 2020-06-29 19:18 | 2020-06-29 19:19 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.3 | ||
Target Version: | 3.0.3 | ||||
Platform: | Any | ||||
Summary: | Crash after dragging ListView headers | ||||
Description: | When header drag finishes a crash occurs. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1737 | [NoesisGUI] Unity3D | crash | always | 2020-06-25 19:03 | 2020-06-29 14:04 |
Reporter: | Faerdan | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.3 | ||
Target Version: | 3.0.3 | ||||
Platform: | Windows | ||||
Summary: | Unity crash when stopping and playing scene | ||||
Description: |
I've just updated from 2.2.6 to 3.0.2. After stopping the scene and then clicking play the editor crashes with the following error: Noesis.dll caused an Access Violation (0xc0000005) in module Noesis.dll at 0033:bb1e5030. I've attached the crash info. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
Crash_2020-06-25_165254702.zip (519,007 bytes) 2020-06-25 19:03 https://www.noesisengine.com/bugs/file_download.php?file_id=1263&type=bug HeroSelection.zip (82,423 bytes) 2020-06-26 17:38 https://www.noesisengine.com/bugs/file_download.php?file_id=1264&type=bug |
||||
Notes | |
(0006460)
sfernandez 2020-06-26 17:16 |
Is this crash something you can reproduce in a deterministic way? From the callstack I see it happens when destroying a page containing a ListBox with tooltips, I don't know if that points to any known screen. It would help to have a way to reproduce it and narrow the xaml causing it. |
(0006461)
sfernandez 2020-06-26 17:35 |
I may have an idea on what could be happening, I generated a new library with a possible fix, could you please give it a try? https://drive.google.com/file/d/1S7Wo3daVvzo_7c0gFOKJTzbPSBFNQpoK |
(0006462)
Faerdan 2020-06-26 17:38 |
I'll try the fix now, thanks. I've attached the XAML files for the screen which leads to the problem. |
(0006463)
sfernandez 2020-06-26 17:45 |
Thanks for the xamls. I think I was too fast on providing the fix, it won't solve it. But I'm pretty sure where the problem comes from. I need a bit more time to figure out the correct way to fix it. |
(0006464)
Faerdan 2020-06-26 17:56 |
You are correct, the fix didn't work. I appreciate your attention, thanks! :) |
(0006466)
sfernandez 2020-06-29 11:49 |
Finally I was able to reproduce the issue, could you please try the following fix in your game. In NoesisGUI/Plugins/API/Proxies/PropertyMetadataExtend.cs line 184 instead of just returning IntPtr.Zero:BaseComponent.AddReference(baseValue); // released by native bindings return baseValue; This should fix it. |
(0006468)
Faerdan 2020-06-29 13:51 |
This fixed the issue, thank you! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1726 | [NoesisGUI] C++ SDK | minor | N/A | 2020-06-17 01:24 | 2020-06-25 11:25 |
Reporter: | steveh | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | feedback | Product Version: | 3.0 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Child elements clipped by stencil buffer when render transforms take a child out the bounds of the parent panel | ||||
Description: |
Hi guys, apologies for the long summary. I'm not sure that this is a bug, but it's a odd behaviour which acts differently between Blend and Noesis C++ API. I tried to report this as a forum post but it won't let me upload a ZIP file with a RenderDoc capture inside. I'm trying to debug an issue in our game. I've tried to reproduce the issue outside of our game and I've been unable to repro it in the XAML Toy / XAML Player. I've attached my attempts at trying to repro it so you get an idea what I'm trying to do. Essentially I have an ItemsControl containing some number of items representing a grid of menu items. These menu items have a select / deselect storyboard. The select storyboard changes the render scale of the ContentControl to 5% larger than the normal value. These items normally butt up right to the edge of the panel container, which is just an ordinary grid. In our game the stencil buffer causes the elements to be clipped at the edge of the grid. So I have had a look in RenderDoc, there are 2 draw calls at fault. The first call just draws a quad for the entire grid. It doesn't actually write anything anything in the pixel shader, but it writes to the stencil buffer with Pass Op being "Inc Wrap". The next draw call batch actually draws the elements on the grid (the buttons) with stencil Pass Op being "Keep". This is the test which fails because the stencil buffer is limited to the size of the grid container, and the individual children elements expand past the grid's bounds. I've attached an image of this stencil failure to give you a better idea. In the image you can see that the stencil buffer test pass where it shows in green, and fails where it is in red. The red area causes the texture to appear clipped at a harsh border. The stencil buffer is sized to the size of the grid which is the item panel template for the itemscontrol. The grid is *not* set to ClipToBounds. This all works fine in Blend. it scales outside the volume of the panel without any issues. My attempt at reproducing this in XamlPlayer also does not hit any issues with doing this, so I know it's not an issue with my XAML setup. I've also taken a RenderDoc capture of my repro attempt in XamlPlayer. I'm attaching the RenderDoc output for this in the Zip as well. The major difference is that there is no first draw call which writes to the stencil buffer. The first draw call simply draws the ContentControl elements. So my question is what causes batch state to be requested with a stencil state? Why is it that in our game it renders the grid item panel to the stencil buffer, but in XamlToy it doesn't need to do this? I was able to narrow it down to simplifying the DataTemplate of the individual items. My 5 buttons use 3 different data templates depending on the content on the buttons. If I make the DataTemplate use a single empty grid, it was fine. I added a text block to one of the data templates it was still fine. I added a text block to 2 DataTemplates and then the issue started happening. It basically seems really random. It seems that if I make the DataTemplates slightly complicated it'll require that the root ItemPanelTemplate write the bounds to the stencil buffer. What makes the API think it needs to write the batch using a stencil state. Our render device uses this property in RequestState: if (batch.renderState.f.stencilMode == ....) So just to clarify, what causes that property to be anything other than disabled for the outer grid? My second question would be to see if there is any way I can override this or have it so the first call which renders the initial quad to the stencil buffer also take into account the child bounds so the stencil test won't fail when the children are drawn? So I'm guessing the vertices it uses for the bounds of the stencil bounds for the initial batch call uses the layout size for the root element. However, render transforms may cause child elements to clip outside the bounds of the parent element. Is there any way to change it so the bounds take the union of all render volumes to ensure that child elements are not clipped to the bounds of the parent layout volume? I know this is the correct behaviour if ClipToBounds is on, but I've double checked that the property is not set on any of the parent elements. I hope that this all makes sense. Sorry for the wall of text. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
stencil_buffer_clipping.zip (437,759 bytes) 2020-06-17 01:24 https://www.noesisengine.com/bugs/file_download.php?file_id=1254&type=bug |
||||
Notes | |
(0006442)
steveh 2020-06-17 01:24 |
Oops, forgot to attach zip file. |
(0006455)
sfernandez 2020-06-25 11:25 |
UI elements get clipped (implemented using stencil) for various reasons: - UIElement.Clip property, uses the specified geometry to clip contents of the element (I don't think you are using this). - UIElement.ClipToBounds property, when enabled element content is clipped to element's bound rect (I don't think you are using this either). - If any of Width/Height or MaxWidth/Height properties is set to a smaller than the desired size for the element it also clips element content to its bound rect. - If element's final render size is bigger than the available size provided by its container then it also enables clipping to the available size rect. Margins and LayoutTransform affect the final render size and are taken into account when comparing against the available size. All that logic is evaluated in FrameworkElement::GetLayoutClip() if you want to verify which one is being applied in your case. My guess is that the last one is what happens in your game. You can try to specify a smaller fixed width/heigh for that grid to see if clipping disappears. If you can share the xaml where that Grid is placed I can help identify what could be happening. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1732 | [NoesisGUI] C++ SDK | minor | always | 2020-06-23 11:45 | 2020-06-24 11:42 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.3 | ||
Target Version: | 3.0.3 | ||||
Platform: | Any | ||||
Summary: | TextBox with IsFocusEngagementEnabled="False" does not work properly | ||||
Description: |
Disabling IsFocusEngagementEnabled in a TextBox makes it unusable. Caret is not correctly hidden when it loses focus, and keyboard remains captured and doesn't work for other controls. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1733 | [NoesisGUI] Unreal | minor | always | 2020-06-23 19:37 | 2020-06-23 19:49 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.3 | ||
Target Version: | 3.0.3 | ||||
Platform: | Any | ||||
Summary: | Crash when clicking on a TextBox without a default font | ||||
Description: |
From forum post: https://www.noesisengine.com/forums/viewtopic.php?f=3&t=2018 When no fallback font is specified text is not rendered, but it can also lead to a crash if user click inside a TextBox with text. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1727 | [NoesisGUI] C++ SDK | minor | have not tried | 2020-06-18 11:51 | 2020-06-22 17:50 |
Reporter: | jsantos | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.3 | ||
Target Version: | 3.0.3 | ||||
Platform: | Any | ||||
Summary: | Missing .sln files for Blend projects | ||||
Description: | Blend projects includes in each sample in the Data folder should have both project and solution files. Right now (with the exception of a few samples like Gallery) the solution file is not included. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1731 | [NoesisGUI] C++ SDK | minor | always | 2020-06-22 17:24 | 2020-06-22 17:49 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.3 | ||
Target Version: | 3.0.3 | ||||
Platform: | Any | ||||
Summary: | SkewTransform does not look the same as in WPF | ||||
Description: | Applying a SkewTransform to a Rectangle does not render the same in Noesis and Blend. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1729 | [NoesisGUI] C# SDK | major | always | 2020-06-19 21:29 | 2020-06-22 11:02 |
Reporter: | ck_russ | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.3 | ||
Target Version: | 3.0.3 | ||||
Platform: | Any | ||||
Summary: | Cannot set a property inside of a converter using a resource | ||||
Description: |
This issue was reported on the forums here: https://www.noesisengine.com/forums/viewtopic.php?f=3&t=2017 and includes more complete code samples. When a converter has properties, these properties are unable to be set to a resource. Noesis reports the resource is not found. For a minimal example: <SolidColorBrush x:Key="LocalBrush" Color="Green"/> <local:SomeConverterWithABrushProperty x:Key="SomeName" SomeBrushProperty="{StaticResource LocalBrush}"/> This will fail with the error: StaticResource 'LocalBrush' not found. |
||||
Tags: | C#, xaml | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1730 | [NoesisGUI] Unity3D | minor | always | 2020-06-21 19:26 | 2020-06-21 19:26 |
Reporter: | asusralis | Platform: | |||
Assigned To: | OS: | ||||
Priority: | normal | OS Version: | |||
Status: | new | Product Version: | 3.0.2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | "Can't Freeze BeginStoryboard.Storyboard" when using an attached property. | ||||
Description: |
Forum post here: https://www.noesisengine.com/forums/viewtopic.php?f=3&t=2011&p=11264#p11264 |
||||
Tags: | |||||
Steps To Reproduce: | Use attached property and run game. No errors in Blend. | ||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1301 | [NoesisGUI] C# SDK | feature | N/A | 2018-05-17 12:24 | 2020-06-19 16:04 |
Reporter: | ai_enabled | Platform: | PC | ||
Assigned To: | sfernandez | OS: | Windows | ||
Priority: | high | OS Version: | 10 x64 | ||
Status: | assigned | Product Version: | 2.1.0f1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.0 | ||||
Platform: | Any | ||||
Summary: | Cache for GUI.LoadComponent(object, string) | ||||
Description: |
Hi guys, Getting XAML code every time a control of the specific type is loaded and passing the full string to C++ is not fast. Is it possible to load the XAML and store it in a field (or add in to the local cache), and in the future loadings simply send this cached object to GUI.LoadComponent(object, cachedXamlObject)? Regards! |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
System Description | |||||
Attached Files: |
Screenshot at 20-15-34.jpg (132,057 bytes) 2019-11-28 17:16 https://www.noesisengine.com/bugs/file_download.php?file_id=1128&type=bug |
||||
Notes | |
(0005201)
ai_enabled 2018-05-17 13:22 (Last edited: 2018-05-17 13:22) |
Sorry, I was confused and thought that we're actually transferring the XAML content to load the component. Well, we're not doing that and only transferring the path to XAML. However, the problem is that NoesisGUI loads XAML every time - XamlProvider.LoadXaml(fileName) method is invoked for a control every time it's needed to be loaded and that's a huge waste of performance as we had to open the stream from the disk. Can you implement a cache so you will don't need to call XamlProvider.LoadXaml() every time we're calling GUI.LoadComponent(object, string)? The current implementation is useful in case when the XAML is changed to see the reloaded file, however, this implementation is wrong - you should create another method to invalidate the NoesisGUI cache for a particular fileName and, maybe, reload all the UserControls/ResourceDictionaries related to the loaded fileName (which is very hard, I think). Regards! |
(0005211)
jsantos 2018-06-01 22:45 |
Problem is, each time a new UserControl is loaded we need a *new* tree, we cannot reuse the same (this is something we were doing in Noesis 1.X but it was not WPF conformant). So, the only thing that can be done is caching the stream, and this is something you can already do in your provider... This is something we want to address in the future, but we are not sure yet how to do it. We could instantiate usercontrols by cloning a base one, each time it is requested. This is faster that loading the XAML but... we also have plans to support a compressed format of XAML (something like the BuildTool we have in Noesis 1.x but this time as an optional path, not mandatory in case you just want to directly load XAMLs) |
(0005212)
ai_enabled 2018-06-02 08:15 (Last edited: 2018-06-02 08:17) |
Yes, I understand that you need to build a new visual tree for every UserControl. I don't feel that caching the binary stream of the XAML file will noticeably improve the performance. It also has overhead with C++<->C# interop. Imagine we need to instantiate a dozen of user controls every second when a user quickly moves the mouse cursor over the game UI elements. The controls cache is not always a viable solution (for example, the UserControl might be defined directly in XAML for the tooltip - so we don't have the control over the UserControl lifetime as it's created and disposed by NoesisGUI automatically). The XAML parser is indeed very fast and effective, but in a such scenario it's not as fast as it might be (especially for applications on the less powerful, mobile devices). I believe that caching of the parsed data will minimize the overhead. It could be a kind of the tokenized structure which can instantly instantiate a visual tree ("compressed XAML" sounds good but it's not a real solution as it still involves a binary stream reading and C#<->C++ interop overhead every time a UserControl is instantiated). Or, as you suggested, a static visual tree which can be cloned for every user control. It doesn't require XAML stream re-reading and supposedly could be done almost instantly in C++. It seems it could be done without changing the current C# API. GUI.LoadComponent(object, string) on the C++ side can use a dictionary - binding the string (XAML file path) to the cached static visual tree. |
(0005217)
jsantos 2018-06-05 20:39 |
Before analyzing this with more detail (I want to measure the performance of cloning the tree vs reading a stream from file) are you observing a real performance issue here or a theoretical one? |
(0005219)
ai_enabled 2018-06-05 21:06 (Last edited: 2018-06-05 21:10) |
Mostly theoretical and with a hope of a possible trivial fix. Absolutely no priority with this task as we have others, much more pressing issues - which we would rejoice to see done as soon as you can find free time (namely, 0001222 , 0001291 , 0001269 and 0001229 ). I've observed a real performance issue on a simulated lower performance machine (I've clamped the CPU clock speed) when I was testing a relatively heavy user controls which were dynamically spawned when user moved the mouse cursor over UI elements or game world objects. That's a dozen of user controls (with other nested user controls) spawned-disposed per second but it increased the frame processing duration related to NoesisGUI on a few ms, noticeably dropping the framerate (perceivable stuttering when V-sync is enabled). I was very surprised to learn than NoesisGUI wasted performance by requesting and reading Stream objects again and again even though it should already have all the data in a cache. Of course, such a heavy use case might be (or often should be) avoided in the game design itself. However, I thought it's worth reporting as theoretically it's a huge space for an optimization and will benefit overall performance, especially for the lower performance PCs and mobile devices. |
(0005220)
jsantos 2018-06-05 21:50 |
Thanks for the detailed clarifications! |
(0006013)
ai_enabled 2019-11-28 17:16 |
Hi, today I've investigated a performance issue and found out a scenario when the absence of the cache can result in massive performance degradation. If the UserControl is used as an ItemTemplate in a large list, even its initialization with just 100 items might result in a huge performance loss. Our online players' list is acting this way and players provided logs where I saw frame time skyrocketing from 5-10 ms to 600 ms when a new player joined the server and a new entry was added in the list resulting in the list re-ordering and rebuilding all the nested controls. Even though I'm using items virtualization for this ItemsList, NoesisGUI is still creating a user control instance via Noesis.Extend.CreateInstance(IntPtr, IntPtr). Of course, I can easily fix this on my side. But it's a good example of massive unexpected performance loss. Imagine 1000+ entries list with each entry invoking LoadComponent! If there is a XAML cache it would be not an issue. See the attached screenshot. Oh, and I'm really curious what's wrong with the Virtualization. The xaml code is: <ItemsControl ItemsSource="{Binding PlayersOnline}"> <ItemsControl.Style> <Style TargetType="ItemsControl"> <Setter Property="VirtualizingStackPanel.IsVirtualizing" Value="True" /> <Setter Property="VirtualizingPanel.VirtualizationMode" Value="Recycling" /> <Setter Property="VirtualizingPanel.ScrollUnit" Value="Pixel" /> <Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Disabled" /> <Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Visible" /> <Setter Property="ScrollViewer.CanContentScroll" Value="True" /> <Setter Property="ScrollViewer.PanningMode" Value="VerticalOnly" /> </Style> </ItemsControl.Style> <ItemsControl.ItemsPanel> <ItemsPanelTemplate> <UniformGrid IsItemsHost="True" Columns="3" HorizontalAlignment="Stretch" VerticalAlignment="Top" /> </ItemsPanelTemplate> </ItemsControl.ItemsPanel> <ItemsControl.ItemTemplate> <DataTemplate> <social:PlayerEntryControl /> </DataTemplate> </ItemsControl.ItemTemplate> </ItemsControl> Regards! |
(0006014)
ai_enabled 2019-11-28 17:25 (Last edited: 2019-11-28 17:26) |
It seems UniformGrid and WrapPanel doesn't support virtualization. But I have the same problem with VirtualizingStackPanel. Edit: oh, I see. I forgot to add an inner scroll viewer. |
(0006015)
jsantos 2019-11-28 17:31 (Last edited: 2019-11-28 17:34) |
We have been discussing here for a long time about a solution for caching UserControls and I think we found a good solution (at least in theory, we still have to implement it). The idea is storing in the cache the internal parsing of the XAML, each time a new UserControl is requested we only have to instantiate that internal tree. That should be a lot faster that parsing directly from XAML. But in the case you mention, this optimization shouldn't be necessary if virtualization were properly working. @sfernandez could you have a look at this? There is a warning message we send to the console if virtualization cannot be enabled. Are you getting it? |
(0006016)
ai_enabled 2019-11-28 17:38 |
>> The idea is storing in the cache the internal parsing of the XAML Yes, that's how it should work, ideally. It seems the virtualization is working fine for VirtualizedStackPanel but it would be best if you can verify that it works fine for UserControls. In my case even though I have recycling mode enabled it still creating a new intance of my user control every time the entry is added to the observable collection bound to this items control. |
(0006017)
sfernandez 2019-11-28 18:04 (Last edited: 2019-11-28 21:20) |
Is that ItemsControl using a custom template containing a ScrollViewer? the default template for ItemsControl doesn't have one. Virtualization only makes sense if there is a smaller viewport that can be scrolled. Please try the following (I set the Height to a fixed size just to make sure the control does not extend to the size of all items, what could occur if it is wrapped by a ScrollViewer or a vertical StackPanel): <ItemsControl ItemsSource="{Binding PlayersOnline}" Height="300" VirtualizingStackPanel.IsVirtualizing="True" VirtualizingPanel.VirtualizationMode="Recycling" VirtualizingPanel.ScrollUnit="Pixel" ScrollViewer.HorizontalScrollBarVisibility="Disabled" ScrollViewer.VerticalScrollBarVisibility="Visible" ScrollViewer.CanContentScroll="True" ScrollViewer.PanningMode="VerticalOnly"> <ItemsControl.Template> <ControlTemplate TargetType="ItemsControl"> <ScrollViewer Padding="{TemplateBinding Padding}" Focusable="False"> <ItemsPresenter/> </ScrollViewer> </ControlTemplate> </ItemsControl.Template> <ItemsControl.ItemsPanel> <ItemsPanelTemplate> <VirtualizingStackPanel /> </ItemsPanelTemplate> </ItemsControl.ItemsPanel> <ItemsControl.ItemTemplate> <DataTemplate> <social:PlayerEntryControl /> </DataTemplate> </ItemsControl.ItemTemplate> </ItemsControl> |
(0006018)
ai_enabled 2019-11-28 18:11 |
Thanks, Sergio. I've tried it right now and it still creating a new instance of the UserControl every time via NoesisManaged.dll!Noesis.Extend.CreateInstance(System.IntPtr nativeType, System.IntPtr cPtr). I've programmed it to simply remove-add-remove-add the same item into the observable items collection so the view control could be recycled, but unfortunately it's not recycled. |
(0006019)
ai_enabled 2019-11-28 18:12 |
If you want to try it in the game I can submit a code for you now so you can unpack Core.cpk and try it yourself :-) |
(0006020)
jsantos 2019-11-28 18:13 |
Are you getting any warning on the console? |
(0006021)
jsantos 2019-11-28 18:15 |
As far as I understand, if the item if being removed-added-removed-added but it is always visible, the usercontrol is going to be created each time. With virtualization only non-visible items are non created. But I could be wrong... @sfernandez |
(0006022)
ai_enabled 2019-11-28 18:35 |
I cannot see any warning or error regarding the virtualization from NoesisGUI (but there are a ton of binding failed messages, sounds like I will need to find some time to improve the game UI in this regard). |
(0006023)
sfernandez 2019-11-28 19:18 |
@jsantos That's right, adding non visible items to the observable collection shouldn't instantiate the ItemTemplate. That is a symptom that virtualization may not be occurring. The message should look like "Virtualization disabled: ..." with an explanation of what is the cause. |
(0006027)
sfernandez 2019-12-02 17:32 |
Hi, I created a small test trying to reproduce your scenario with an ItemsControl and an ItemTemplate with a custom control:<Grid x:Class="Testing.VirtualizationTest" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:test="clr-namespace:Testing"> <Grid.Resources> <DataTemplate x:Key="itemTemplate"> <test:MyControl Content="{Binding}"/> </DataTemplate> </Grid.Resources> <ItemsControl ItemsSource="{Binding}" Width="100" Height="100" ItemTemplate="{StaticResource itemTemplate}" VirtualizingStackPanel.IsVirtualizing="True" VirtualizingPanel.VirtualizationMode="Recycling" VirtualizingPanel.ScrollUnit="Pixel" ScrollViewer.HorizontalScrollBarVisibility="Disabled" ScrollViewer.VerticalScrollBarVisibility="Visible" ScrollViewer.CanContentScroll="True" ScrollViewer.PanningMode="VerticalOnly"> <ItemsControl.Template> <ControlTemplate TargetType="ItemsControl"> <ScrollViewer Focusable="False"> <ItemsPresenter/> </ScrollViewer> </ControlTemplate> </ItemsControl.Template> <ItemsControl.ItemsPanel> <ItemsPanelTemplate> <VirtualizingStackPanel/> </ItemsPanelTemplate> </ItemsControl.ItemsPanel> </ItemsControl> <Button x:Name="btn" Content="Add item" HorizontalAlignment="Center" VerticalAlignment="Bottom" Margin="10"/> </Grid> This xaml shows 9 visible items, and only 9 'Testing.MyControl' objects are created, one for each visible item, and one extra object for the DataTemplate. If I scroll 1 line it ends reusing the previously created controls, so recycling is working. And if I add a new item to the collection no new control is created, even if the new item shows up in the visible area and there are recycled containers available. I'm pretty sure that in your case virtualization is not happening. Can I see the xaml where you have your ItemsControl?, maybe I see something that points me what could be happening. |
(0006029)
jsantos 2019-12-02 17:40 |
It is not the first time that this happens, I mean, the confusion about if virtualization is enabled or not. We need to improve this someway, I don't know, clearly the log message is not enough, maybe a new boolean synthesized property? The good thing about the property is that it can be inspected in the new inspector tool (coming with the next major version) |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1728 | [NoesisGUI] C++ SDK | minor | always | 2020-06-18 16:34 | 2020-06-18 16:36 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.3 | ||
Target Version: | 3.0.3 | ||||
Platform: | Any | ||||
Summary: | Static extension can't parse types with nested namespaces | ||||
Description: |
<Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="clr-namespace:Ns1.Ns2"> <Border Tag="{x:Static local:MyEnum.Value}"/> </Grid> |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1721 | [NoesisGUI] C++ SDK | minor | N/A | 2020-06-10 22:14 | 2020-06-11 18:58 |
Reporter: | spadapet | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.2 | ||
Target Version: | 3.0.2 | ||||
Platform: | UWP | ||||
Summary: | Include 32-bit libraries for UWP C++ | ||||
Description: | Only the 64-bit C++ libraries are included for UWP in the SDK (uwp_x86_64). Please also add 32-bit C++ libraries for UWP (uwp_x86). While I only need x86 added, you can also consider ARM/ARM64 libraries. | ||||
Tags: | C++ | ||||
Steps To Reproduce: |
These folders exist in the C++ SDK: * Bin\uwp_x86_64 * Lib\uwp_x86_64 These should also be included: * Bin\uwp_x86 * Lib\uwp_x86 |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1687 | [NoesisGUI] C# SDK | minor | always | 2020-05-18 14:51 | 2020-06-11 18:33 |
Reporter: | darthmaule2 | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.2 | ||
Target Version: | 3.0.2 | ||||
Platform: | Windows | ||||
Summary: | Cannot add both DropShadow effect and background to the same control | ||||
Description: |
I have a UserControl which defines a Time/Date spinner control. If set the UserControl's Effect and Background properties, then the control simply does not show up. So, I had to set the background on the UserControl and the Effect on the child Grid to get it to work. The same thing happens if I try to set both on the child Grid, the entire control is not rendered (all I see is the background). <UserControl x:Class="Controls.DateTimeControl.DateTimeSpinner" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:noesis="clr-namespace:NoesisGUIExtensions;assembly=Noesis.GUI.Extensions" xmlns:local="clr-namespace:Controls.DateTimeControl"> <UserControl.Background> <SolidColorBrush Color="Black" Opacity=".5"></SolidColorBrush> </UserControl.Background> <UserControl.Resources> <!-- Control resources and styles here --> </UserControl.Resources> <Grid Effect="{StaticResource StandardDropShadow}" Focusable="True" FocusVisualStyle="{x:Null}" Background="Transparent" PreviewKeyDown="OnPreviewKeyDown" Loaded="OnLoaded" Height="200" Width="800" HorizontalAlignment="Center" VerticalAlignment="Center"> <!-- Control defined here --> </Grid> </UserControl> |
||||
Tags: | |||||
Steps To Reproduce: | In above description | ||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1654 | [NoesisGUI] C# SDK | minor | always | 2020-04-10 18:31 | 2020-06-11 18:29 |
Reporter: | stonstad | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.2 | ||
Target Version: | 3.0.2 | ||||
Platform: | Any | ||||
Summary: | DropShadowEffect Side Effect | ||||
Description: | I am seeing a secondary shadow effect that does not have the expected angle or placement. See screenshot. I tried moving DropShadowEffect up and down the hierarchy without success. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
effect.PNG (16,479 bytes) 2020-04-10 18:31 https://www.noesisengine.com/bugs/file_download.php?file_id=1190&type=bug Example.xaml (1,472 bytes) 2020-04-10 18:31 https://www.noesisengine.com/bugs/file_download.php?file_id=1191&type=bug |
||||
Notes | |
(0006191)
sfernandez 2020-04-10 20:50 |
I'm unable to reproduce it, could you please create a sample project and attach it here, maybe I'm missing some configuration option. |
(0006202)
stonstad 2020-04-14 15:55 |
Yes -- it may be a few days but I'll work to get an example of this. |
(0006222)
stonstad 2020-04-17 18:44 |
Here is the associated XAML, SliderControl.xaml. <UserControl x:Class="MBI.CustomerSelect.Unity.UI.SliderControl" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" x:Name="_SliderControl"> <Grid Margin="10" Background="{StaticResource BackgroundColor}" VerticalAlignment="Top"> <Grid.Effect> <DropShadowEffect BlurRadius="25" Direction="270" ShadowDepth="6" Opacity="0.6" Color="Black"/> </Grid.Effect> <StackPanel Orientation="Vertical"> <Border Background="{DynamicResource Brush.Item.SelectedOver}"> <StackPanel Orientation="Horizontal" HorizontalAlignment="Center"> <TextBlock x:Name="_IconTextBlock" FontFamily="{StaticResource FontAwesome}" FontSize="15" FontWeight="Light" Foreground="#FFFFFFFF" Margin="-20, 0, 0, 0" VerticalAlignment="Center"/> <TextBlock x:Name="_TitleTextBlock" FontSize="16" Margin="4" Foreground="#FFFFFFFF" Text="TITLE"/> </StackPanel> </Border> <Slider x:Name="_Slider" Minimum="0" Maximum="1" Value="1" Width="300" Margin="12"/> </StackPanel> </Grid> </UserControl> I tried moving the shadow to a grid at the same level as the stack panel -- it exhibits the same behavior. For some reason I can't seem to get rid of the shadow on the right side of the UserControl. |
(0006242)
stonstad 2020-04-23 19:21 |
This behavior manifests only when the drop shadow described in https://www.noesisengine.com/bugs/view.php?id=1655 is enabled. This bug can likely be merged with 1655. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1655 | [NoesisGUI] Unity3D | minor | always | 2020-04-10 19:55 | 2020-06-11 18:29 |
Reporter: | stonstad | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.2 | ||
Target Version: | 3.0.2 | ||||
Platform: | Any | ||||
Summary: | DropShadowEffect And Visual Corruption w/ Virtualizing Container | ||||
Description: |
DropShadowEffect causes visual corruption in virtualizing/scrolling containers. No Shadow.png. No DropShadowEffect applied. Shadow OK.png. DropShadowEffect works as expected. Shadow Broken.png. DropShadowEffect is broken. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
No Shadow.PNG (82,863 bytes) 2020-04-10 19:55 https://www.noesisengine.com/bugs/file_download.php?file_id=1192&type=bug Shadow OK.PNG (94,175 bytes) 2020-04-10 19:55 https://www.noesisengine.com/bugs/file_download.php?file_id=1193&type=bug Shadow Broken.PNG (28,481 bytes) 2020-04-10 19:55 https://www.noesisengine.com/bugs/file_download.php?file_id=1194&type=bug No Shadow-2.PNG (69,341 bytes) 2020-04-17 18:27 https://www.noesisengine.com/bugs/file_download.php?file_id=1200&type=bug WithShadow.PNG (66,333 bytes) 2020-04-17 18:27 https://www.noesisengine.com/bugs/file_download.php?file_id=1201&type=bug |
||||
Notes | |
(0006188)
stonstad 2020-04-10 20:17 |
It seems like the process of adding a DropShadowEffect to a container causes it to have infinite bounds when a slider appears. If I don't add the effect the bounds of the container works as expected. |
(0006190)
sfernandez 2020-04-10 20:50 |
I'm unable to reproduce it, could you please create a sample project and attach it here, maybe I'm missing some configuration option. |
(0006203)
stonstad 2020-04-14 15:55 |
Yes -- I'll work to provide a sample project. |
(0006296)
stonstad 2020-04-29 19:05 |
Any updates on this bug/behavior? |
(0006298)
sfernandez 2020-04-30 00:43 |
Hi, we found the problem arises when shadow bounds intersect with window edges. It is a corner case we don't have correctly implemented. In the meantime you can probably add to the panel a margin enough to fit the shadow inside screen size. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1723 | [NoesisGUI] C++ SDK | minor | always | 2020-06-11 12:55 | 2020-06-11 13:21 |
Reporter: | jsantos | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.2 | ||
Target Version: | 3.0.2 | ||||
Platform: | Any | ||||
Summary: | Window class size different when NS_PROFILE was active | ||||
Description: | Windows.h has a block of member variables inside a conditional preprocessor block. This leads to crashes when mixing releasing and profile code. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1717 | [NoesisGUI] Unity3D | minor | random | 2020-06-09 23:58 | 2020-06-11 12:51 |
Reporter: | samc | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.2 | ||
Target Version: | 3.0.2 | ||||
Platform: | Any | ||||
Summary: | Crash while playing in editor | ||||
Description: |
Stack Trace of Crashed Thread 19564: ERROR: SymGetSymFromAddr64, GetLastError: 'The specified module could not be found.' (Address: 000002309DAD0DD0) ERROR: SymGetModuleInfo64, GetLastError: 'A dynamic link library (DLL) initialization routine failed.' (Address: 000002309DAD0DD0) 0x000002309DAD0DD0 ((<unknown>)) (function-name not available) 0x00007FFC28B38586 (Noesis) Noesis_UnityUpdate 0x0000022EBC5C830E (NoesisGUI) NoesisView.Noesis_UnityUpdate() 0x0000022EBC5BB163 (NoesisGUI) NoesisView.UpdateFrame() 0x0000022EBC5A53BB (Bonfire.Client) Bonfire.Client.UI.HUDViewSystem.OnUpdateMainThread() 0x0000022E9EBC8DF8 (Bonfire.Core) Bonfire.Entities.SystemBase.OnUpdate() 0x0000022E9E41F582 (Unity.Entities) Unity.Entities.SystemBase.Update() 0x0000022E9E1C9FAB (Unity.Entities) Unity.Entities.ComponentSystemGroup.UpdateAllSystems() 0x0000022E9E1C9B83 (Unity.Entities) Unity.Entities.ComponentSystemGroup.OnUpdate() 0x0000022E9EE9DDE3 (Unity.NetCode) Unity.NetCode.ClientPresentationSystemGroup.OnUpdate() 0x0000022E9E1C7B32 (Unity.Entities) Unity.Entities.ComponentSystem.Update() 0x0000022E9E1C9FAB (Unity.Entities) Unity.Entities.ComponentSystemGroup.UpdateAllSystems() 0x0000022E9E1C9B83 (Unity.Entities) Unity.Entities.ComponentSystemGroup.OnUpdate() 0x0000022E9E1C7B32 (Unity.Entities) Unity.Entities.ComponentSystem.Update() 0x0000022E9E1C9FAB (Unity.Entities) Unity.Entities.ComponentSystemGroup.UpdateAllSystems() 0x0000022E9E1C9B83 (Unity.Entities) Unity.Entities.ComponentSystemGroup.OnUpdate() 0x0000022E9E1C7B32 (Unity.Entities) Unity.Entities.ComponentSystem.Update() 0x0000022E9E1C7731 (Unity.Entities) DummyDelegateWrapper.TriggerUpdate() 0x0000022E9E16F118 (mscorlib) System.Object.runtime_invoke_void__this__() 0x00007FFC88C2D660 (mono-2.0-bdwgc) mono_get_runtime_build_info 0x00007FFC88BB28E2 (mono-2.0-bdwgc) mono_perfcounters_init 0x00007FFC88BBB93F (mono-2.0-bdwgc) mono_runtime_invoke |
||||
Tags: | Unity | ||||
Steps To Reproduce: | We've only seen this once, just wanted to make you aware. Will try to get more information | ||||
Additional Information: | |||||
Attached Files: |
crash.dmp (3,319,812 bytes) 2020-06-10 20:06 https://www.noesisengine.com/bugs/file_download.php?file_id=1250&type=bug error (1).log (156,139 bytes) 2020-06-10 20:06 https://www.noesisengine.com/bugs/file_download.php?file_id=1251&type=bug Editor (3).log (4,344,111 bytes) 2020-06-10 20:06 https://www.noesisengine.com/bugs/file_download.php?file_id=1252&type=bug |
||||
Notes | |
(0006435)
jsantos 2020-06-10 12:55 (Last edited: 2020-06-10 12:56) |
Any chance you could attach a dump? Thanks! |
(0006436)
samc 2020-06-10 20:06 |
Attaching the dmp and logs |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1720 | [NoesisGUI] C++ SDK | minor | always | 2020-06-10 20:13 | 2020-06-10 21:02 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.2 | ||
Target Version: | 3.0.2 | ||||
Platform: | Any | ||||
Summary: | Font dependency incorrectly including ttf file | ||||
Description: |
When having a reference to a font family like this: "Fonts/fa-solid-900.ttf#Font Awesome 5 Free" in a xaml, the GetDependencies() function is reporting a dependency to the font that includes the ttf file in the path, and that is not correct. Both "Fonts/fa-solid-900.ttf#Font Awesome 5 Free" and "Fonts/#Font Awesome 5 Free" should report the same dependency: "Fonts/#Font Awesome 5 Free" |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1719 | [NoesisGUI] C++ SDK | minor | always | 2020-06-10 18:30 | 2020-06-10 19:01 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.2 | ||
Target Version: | 3.0.2 | ||||
Platform: | Any | ||||
Summary: | Can't move focus to ItemsControl items using arrows | ||||
Description: |
Having a ScrollViewer which contains an ItemsControl, trying to move the focus on the control that defines each item to select it is not working. The following xaml reproduces the issue: <Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <Grid.Resources> <GradientStopCollection x:Key="list"> <GradientStop Offset="0" Color="Red"/> <GradientStop Offset="1" Color="Green"/> <GradientStop Offset="2" Color="Blue"/> </GradientStopCollection> <DataTemplate x:Key="entry"> <Button Content="{Binding Offset}" Margin="0,10"/> </DataTemplate> </Grid.Resources> <StackPanel HorizontalAlignment="Center" VerticalAlignment="Center" KeyboardNavigation.DirectionalNavigation="Contained"> <Button Content="Before" Margin="0,10"/> <ScrollViewer Width="200" Height="200"> <ItemsControl ItemsSource="{StaticResource list}" ItemTemplate="{StaticResource entry}"/> </ScrollViewer> <Button Content="After" Margin="0,10"/> </StackPanel> </Grid> |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1718 | [NoesisGUI] C# SDK | minor | always | 2020-06-10 12:48 | 2020-06-10 13:16 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.2 | ||
Target Version: | 3.0.2 | ||||
Platform: | Any | ||||
Summary: | Incorrect binding error messages | ||||
Description: | From forum post: https://www.noesisengine.com/forums/viewtopic.php?f=3&t=2003 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1715 | [NoesisGUI] C++ SDK | minor | always | 2020-06-09 16:20 | 2020-06-09 16:22 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.2 | ||
Target Version: | 3.0.2 | ||||
Platform: | Any | ||||
Summary: | Crash when you click on TextBox with a not found FontFamily | ||||
Description: |
From forum topic: https://www.noesisengine.com/forums/viewtopic.php?f=3&t=1983&start=10#p11210 If FontFamily property is set with a StaticResource and resource is not found, then a null is set. If TextBox is clicked a crash occurs. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1713 | [NoesisGUI] C++ SDK | major | always | 2020-06-08 16:22 | 2020-06-09 13:21 |
Reporter: | nikobarli | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.6 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.2 | ||
Target Version: | 3.0.2 | ||||
Platform: | Windows | ||||
Summary: | Popup and ComboBox do not work together nicely | ||||
Description: |
from https://www.noesisengine.com/forums/viewtopic.php?f=3&t=1998 Here is the XAML that illustrates the problem. Click the button to show a Popup that has a combobox internally. The Popup is configured with StaysOpen="False". After the Popup appears, click the combobox and select the item that is shown beyond the Popup Window. The expected behavior is that the item becomes the selected part of the Combobox and the Popup kept shown (this is the behavior of WPF). However, the current behavior of NoesisGUI is to close the Popup and item inside the Combobox is not selected. <Grid Background="White"> <ToggleButton x:Name="PopupToggle" Height="30" Width="50" IsChecked="{Binding IsOpen, ElementName=Popup}"></ToggleButton> <Popup x:Name="Popup" Placement="Bottom" PlacementTarget="{Binding ElementName=PopupToggle}" StaysOpen="False"> <Grid Width="100" Height="100" Background="Red"> <ComboBox Width="50" Height="30"> <ComboBoxItem>A</ComboBoxItem> <ComboBoxItem>B</ComboBoxItem> <ComboBoxItem>C</ComboBoxItem> <ComboBoxItem>D</ComboBoxItem> <ComboBoxItem>E</ComboBoxItem> <ComboBoxItem>F</ComboBoxItem> <ComboBoxItem>G</ComboBoxItem> <ComboBoxItem>H</ComboBoxItem> <ComboBoxItem>I</ComboBoxItem> <ComboBoxItem>J</ComboBoxItem> </ComboBox> </Grid> </Popup> </Grid> |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1709 | [NoesisGUI] Unity3D | minor | always | 2020-06-04 22:58 | 2020-06-09 13:00 |
Reporter: | samc | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.1 | ||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.0.2 | ||||
Platform: | macOS | ||||
Summary: | unity assets change on OSX vs. Windows | ||||
Description: |
Our assets are changing simply based on loading unity in OSX or windows. Here's a text snippet from the "content" field in the .asset files in unity: Windows: 3c5265736f7572636544696374696f6e6172790d0a2020 OSX: 3c5265736f7572636544696374696f6e6172790a2020 If you look at the end, it looks like windows is getting CRLF (0d0a) where as OSX just has LF (0a). |
||||
Tags: | Unity | ||||
Steps To Reproduce: | reimport xaml assets on OSX instead of windows | ||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0006422)
jsantos 2020-06-05 11:09 |
I remember fixing this on 3.0.0 so I will verify it again. Please, confirm me this is happening in 3.0 and no in 2.X Thanks! |
(0006426)
samc 2020-06-05 18:28 |
This happened after loading for the first time on OSX with 3.0.1. I suppose its possible it was somehow still referencing the 2.x library; i'll do some more tests here. |
(0006433)
samc 2020-06-09 02:47 |
this must have been some weird artifact of upgrading; just tried to manually reimport everything on OSX and it didn't mark anything as changed. |
(0006434)
jsantos 2020-06-09 13:00 |
Great! Closing this |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1712 | [NoesisGUI] Unity3D | text | always | 2020-06-05 14:30 | 2020-06-05 14:32 |
Reporter: | BoJack | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.0.2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Font style are not synthesize | ||||
Description: |
If your font does not have an italic file (or an oblique file) FontStyle="Italic" will work on wpf/blend but not on unity |
||||
Tags: | Unity | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1710 | [NoesisGUI] C++ SDK | feature | always | 2020-06-05 12:03 | 2020-06-05 13:36 |
Reporter: | Ext3h | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.0.1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Wireframe support missing in GlRenderDevice | ||||
Description: |
Noesis::RenderState::wireframe is not implemented in NoesisApp::GLRenderDevice. glPolygonMode(GL_FRONT_AND_BACK, GL_LINE / GL_FILL) should be supported on all platforms supported by GLRenderDevice, it's just not implemented. |
||||
Tags: | OpenGL | ||||
Steps To Reproduce: |
Use Inspector on application using GlRenderDevice Try to enable wireframe It has no effect |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0006423)
jsantos 2020-06-05 13:29 |
It is not implemented because glPolygoneMode is not available in GL ES or WebGL. But yes, we could implement it at least for OpenGL. This is part of the App Framework though, you can customize and tweak the implementation for your needs. Thanks! |
(0006425)
jsantos 2020-06-05 13:36 |
https://stackoverflow.com/questions/3539205/is-there-a-substitute-for-glpolygonmode-in-open-gl-es-webgl |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1711 | [NoesisGUI] Documentation | minor | N/A | 2020-06-05 12:58 | 2020-06-05 13:33 |
Reporter: | Ext3h | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.0.1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Dirty GL context state in IntegrationGLUT | ||||
Description: |
The IntegrationGLUT sample should reset *all* state which is potentially tainted. GLRenderDevice is tainting a lot more state than the example lists, and which state it ends up being in also depends on the rendered content, not just explicit configuration. At minimum all state touched either by GLRenderDevice::InvalidateStateCache() or GLRenderDevice::SetRenderState() is effectively dirty. In addition, glClearStencil() and (pre 3.0) client states may also have been modified, depending on platform. |
||||
Tags: | OpenGL | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0006424)
jsantos 2020-06-05 13:33 |
You are right about this improvement, thanks for this! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1706 | [NoesisGUI] C++ SDK | minor | always | 2020-05-27 18:06 | 2020-05-28 19:11 |
Reporter: | steveh | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0 | ||
Product Build: | Resolution: | won't fix | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.1 | ||
Target Version: | 3.0.1 | ||||
Platform: | Any | ||||
Summary: | Memory leak when binding DataContext to parent user control | ||||
Description: |
Hi guys, I'm seeing a memory leak when I bind the DataContext to a parent's user control. This is the sample code I have: <grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" x:Name="RootGrid" Background="red" width="100" height="100"> <border x:Name="Border" DataContext="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Grid}}}"> <TextBlock x:Name="TextBlock" Text="{Binding Name}" VerticalAlignment="Center" HorizontalAlignment="Center" /> </border> </grid> In my case, the root user control is a custom type that I've exposed properties on. I've basically followed the steps on this link to bind to the property on a UserControl: https://blog.scottlogic.com/2012/02/06/a-simple-pattern-for-creating-re-useable-usercontrols-in-wpf-silverlight.html It seems if I use this pattern it fails to remove the UserControl. Presumably the binding expression creates a circular dependency and is unable to free all resources. |
||||
Tags: | |||||
Steps To Reproduce: |
1. Paste the attached document into a Noesis application. 2. Attempt to exit the application. 3. If you're in the debugger, the debugger will break on the following line: if (GetAllocatedMemory() > 0) { NS_LOG_WARNING("Memory leaks detected: %d bytes", GetAllocatedMemory()); #if defined(NS_DEBUG) && defined(NS_PLATFORM_WINDOWS) if (IsDebuggerPresent()) { NS_DEBUG_BREAK; } // here #endif } |
||||
Additional Information: | |||||
Attached Files: |
test.xaml (470 bytes) 2020-05-27 18:06 https://www.noesisengine.com/bugs/file_download.php?file_id=1242&type=bug |
||||
Notes | |
(0006397)
steveh 2020-05-27 18:11 |
Oh I just thought I'd mention, I can fix it by doing the following: Text="{Binding Path=Name, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Grid}}}" Essentially ignoring the DataContext and instead setting the RelativeSource directly in the attribute binding. This seems to clean up nicely, it's only if I set the DataContext on a parent object to point to an element further up in the hierarchy that it has issues. |
(0006399)
sfernandez 2020-05-27 18:57 |
This is a known issue in Noesis. Our current implementation of dependency properties like DataContext are keeping a reference to the object set in the property. So setting a parent object (that already keeps a reference to their children) will create a circularity in references that we cannot break leading to leaks. As you found there are easy ways to workaround this limitation, by using RelativeSource or even simpler ElementName: Text="{Binding Path=Name, ElementName=RootGrid}" |
(0006405)
steveh 2020-05-28 02:44 |
Cheers, I'm finding a few of these issues around the place now :) I've just hit another issue with triggers and a GoToStateAction with an explicit TargetName of a parent as well. I don't suppose there's a plan to try and track down these circular references is there? Anything which could potentially help to debug these issues would be fantastic! Obviously this is a feature request so quite low priority, especially at the moment as you're dealing with the fallout of the 3.0.0 release :) Cheers! |
(0006408)
jsantos 2020-05-28 11:09 (Last edited: 2020-05-28 11:09) |
This is something I always wanted to improve, not sure exactly how. Could you please create a new ticket about it? |
(0006414)
sfernandez 2020-05-28 19:11 |
Closing this one, ticket 1707 covers this. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1702 | [NoesisGUI] Unity3D | minor | unable to reproduce | 2020-05-27 06:24 | 2020-05-28 19:08 |
Reporter: | samc | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.1 | ||
Target Version: | 3.0.1 | ||||
Platform: | Windows | ||||
Summary: | Crash while doing an import immediately after upgrading to 3.0.0 | ||||
Description: | Immediately after we upgraded to 3.0.0, I selected 'reimport all' from the Noesis settings menu and I hit this crash. | ||||
Tags: | Unity | ||||
Steps To Reproduce: |
Noesis Settings -> Reimport all This happened the first time after upgrade but hasn't happened since. |
||||
Additional Information: | |||||
Attached Files: |
Crash_2020-05-27_034019761.zip (699,876 bytes) 2020-05-27 06:24 https://www.noesisengine.com/bugs/file_download.php?file_id=1240&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1697 | [NoesisGUI] Unity3D | minor | have not tried | 2020-05-25 11:49 | 2020-05-28 19:07 |
Reporter: | jsantos | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.1 | ||
Target Version: | 3.0.1 | ||||
Platform: | Any | ||||
Summary: | crash while reimporting assets | ||||
Description: |
We're getting a crash here whenever we do "Reimport All Assets". We just found that it's crashing while running scan dependencies on one of our XAML files. We attempt to just reimport the folder where all our XAMLs is in Unity, but it doesn't crash. It looks like it only crashes if we do a "Reimport All" operation in Unity. Reimport All from Noesis Settings Panel works fine |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1692 | [NoesisGUI] C++ SDK | crash | have not tried | 2020-05-21 15:15 | 2020-05-28 17:44 |
Reporter: | steveh | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.1 | ||
Target Version: | 3.0.1 | ||||
Platform: | Any | ||||
Summary: | Crash in Renderer::RenderOffscreen | ||||
Description: |
Hi guys, I've just hit a crash in our code when booting up with Noesis 3.0.0: bool Renderer::RenderOffscreen() { return RenderOffscreen(mTree->GetProjection()); } mTree is nullptr: It looks like all the other Render functions check to make sure that mTree is valid before dereferencing it. I'll fix it locally but just thought I'd let you know. I've not looked into this yet, so I don't know why we are trying to render something which doesn't have a valid tree, but this didn't crash in 2.2.6. Cheers, -Steven |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0006386)
steveh 2020-05-21 17:32 |
Just wanted to quickly update you. I was attempting to render the view before I had initialised the renderer on the render thread on the first frame a new view was created, that's why the tree was null. I've fixed this up so it no longer does this, it now won't try to call IRenderer::Render / IRenderer::RenderOffscreen until we've called Init on the view and passed in the render device. However, I'm guessing we had the same error in 2.2.6, it's just it didn't crash, I imagine it silently failed on the first frame. |
(0006388)
jsantos 2020-05-22 14:01 |
Yes, we were silently failing before and we should keep doing the same now (to avoid crashes when clients create view with empty content), I will fix it. Thanks for reporting. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1700 | [NoesisGUI] C++ SDK | major | always | 2020-05-27 00:45 | 2020-05-28 17:33 |
Reporter: | steveh | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.1 | ||
Target Version: | 3.0.1 | ||||
Platform: | Any | ||||
Summary: | Crash / memory stomp in SDF generator | ||||
Description: |
Hi guys, I'm seeing an assert which is ultimately leading to a memory overwrite in the SDF Generator. We are running at 4k UI and we have a text popup we plays an animation and scales larger than the screen. The text is also drawing to the offscreen buffer, I'm not sure if that makes a difference. The full callstack is as follows: > Noesis::SDFGenerator::Begin(int width, int height) Line 1103 C++ Noesis::GlyphCache::RenderSDF(Noesis::GlyphCache::Glyph * glyph, Noesis::FT_FaceRec_ * face, unsigned int index, unsigned int size, long stroke) Line 397 C++ Noesis::GlyphCache::GetGlyph(Noesis::VGLFontFace * face, unsigned int index, unsigned int size, long stroke, bool inLayer) Line 527 C++ Noesis::GlyphCache::CacheGlyph(Noesis::VGLFontFace * face, unsigned int index, unsigned int size, long stroke) Line 147 C++ Noesis::VGLContext::DrawRunForeground(Noesis::VGLTextLayout * layout, const Noesis::Transform2 & mtx, Noesis::Glyph * glyphs, const Noesis::GlyphRun & run, const Noesis::TextProperties & p, Noesis::VGLPaint * paint, const Noesis::BatchGroup & k, float scale, Noesis::GeoBuilderType builder, unsigned short runIndex, unsigned char flags) Line 3028 C++ Noesis::VGLContext::DrawTextLayout(Noesis::VGLTextLayout * layout, const Noesis::Transform2 & mtx, Noesis::VGLPaint * * paints, unsigned int numPaints, unsigned int flags_) Line 1228 C++ Noesis::RenderTreeHelper::DrawTextLayout(Noesis::VGLTextLayout * textLayout, Noesis::BrushProxy * * brushes, unsigned int numBrushes, unsigned int flags, const Noesis::Rect & bounds, const Noesis::Transform2 & transform) Line 470 C++ Noesis::RenderTreeHelper::DrawCommands(Noesis::RenderNode * node, const Noesis::Recti & surfaceRect, Noesis::DrawingCommandsProxy * drawCommands, const Noesis::Transform2 & transform, const Noesis::Matrix4 & projection, bool isProjectionIdentity, unsigned int bitmapScalingMode) Line 274 C++ [Inline Frame] Noesis::RenderTreeHelper::RenderDraw(Noesis::RenderNode *) Line 743 C++ Noesis::RenderTreeHelper::RenderNodeRecursive(Noesis::RenderNode * node, const Noesis::Recti & surfaceRect, const Noesis::Transform2 & transform, const Noesis::Matrix4 & projection, bool isProjectionIdentity, float opacity, unsigned int depth) Line 703 C++ [Inline Frame] Noesis::RenderTreeHelper::RenderChildren(Noesis::RenderNode * isProjectionIdentity, const Noesis::Recti &) Line 760 C++ Noesis::RenderTreeHelper::RenderNodeRecursive(Noesis::RenderNode * node, const Noesis::Recti & surfaceRect, const Noesis::Transform2 & transform, const Noesis::Matrix4 & projection, bool isProjectionIdentity, float opacity, unsigned int depth) Line 703 C++ [Inline Frame] Noesis::RenderTreeHelper::RenderChildren(Noesis::RenderNode * isProjectionIdentity, const Noesis::Recti &) Line 760 C++ Noesis::RenderTreeHelper::RenderNodeRecursive(Noesis::RenderNode * node, const Noesis::Recti & surfaceRect, const Noesis::Transform2 & transform, const Noesis::Matrix4 & projection, bool isProjectionIdentity, float opacity, unsigned int depth) Line 703 C++ Noesis::RenderTreeHelper::RenderOffscreenNodes() Line 592 C++ Noesis::RenderTreeHelper::RenderOffscreen(Noesis::RenderNode * node, const Noesis::Matrix4 & projection) Line 97 C++ Noesis::RenderTree::RenderOffscreen(const Noesis::Matrix4 & projection) Line 280 C++ Noesis::Renderer::RenderOffscreen(const Noesis::Matrix4 & projection) Line 164 C++ Noesis::Renderer::RenderOffscreen() Line 148 C++ void SDFGenerator::Begin(int width, int height) { NS_ASSERT(width * height <= (int)sizeof(mSDF)); // <--- this hits NS_ASSERT(width * height * (int)sizeof(DFData) <= (int)sizeof(mData)); In my case, width is 79 and height is 66. If I go back up the stack, the cbox.xMax is 3840 (the width of my render target) and the cbox.xmin is -704. So width ends up being (3840 + 704) >> 6 which is 79, and the height ends up as (2816 + 896) >> 6 which is 66. I tried to reproduce this locally in XamlPlayer but was unable to. I'm attaching something very similar to what we have in game, but it doesn't assert or crash in XamlPlayer. |
||||
Tags: | |||||
Steps To Reproduce: |
1. Create a textblock which is almost the full screen in 4k. 2. Scale the textblock. Also change the opacity to ensure it draws to an offscreen buffer. |
||||
Additional Information: | |||||
Attached Files: |
test.xaml (1,383 bytes) 2020-05-27 00:45 https://www.noesisengine.com/bugs/file_download.php?file_id=1237&type=bug test2.xaml (1,447 bytes) 2020-05-27 00:52 https://www.noesisengine.com/bugs/file_download.php?file_id=1238&type=bug |
||||
Notes | |
(0006391)
steveh 2020-05-27 00:52 |
I've just realised it actually crashes on the stroke. I've added strokes to the test XAML and it doesn't assert, but I do notice some artifacts. It seems the large the text the more noticeable the artifacts. I wonder if it is causing an issue but the compiled XAMLPlayer hasn't got asserts enabled? I'm attaching a new version with a stroke. |
(0006392)
jsantos 2020-05-27 01:54 |
I am able to reproduce this and it's been reported by more clients. It will be fixed in 3.0.1, the artifacts are probably a different thing, I will analyze it carefully and tell you. |
(0006412)
jsantos 2020-05-28 17:33 |
Artifacts in the stroke are a different thing. That's related to the new SDF algorithm. Please, open a new ticket if after this fix that's still an issue for you. Thanks for your great feedback! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1694 | [NoesisGUI] C++ SDK | minor | N/A | 2020-05-23 18:00 | 2020-05-28 16:28 |
Reporter: | steveh | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.0.1 | ||||
Platform: | Any | ||||
Summary: | Noesis::Symbol visualiser not working if building Noesis via static libs | ||||
Description: |
Hi guys, just a tiny issue. We build Noesis as a static lib. It seems that when built like a static lib the *.natvis file does not display Symbols correctly: <Type Name="Noesis::Symbol"> <DisplayString>{{ {((const char**){,,Core.Noesis.Kernal.dll}gSymbols.mBegin)[mIndex],na} }}</DisplayString> </Type> <Type Name="Noesis::Symbol"> <DisplayString>{{ {((const char**){,,Core.Noesis.Kernal.dll}gSymbols.mBegin)[mIndex],na} }}</DisplayString> </Type> The issue is the DLL reference. Dropping it so it just references gSymbols directly fixes it: <Type Name="Noesis::Symbol"> <DisplayString>{{ {((const char**)gSymbols.mBegin)[mIndex],na} }}</DisplayString> </Type> <Type Name="Noesis::Symbol"> <DisplayString>{{ {((const char**)gSymbols.mBegin)[mIndex],na} }}</DisplayString> </Type> Just thought I'd mention it. This probably only affects us since I imagine most people are building Noesis via the DLL method. I've changed this locally in my visualiser so this is really low priority. Cheers! |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1695 | [NoesisGUI] C++ SDK | major | always | 2020-05-24 15:29 | 2020-05-28 14:51 |
Reporter: | steveh | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.1 | ||
Target Version: | 3.0.1 | ||||
Platform: | PlayStation4 | ||||
Summary: | Noesis does not compile properly with Clang as static libraries | ||||
Description: |
Hi guys, I forgot that we had changed this locally in previous Noesis versions. I've just hit this issue again as I overwrote our local slighly tweaked modified version of Noesis with the vanilla 3.0.0 base and ran into this issue again when compiling with Clang. It looks like NS_STATIC_LIBRARY is not respected on GNU / Clang for NS_DLL_IMPORT / NS_DLL_EXPORT. You can see that this definition is only considered on MSVC in CompilerSettings.h. My fix is trivial, just check to make see if NS_STATIC_LIBRARY has been defined, and if so, define the NS_DLL_IMPORT / NS_DLL_EXPORT to empty: #ifndef NS_DLL_EXPORT #ifdef NS_STATIC_LIBRARY // @Sumo SPH - Ignore DLL export / import tags #define NS_DLL_EXPORT #else #if __has_declspec_attribute(dllexport) #define NS_DLL_EXPORT __declspec(dllexport) #else #define NS_DLL_EXPORT __attribute__ ((visibility("default"))) #endif #endif // @Sumo SPH - Ignore DLL export / import tags #endif #ifndef NS_DLL_IMPORT #ifdef NS_STATIC_LIBRARY // @Sumo SPH - Ignore DLL export / import tags #define NS_DLL_IMPORT #else #if __has_declspec_attribute(dllimport) #define NS_DLL_IMPORT __declspec(dllimport) #else #define NS_DLL_IMPORT __attribute__ ((visibility("default"))) #endif #endif // @Sumo SPH - Ignore DLL export / import tags #endif |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1690 | [NoesisGUI] C++ SDK | minor | N/A | 2020-05-19 15:17 | 2020-05-28 14:45 |
Reporter: | steveh | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.0.1 | ||||
Platform: | Any | ||||
Summary: | Suggestion: Remove exposed include to platform headers | ||||
Description: |
Hi guys, I'm currently moving our code base over to 3.0.0 RC7 (well technically your SVN trunk head revision) in preparation for the 3.0.0 official release. Note: I'm only using the RC to get our code working locally against the 3.0.0 version, I don't plan to submit the integration until you create a tag for the official 3.0.0 release so I have an official version to work against. I hit another snag. We had several references to FrameworkElement::TryFindResource in our code base. It looks like this has now been removed and replaced with FrameworkElement::FindResource and it no longer looks to throw an error if an invalid resource is requested. I've replaced the instances but then I hit another compile error, similar to the PlaySound error (https://www.noesisengine.com/bugs/view.php?id=1637). It looks like WinAPI redefines FindResource -> FindResourceA / FindResourceW depending on unicode settings (https://docs.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-findresourcea) I think the simplest fix is to remove any reference to #include <windows.h> in the header. Here are the references I could find in the headers: NoesisSDK\Src\Packages\Core\Kernel\Inc\NsCore\SpinMutex.h(19) NoesisSDK\Src\Packages\Core\Kernel\Inc\NsCore\Thread.h(19) NoesisSDK\Src\Packages\Core\Kernel\Inc\NsCore\TLSValue.h(19) NoesisSDK\Src\Packages\Core\Kernel\Include\NsCore\CpuProfiler.h(40) NoesisSDK\Src\Packages\Core\Kernel\Src\ECC.h(167) NoesisSDK\Src\Packages\Core\Kernel\Src\RecursiveMutex.h(19) It would be nice if these platform layer types could be abstracted away into a platform independent type, and then all platform include headers could be removed from external code. For the time being, I've changed my code to do something like the following: /////////////////////////////////////////////////////////////////////////// // Backup the FindResource defintion overridden by WinAPI #ifdef FindResource #define FindResourceBackup FindResource #undef FindResource #endif // ... Code which uses FindResource /////////////////////////////////////////////////////////////////////////// // Restore FindResource #ifdef FindResourceBackup #define FindResource FindResourceBackup #endif This is obviously not ideal, but it gets the code compiling. Cheers! |
||||
Tags: | |||||
Steps To Reproduce: |
- Compile NoesisGUI as a static lib - Include Noesis Headers - Try to call FindResource(...). It'll throw a compile error. |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0006384)
jsantos 2020-05-20 10:38 |
Yes, windows.h again.... :( Problem is, we want SpinMutex and all headers to be inline (for performance) so what I am going to do is just copying the definitions inside windows.h and put exactly what I need instead of doing include windows. We will try to solve this in 3.0.1 (3.0.0 is locked now) |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1696 | [NoesisGUI] C++ SDK | minor | always | 2020-05-24 19:53 | 2020-05-28 11:24 |
Reporter: | steveh | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.1 | ||
Target Version: | 3.0.1 | ||||
Platform: | Any | ||||
Summary: | Uninitialised variable in RenderTree | ||||
Description: |
Hi guys, Just another tiny issue. I'm trying to debug an issue on our local build where the render tree is accessing a dodgy mRoot pointer. Now, this is most likely not the problem, but I noticed that the mRoot property is not iniailised to nullptr. So when it breaks it ends up giving me random addresses. I've fixed it locally by simply initialising mRoot to null in the initialiser list: RenderTree::RenderTree(RenderDevice* device): mDevice(device), mCachedPathContext(0), mRoot(nullptr), // @Sumo SPH - Initialised the root mOffscreenIndex(0), mOffscreenNodeParent(-1), mDebugFlags(0), mFlags(0), mFrameCount(0), mRenderNodeAllocator(sizeof(RenderNode), 64) Also, the projection matrix is not initialised to identity matrix, but I've not seen this cause any issues. Cheers, -Steven |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1701 | [NoesisGUI] Unity3D | block | sometimes | 2020-05-27 06:22 | 2020-05-28 11:23 |
Reporter: | samc | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.1 | ||
Target Version: | 3.0.1 | ||||
Platform: | Windows | ||||
Summary: | Unity crash 50% of the time entering play mode after 3.0.0 upgrade | ||||
Description: |
First entrance into play mode is almost always ok; but the 2nd time I tried play mode it seems to crash most of the time. Call stack unity gives me looks like this: 0x00007FFD39229491 (Noesis) TemplateBindingExtension_Property_get 0x00007FFD3922952A (Noesis) TemplateBindingExtension_Property_get 0x00007FFD3935688C (Noesis) Noesis_RegisterLogCallback 0x00007FF7C7A107DE (Unity) GfxDeviceWorker::RunCommand 0x00007FF7C7A185FC (Unity) GfxDeviceWorker::RunExt 0x00007FF7C7A189E8 (Unity) GfxDeviceWorker::RunGfxDeviceWorker 0x00007FF7C88AFE53 (Unity) Thread::RunThreadWrapper 0x00007FFDA1BD7BD4 (KERNEL32) BaseThreadInitThunk 0x00007FFDA2E0CE51 (ntdll) RtlUserThreadStart |
||||
Tags: | Unity | ||||
Steps To Reproduce: |
1) Enter play mode 2) Exit play mode 3) Re-enter play mode 4) Repeat until crash |
||||
Additional Information: | |||||
Attached Files: |
Crash_2020-05-27_041253606.zip (961,611 bytes) 2020-05-27 06:22 https://www.noesisengine.com/bugs/file_download.php?file_id=1239&type=bug Crash_2020-05-27_214010072.zip (969,913 bytes) 2020-05-27 23:43 https://www.noesisengine.com/bugs/file_download.php?file_id=1243&type=bug Crash_2020-05-27_213622401.zip (658,417 bytes) 2020-05-27 23:43 https://www.noesisengine.com/bugs/file_download.php?file_id=1244&type=bug Crash_2020-05-28_000428086.zip (912,966 bytes) 2020-05-28 02:08 https://www.noesisengine.com/bugs/file_download.php?file_id=1245&type=bug |
||||
Notes | |
(0006395)
sfernandez 2020-05-27 14:03 |
Hi Sam, do you have a way to reproduce this with a small sample or one of our samples? From the callstack I see it is happening when it starts to render, and our view doesn't seem to be correctly initialized. |
(0006396)
sfernandez 2020-05-27 16:48 |
In case there is no easy way to reproduce this outside your project I prepared a debug version of our library with some extra logs to help us narrow the source of the problem. Could you please try again using this library? https://drive.google.com/file/d/1buzExMRV-gujPsscWWI9G_KQJoRBbmrF/view?usp=sharing To enable the logging go to NoesisSettings and set "Log Verbosity" to "Normal" so our logs are output to Editor.log . Thanks for your collaboration. |
(0006400)
samc 2020-05-27 23:43 |
I got a crash immediately upon starting unity with the DLL you gave me. Re-ran and no crash. Not sure why? However, I then tried play mode and got the same crash as before. I've attached both crash reports here. Will try to see what's going on and if I can make a smaller repro case. |
(0006401)
samc 2020-05-27 23:44 |
Forgot to mention it, but I did turn the logging level to "normal" as advised. |
(0006402)
sfernandez 2020-05-28 01:07 |
I generated a new library with more logs on the code that seems to be the cause of the problem. Could you please check again: https://drive.google.com/file/d/19ivzgVZ4jq2gQ57BIIzhzss0EBABA_b4/view?usp=sharing Sorry for the inconvenience. |
(0006403)
samc 2020-05-28 02:08 |
Ok, attached the crash. Relevant logs: [noesis] 'Assets/Scripts/Runtime/Client/UI/Themes/TorchTheme.Colors.xaml' loaded [noesis] 'Assets/Scripts/Runtime/Client/UI/Themes/TorchTheme.Brushes.xaml' loaded [noesis] 'Assets/Scripts/Runtime/Client/UI/Themes/TorchTheme.Fonts.xaml' loaded [noesis] 'Assets/Scripts/Runtime/Client/UI/Themes/TorchTheme.Styles.xaml' loaded [noesis] 'Assets/Scripts/Runtime/Client/UI/Themes/TorchTheme.xaml' loaded [noesis] 'Assets/Scripts/Runtime/Client/UI/HUD/HUD Icons.xaml' loaded [noesis] 'Assets/Scripts/Runtime/Client/UI/HUD/HUD Icons.xaml' loaded [noesis] 'Assets/Scripts/Runtime/Client/UI/HUD/HUD Templates.xaml' loaded [noesis] 'Assets/Scripts/Runtime/Client/UI/HUD/HUDInteractView.xaml' loaded [noesis] 'Assets/Scripts/Runtime/Client/UI/HUD/HUDDevStatsView.xaml' loaded [noesis] 'Assets/Scripts/Runtime/Client/UI/HUD/HUDEquipmentSwapView.xaml' loaded [noesis] 'Assets/Scripts/Runtime/Client/UI/HUD/HUDAbilityView.xaml' loaded [noesis] 'Assets/Scripts/Runtime/Client/UI/HUD/HUDAbilityView.xaml' loaded [noesis] 'Assets/Scripts/Runtime/Client/UI/HUD/HUDAbilityView.xaml' loaded [noesis] 'Assets/Scripts/Runtime/Client/UI/HUD/HUDAbilityView.xaml' loaded [noesis] 'Assets/Scripts/Runtime/Client/UI/HUD/HUDAbilityView.xaml' loaded [noesis] 'Assets/Scripts/Runtime/Client/UI/HUD/HUDGameStateView.xaml' loaded [noesis] 'Assets/Scripts/Runtime/Client/UI/HUD/HUDPaperDollView.xaml' loaded [noesis] 'Assets/Scripts/Runtime/Client/UI/HUD/Ascension Templates.xaml' loaded [noesis] 'Assets/Scripts/Runtime/Client/UI/HUD/AscensionMapView.xaml' loaded [noesis] 'Assets/Scripts/Runtime/Client/UI/HUD/HUD.xaml' loaded [noesis] View.UpdateRoot: 1 [noesis] Renderer.UpdateRenderTree [noesis] Renderer.RendererQueue: Read=0, Write=0 [noesis] RenderTree.NeedsOffscreen |
(0006404)
samc 2020-05-28 02:15 |
We have a few modifications to the Noesis C# code; I don't think these are the cause but I'm not 100% sure (sorry I wasn't more clear about this earlier). We have added an option so we can explicitly tell our Noesis View when to update rather than in LateUpdate() (our game is written in DOTS so we needed a custom place to trigger the update). The other change is that we added a couple methods on NoesisView so we could render from a custom SRP render pass. Here is the relevant code changes we made: Noesis View: public void RenderOffScreenHD(CommandBuffer cmd) { if (_uiView != null && _visible) { NoesisRenderer.RenderOffscreen(_uiView, cmd); } } public void RenderOnScreenHD(CommandBuffer cmd) { if (_uiView != null && _visible) { NoesisRenderer.RenderOnscreen(_uiView, true, cmd); _updatePending = true; } } Our custom render pass: using UnityEngine.Rendering; using UnityEngine.Rendering.HighDefinition; public abstract class NoesisRenderPass : CustomPass { protected NoesisView View; protected override void Execute(ScriptableRenderContext renderContext, CommandBuffer cmd, HDCamera camera, CullingResults cullingResult) { if (View == null) { View = camera.camera.GetComponent<NoesisView>(); } } } public class NoesisOnScreenRenderPass : NoesisRenderPass { protected override void Execute(ScriptableRenderContext renderContext, CommandBuffer cmd, HDCamera camera, CullingResults cullingResult) { base.Execute(renderContext, cmd, camera, cullingResult); if (View != null) { View.RenderOnScreenHD(cmd); } } } public class NoesisOffScreenRenderPass : NoesisRenderPass { protected override void Execute(ScriptableRenderContext renderContext, CommandBuffer cmd, HDCamera camera, CullingResults cullingResult) { base.Execute(renderContext, cmd, camera, cullingResult); if (View != null) { View.RenderOffScreenHD(cmd); } } } I am trying to make a minimal example that takes advantage of these changes to see if that reproduces the bug because just using 2019.3.14f1 with the default samples seems to be solid :( |
(0006406)
samc 2020-05-28 07:00 |
We removed all the custom render code we had added (not necessary anymore anyhow), but we still hit the crash. We're happy to debug further here but we'll need to build a debug version of Noesis. I think we might have source code access. |
(0006407)
sfernandez 2020-05-28 09:47 |
Thanks for the help debugging this. The logs confirmed my suspicions and I have a clear view on what is happening. We'll fix it for the next release. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1699 | [NoesisGUI] Unity3D | minor | always | 2020-05-26 13:15 | 2020-05-26 13:17 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.1 | ||
Target Version: | 3.0.1 | ||||
Platform: | Any | ||||
Summary: | Application resources can't use StaticResource between merged dictionaries | ||||
Description: |
Given the following Resources.xaml used as Application Resources in Unity:<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <ResourceDictionary.MergedDictionaries> <ResourceDictionary Source="Colors.xaml"/> <ResourceDictionary Source="Brushes.xaml"/> </ResourceDictionary.MergedDictionaries> </ResourceDictionary> If Brushes.xaml uses a StaticResource defined in Colors.xaml it won't work. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1698 | [NoesisGUI] C++ SDK | minor | always | 2020-05-26 12:19 | 2020-05-26 13:12 |
Reporter: | jsantos | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.1 | ||
Target Version: | 3.0.1 | ||||
Platform: | Windows | ||||
Summary: | Win32Display not working on Windows 7 | ||||
Description: | In NoesisGUI 3.0 we added a dependency to shcore.lib that broke Windows 7 compatibility. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1345 | [NoesisGUI] Documentation | feature | have not tried | 2018-11-21 13:01 | 2020-05-25 10:59 |
Reporter: | jsantos | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.0 | ||||
Platform: | Any | ||||
Summary: | Add tutorial about Visual States | ||||
Description: | Write a proper tutorial explaining how Visual States work. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1641 | [NoesisGUI] C++ SDK | minor | have not tried | 2020-03-18 17:18 | 2020-05-25 10:58 |
Reporter: | steveh | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 2.2.6 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.0 | ||||
Platform: | Any | ||||
Summary: | Assert focusing the selected item in a ListBox via a Style trigger | ||||
Description: |
Using a Trigger+Action to focus an item in a list when it gets selected is raising an assert because a selection is occurring inside another selection change:<Style x:Key="ListBoxItemStyle" TargetType="ListBoxItem" BasedOn="{StaticResource {x:Type ListBoxItem}}"> <Setter Property="Template" Value="{StaticResource ListBoxItemTemplate}"/> <Setter Property="noesis:StyleInteraction.Triggers"> <Setter.Value> <noesis:StyleTriggerCollection> <ei:DataTrigger Binding="{Binding IsSelected, RelativeSource={RelativeSource AncestorType={x:Type ListBoxItem}}}" Value="True"> <noesis:SetFocusAction/> </ei:DataTrigger> </noesis:StyleTriggerCollection> </Setter.Value> </Setter> </Style> The callstack of the assert: >>> MyExe.exe!Noesis::Selector::InternalSelectRange(int start, int end) Line 660 C++ MyExe.exe!Noesis::ListBox::SingleSelection(Noesis::ListBoxItem * lbi) Line 146 C++ MyExe.exe!Noesis::ListBox::ItemClicked(Noesis::ListBoxItem * lbi, bool toggleSelection, bool shiftKeyDown, bool ctrlKeyDown) Line 305 C++ MyExe.exe!Noesis::ListBox::ItemClicked(Noesis::ListBoxItem * lbi, bool toggleSelection) Line 284 C++ MyExe.exe!Noesis::ListBoxItem::OnGotFocus(const Noesis::RoutedEventArgs & e) Line 195 C++ MyExe.exe!Noesis::UIElement::OnIsFocusedChanged(const Noesis::DependencyPropertyChangedEventArgs & e) Line 2807 C++ MyExe.exe!Noesis::UIElement::OnPropertyChanged(const Noesis::DependencyPropertyChangedEventArgs & args) Line 2003 C++ MyExe.exe!Noesis::FrameworkElement::OnPropertyChanged(const Noesis::DependencyPropertyChangedEventArgs & args) Line 1636 C++ MyExe.exe!Noesis::Control::OnPropertyChanged(const Noesis::DependencyPropertyChangedEventArgs & args) Line 442 C++ MyExe.exe!Noesis::ContentControl::OnPropertyChanged(const Noesis::DependencyPropertyChangedEventArgs & args) Line 146 C++ MyExe.exe!Noesis::ListBoxItem::OnPropertyChanged(const Noesis::DependencyPropertyChangedEventArgs & args_) Line 120 C++ MyExe.exe!Noesis::DependencyObject::NotifyPropertyChanged(const Noesis::DependencyProperty * dp, Noesis::StoredValue * storedValue, const void * oldValue, const void * newValue, bool valueChanged, bool isBaseComponent, const Noesis::PropertyMetadata * metadata) Line 1155 C++ MyExe.exe!Noesis::DependencyObject::InternalSetValue(const Noesis::DependencyProperty * dp, void * oldValue, const void * newValue, void * coercedValue, unsigned char priority, Noesis::Expression * newExpression, const Noesis::PropertyMetadata * metadata, Noesis::Value::Destination destination, bool isBaseComponent) Line 797 C++ MyExe.exe!Noesis::DependencyObject::SetValue_<bool>(Noesis::Int2Type<0> __formal, const Noesis::DependencyProperty * dp, bool value, Noesis::Value::Destination destination) Line 168 C++ MyExe.exe!Noesis::DependencyObject::SetReadOnlyProperty<bool>(const Noesis::DependencyProperty * dp, bool value) Line 62 C++ MyExe.exe!Noesis::Keyboard::Focus(Noesis::UIElement * element, bool askOld, bool askNew, bool canBeNull) Line 442 C++ MyExe.exe!Noesis::Keyboard::Focus(Noesis::UIElement * element) Line 149 C++ MyExe.exe!Noesis::UIElement::Focus() Line 453 C++ MyExe.exe!NoesisApp::SetFocusAction::Invoke(Noesis::BaseComponent * __formal) Line 30 C++ MyExe.exe!NoesisApp::TriggerAction::CallInvoke(Noesis::BaseComponent * parameter) Line 47 C++ MyExe.exe!NoesisApp::TriggerBase::InvokeActions(Noesis::BaseComponent * parameter) Line 76 C++ MyExe.exe!NoesisApp::DataTrigger::Evaluate() Line 99 C++ MyExe.exe!NoesisApp::DataTrigger::EvaluateBindingChange() Line 81 C++ MyExe.exe!NoesisApp::PropertyChangedTrigger::OnBindingChanged(Noesis::DependencyObject * d, const Noesis::DependencyPropertyChangedEventArgs & __formal) Line 70 C++ MyExe.exe!Noesis::Delegate<void __cdecl(Noesis::DependencyObject *,Noesis::DependencyPropertyChangedEventArgs const &)>::FreeFuncStub<void (__cdecl*)(Noesis::DependencyObject *,Noesis::DependencyPropertyChangedEventArgs const &)>::Invoke(Noesis::DependencyObject * <args_0>, const Noesis::DependencyPropertyChangedEventArgs & <args_1>) Line 391 C++ MyExe.exe!Noesis::Delegate<void __cdecl(Noesis::DependencyObject *,Noesis::DependencyPropertyChangedEventArgs const &)>::operator()(Noesis::DependencyObject * <args_0>, const Noesis::DependencyPropertyChangedEventArgs & <args_1>) Line 155 C++ MyExe.exe!Noesis::DependencyObject::OnPropertyChanged(const Noesis::DependencyPropertyChangedEventArgs & args) Line 513 C++ MyExe.exe!Noesis::Freezable::OnPropertyChanged(const Noesis::DependencyPropertyChangedEventArgs & e) Line 237 C++ MyExe.exe!Noesis::DependencyObject::NotifyPropertyChanged(const Noesis::DependencyProperty * dp, Noesis::StoredValue * storedValue, const void * oldValue, const void * newValue, bool valueChanged, bool isBaseComponent, const Noesis::PropertyMetadata * metadata) Line 1155 C++ MyExe.exe!Noesis::DependencyObject::InternalSetValue(const Noesis::DependencyProperty * dp, void * oldValue, const void * newValue, void * coercedValue, unsigned char priority, Noesis::Expression * newExpression, const Noesis::PropertyMetadata * metadata, Noesis::Value::Destination destination, bool isBaseComponent) Line 797 C++ MyExe.exe!Noesis::ValueStorageManagerImpl<Noesis::Ptr<Noesis::BaseComponent> >::SetValue(Noesis::DependencyObject * dob, const Noesis::DependencyProperty * dp, Noesis::BaseComponent * value, unsigned char priority, Noesis::Expression * expression, const Noesis::PropertyMetadata * metadata, Noesis::Value::Destination destination) Line 234 C++ MyExe.exe!Noesis::ValueStorageManager::SetValueObject(Noesis::DependencyObject * dob, const Noesis::DependencyProperty * dp, Noesis::BaseComponent * value, unsigned char priority, Noesis::Expression * expression, const Noesis::PropertyMetadata * metadata, Noesis::Value::Destination destination) Line 40 C++ MyExe.exe!Noesis::DependencyProperty::SetValueObject(Noesis::DependencyObject * obj, Noesis::BaseComponent * value, unsigned char priority, Noesis::Expression * expression, const Noesis::PropertyMetadata * metadata, Noesis::Value::Destination destination) Line 210 C++ MyExe.exe!Noesis::DependencyObject::InternalSetExpression(const Noesis::DependencyProperty * dp, Noesis::Expression * newExpression, unsigned char priority) Line 599 C++ MyExe.exe!Noesis::DependencyObject::InternalInvalidateProperty(const Noesis::DependencyProperty * dp, unsigned char priority) Line 981 C++ MyExe.exe!Noesis::DependencyObject::InvalidateProperty(const Noesis::DependencyProperty * dp, unsigned char priority) Line 218 C++ MyExe.exe!Noesis::BindingExpression::OnDependencyPropertyChanged(Noesis::BaseComponent * sender, const Noesis::DependencyPropertyChangedEventArgs & args) Line 1747 C++ MyExe.exe!Noesis::Delegate<void __cdecl(Noesis::BaseComponent *,Noesis::DependencyPropertyChangedEventArgs const &)>::MemberFuncStub<Noesis::BindingExpression,void (__cdecl Noesis::BindingExpression::*)(Noesis::BaseComponent *,Noesis::DependencyPropertyChangedEventArgs const &)>::Invoke(Noesis::BaseComponent * <args_0>, const Noesis::DependencyPropertyChangedEventArgs & <args_1>) Line 465 C++ MyExe.exe!Noesis::Delegate<void __cdecl(Noesis::BaseComponent *,Noesis::DependencyPropertyChangedEventArgs const &)>::operator()(Noesis::BaseComponent * <args_0>, const Noesis::DependencyPropertyChangedEventArgs & <args_1>) Line 155 C++ MyExe.exe!Noesis::Delegate<void __cdecl(Noesis::BaseComponent *,Noesis::DependencyPropertyChangedEventArgs const &)>::MultiDelegate::Invoke(Noesis::BaseComponent * <args_0>, const Noesis::DependencyPropertyChangedEventArgs & <args_1>) Line 577 C++ MyExe.exe!Noesis::Delegate<void __cdecl(Noesis::BaseComponent *,Noesis::DependencyPropertyChangedEventArgs const &)>::operator()(Noesis::BaseComponent * <args_0>, const Noesis::DependencyPropertyChangedEventArgs & <args_1>) Line 155 C++ MyExe.exe!Noesis::DependencyObject::OnPropertyChanged(const Noesis::DependencyPropertyChangedEventArgs & args) Line 514 C++ MyExe.exe!Noesis::Visual::OnPropertyChanged(const Noesis::DependencyPropertyChangedEventArgs & args) Line 766 C++ MyExe.exe!Noesis::UIElement::OnPropertyChanged(const Noesis::DependencyPropertyChangedEventArgs & args) Line 1887 C++ MyExe.exe!Noesis::FrameworkElement::OnPropertyChanged(const Noesis::DependencyPropertyChangedEventArgs & args) Line 1636 C++ MyExe.exe!Noesis::Control::OnPropertyChanged(const Noesis::DependencyPropertyChangedEventArgs & args) Line 442 C++ MyExe.exe!Noesis::ContentControl::OnPropertyChanged(const Noesis::DependencyPropertyChangedEventArgs & args) Line 146 C++ MyExe.exe!Noesis::ListBoxItem::OnPropertyChanged(const Noesis::DependencyPropertyChangedEventArgs & args_) Line 120 C++ MyExe.exe!Noesis::DependencyObject::NotifyPropertyChanged(const Noesis::DependencyProperty * dp, Noesis::StoredValue * storedValue, const void * oldValue, const void * newValue, bool valueChanged, bool isBaseComponent, const Noesis::PropertyMetadata * metadata) Line 1155 C++ MyExe.exe!Noesis::DependencyObject::InternalSetValue(const Noesis::DependencyProperty * dp, void * oldValue, const void * newValue, void * coercedValue, unsigned char priority, Noesis::Expression * newExpression, const Noesis::PropertyMetadata * metadata, Noesis::Value::Destination destination, bool isBaseComponent) Line 797 C++ MyExe.exe!Noesis::DependencyObject::SetValue_<bool>(Noesis::Int2Type<0> __formal, const Noesis::DependencyProperty * dp, bool value, Noesis::Value::Destination destination) Line 168 C++ MyExe.exe!Noesis::DependencyObject::SetValue<bool>(const Noesis::DependencyProperty * dp, bool value) Line 47 C++ MyExe.exe!Noesis::Selector::SetIsSelected(Noesis::DependencyObject * element, bool value) Line 81 C++ MyExe.exe!Noesis::Selector::OnItemSelected(Noesis::SelectionChangedEventArgs & e, Noesis::BaseComponent * item, int index) Line 1003 C++ MyExe.exe!Noesis::Selector::UpdateSingleSelectedList(Noesis::SelectionChangedEventArgs & e, Noesis::BaseComponent * selectedItem, int selectedIndex) Line 913 C++ >>> MyExe.exe!Noesis::Selector::OnSelectedIndexChanged(int oldIndex, int newIndex) Line 1048 C++ MyExe.exe!Noesis::Selector::OnPropertyChanged(const Noesis::DependencyPropertyChangedEventArgs & args) Line 559 C++ MyExe.exe!Noesis::ListBox::OnPropertyChanged(const Noesis::DependencyPropertyChangedEventArgs & args) Line 71 C++ MyExe.exe!Noesis::DependencyObject::NotifyPropertyChanged(const Noesis::DependencyProperty * dp, Noesis::StoredValue * storedValue, const void * oldValue, const void * newValue, bool valueChanged, bool isBaseComponent, const Noesis::PropertyMetadata * metadata) Line 1155 C++ MyExe.exe!Noesis::DependencyObject::InternalSetValue(const Noesis::DependencyProperty * dp, void * oldValue, const void * newValue, void * coercedValue, unsigned char priority, Noesis::Expression * newExpression, const Noesis::PropertyMetadata * metadata, Noesis::Value::Destination destination, bool isBaseComponent) Line 797 C++ MyExe.exe!Noesis::DependencyObject::SetValue_<int>(Noesis::Int2Type<0> __formal, const Noesis::DependencyProperty * dp, int value, Noesis::Value::Destination destination) Line 168 C++ MyExe.exe!Noesis::DependencyObject::SetValue<int>(const Noesis::DependencyProperty * dp, int value) Line 47 C++ MyExe.exe!Noesis::Selector::SetSelectedIndex(int index) Line 112 C++ |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1681 | [NoesisGUI] C# SDK | minor | always | 2020-05-07 17:50 | 2020-05-25 10:56 |
Reporter: | ai_enabled | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.0.0 | ||
Product Build: | Resolution: | reopened | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.0 | ||
Target Version: | 3.0 | ||||
Platform: | Any | ||||
Summary: | ImageBrush with reloaded texture (through RaiseTextureChanged) doesn't recalculate its viewport/viewbox properly | ||||
Description: |
Hi guys, RaiseTextureChanged provides a great mechanism for delayed texture loading. So far it works perfectly well except a single case I've noticed. We have a resource like this: <ImageBrush x:Key="WidgetBackgroundImageTexture" ImageSource="/UI/Images/Backgrounds/WidgetBackground.png" TileMode="Tile" Stretch="Uniform" Viewport="0,0,8,8" Viewbox="0,0,12,12" ViewboxUnits="Absolute" ViewportUnits="Absolute" /> Unfortunately, this ImageBrush doesn't react to the texture reloading properly. I've ensured that the new texture is loaded by NoesisGUI (I see it's actually replacing my temporary placeholder magenta texture with something else) but Viewbox/Viewport is not recalculated so the tiling is wrong. Please let me know if I can help with this bug further. Regards! |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
Good.jpg (1,215,008 bytes) 2020-05-07 17:50 https://www.noesisengine.com/bugs/file_download.php?file_id=1227&type=bug Bad.jpg (1,207,506 bytes) 2020-05-07 17:50 https://www.noesisengine.com/bugs/file_download.php?file_id=1228&type=bug Screenshot at 02-12-43.jpg (17,681 bytes) 2020-05-12 00:15 https://www.noesisengine.com/bugs/file_download.php?file_id=1230&type=bug Screenshot at 02-15-38.jpg (32,825 bytes) 2020-05-12 00:16 https://www.noesisengine.com/bugs/file_download.php?file_id=1231&type=bug |
||||
Notes | |
(0006338)
sfernandez 2020-05-09 00:00 |
Is this something you can reproduce always? Because it seems to be working fine for me with your game v0.26.8.20 and our RC5. Is it normal that if I modify the image and save it, then the game shows the "COMPILING" message and reloads? Anyway, before reloading I can see the background image is tiled correctly. |
(0006339)
ai_enabled 2020-05-09 00:15 (Last edited: 2020-05-09 00:17) |
The current game version doesn't have image reloading implemented for NoesisGUI yet. It simply invokes full reloading (scripts + UI, with purging our NoesisTextureProvider's cache). That's why you cannot reproduce the issue. If you want to check, please use this Editor build https://www.dropbox.com/s/ad95yu22vt6orqr/CryoFall_Editor_v0.26.8.27_NoesisGUI_3.0.0rc4.7z?dl=0 (built with RC4) It also doesn't have hot reloading for image file changes. But it's using `RaiseTextureChanged` for each image that could not be provided to NoesisGUI instantly through `LoadTexture` method of TextureProvider's implementation. (All of them are cannot be provided instantly in this build. So I've implemented async texture loading for NoesisGUI TextureProvider) Also, `GetTextureInfo` method of TextureProvider's implementation will provide width=0 height=0 for missing files and width=1 height=1 for existing image files that are not yet loaded in the cache (if they're loaded it will provide actual width and height). So far it works perfectly well for every image used in the UI except the ImageBrush x:Key="WidgetBackgroundImageTexture" I've verified that for "/UI/Images/Backgrounds/WidgetBackground.png" after `RaiseTextureChanged` NoesisGUI does request the `GetTextureInfo()` method (and collects result with width=8 and height=8) and then does `LoadTexture()` for it. The texture is loaded properly (it was magenta texture initially, and I clearly see it's no longer a magenta texture), but the tiling is not updated. Regards! |
(0006347)
ai_enabled 2020-05-12 00:14 |
Please check the main menu. There is another but similar issue when the texture has incorrect rendering (incorrect stretching) in Image object after reloading. I've tried manually setting Image width or/and height but it doesn't help.<Image Source="/UI/Images/Logo/logo_cryofall_128.png" Grid.Column="0" Margin="10,5,40,5" Stretch="Uniform" SnapsToDevicePixels="False" /> file location: Core.cpk\UI\Controls\Menu\MainMenuOverlay.xaml |
(0006348)
ai_enabled 2020-05-12 00:15 |
Here is the screenshot: |
(0006349)
ai_enabled 2020-05-12 00:16 (Last edited: 2020-05-12 00:46) |
How should it look: (if you use Ctrl+F5 it will look this way as our texture provider will not use reloading and instantly provide the proper texture size by using the cached DX Texture2D object) UPD. I've checked the whole game and there are no other cases of this issue. Even though we're using Image Stretch in several other places. |
(0006350)
ai_enabled 2020-05-12 00:33 |
No priority with this as I believe it would be not right to report to NoesisGUI 1x1 size as it doesn't result in the correct layout immediately which might be essential in some cases (it's weird when for example the main menu layout is changed as the images are loaded asynchronously). When providing actual size to NoesisGUI it works properly and likely will not cause any other issues. Calculating an actual size is a slight and reasonable overhead and it's anyway much better than how it was before NoesisGUI supported async texture loading with our texture provider. Regards! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1693 | [NoesisGUI] C++ SDK | minor | N/A | 2020-05-22 12:00 | 2020-05-22 13:53 |
Reporter: | steveh | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | No 3.0.0 SVN tag | ||||
Description: |
Hi guys, Congratulations on the release of 3.0! I've just had a quick look in the source repository and have noticed that there is no tag for 3.0. I'm currently synced to the head revision but would obviously prefer to sync to an official tag so I'm working from the same revision ID as the official 3.0 release. Is there any chance the version could be tagged in SVN so I can sync to that? Much appreciated! -Steven |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0006387)
jsantos 2020-05-22 13:53 |
Already tagged, sorry about it. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1691 | [NoesisGUI] C# SDK | major | random | 2020-05-19 18:41 | 2020-05-19 21:18 |
Reporter: | stonstad | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.0 | ||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Invalid License Shown at Random | ||||
Description: |
I am getting random "invalid license" overlays for a WebGL application. See screenshot. I'm using my license (not MBI's) for this application. |
||||
Tags: | |||||
Steps To Reproduce: |
When I rapidly click UI buttons (very rapid -- spam) the overlay appears! |
||||
Additional Information: | |||||
Attached Files: |
RandomLicenseError.png (178,735 bytes) 2020-05-19 18:41 https://www.noesisengine.com/bugs/file_download.php?file_id=1236&type=bug |
||||
Notes | |
(0006378)
stonstad 2020-05-19 18:42 |
v3.0.0rc7 |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1680 | [NoesisGUI] Unity3D | minor | have not tried | 2020-05-07 12:55 | 2020-05-11 14:24 |
Reporter: | jsantos | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.0 | ||
Target Version: | 3.0.0 | ||||
Platform: | macOS | ||||
Summary: | Missing Info.plist on Noesis.bundle at macOS | ||||
Description: |
Since macOS Catalina requires additional code signing and notarization process you should include the Info.plist file in your unity package distribution, otherwise the code signing process will fail. In my scenario, I'm embedding the unity output app into another wrapper app and originally Xcode could not sign the Noesis.bundle since the Info.plist could not be found. I've created a simple Info.plist file, added it under the Noesis.bundle\Contents folder and the issue was resolved https://www.noesisengine.com/forums/viewtopic.php?f=3&t=1972 |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0006345)
jsantos 2020-05-11 14:24 |
Thanks for the feedback. We also notarised the bundle |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1620 | [NoesisGUI] Unity3D | major | always | 2020-01-16 16:15 | 2020-05-08 12:32 |
Reporter: | stonstad | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.6 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.0 | ||
Target Version: | 3.0.0 | ||||
Platform: | Any | ||||
Summary: | GC Allocations #1 | ||||
Description: |
In 2.2.6 I am seeing more per-frame allocations than 2.2.5. Specifically, the new dispatcher allocates. NoesisView.LateUpdate() is also allocating. I am investigating on my side to try to understand to what extent this is something I could be causing. Screenshot enclosed of allocations and corresponding stacktrace. - View.RaiseRendering() - ObjectEqualityComparer. - Extend.FrameworkElementMeasure() - Extend.FrameworkElementArrange() |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
GC Allocations 1.PNG (68,097 bytes) 2020-01-16 16:15 https://www.noesisengine.com/bugs/file_download.php?file_id=1151&type=bug GC Allocations 2.png (39,983 bytes) 2020-01-16 16:16 https://www.noesisengine.com/bugs/file_download.php?file_id=1152&type=bug No Alloc.PNG (4,130,831 bytes) 2020-01-21 16:48 https://www.noesisengine.com/bugs/file_download.php?file_id=1153&type=bug Alloc wNoesis.PNG (3,976,413 bytes) 2020-01-21 16:48 https://www.noesisengine.com/bugs/file_download.php?file_id=1154&type=bug No Alloc-2.PNG (4,130,831 bytes) 2020-01-21 16:48 https://www.noesisengine.com/bugs/file_download.php?file_id=1155&type=bug Alloc wNoesis-2.PNG (3,976,413 bytes) 2020-01-21 16:48 https://www.noesisengine.com/bugs/file_download.php?file_id=1156&type=bug |
||||
Notes | |
(0006077)
stonstad 2020-01-16 16:16 (Last edited: 2020-01-16 17:43) |
Encl. GC Allocations #2. DispatcherOperation.Invoke(). As it is new, I do not directly use the Noesis dispatcher directly in my code. |
(0006078)
stonstad 2020-01-21 16:48 |
For testing, all UI is tied to one GameObject node to simplify enabling and disabling Noesis UI. Encl. Alloc wNoesis.png. Screenshot of Stellar Conquest with Noesis enabled. Encl. No Alloc.png Screenshot of Stellar Conquest with Noesis disabled. Screenshots show significant allocation in Noesis, some of it new in 2.2.6. I definitely appreciate new features planned for 3.0, but I feel this is a barrier for commercial success in PC/console gaming. |
(0006183)
stonstad 2020-04-09 17:35 |
Hello -- I am just reaching out to see if there has been any work done around these GC allocations? I haven't rerun my tests w/ Beta 6. If anything has changed please let me know and I'll rerun. I'm holding off on upgrading Stellar Conquest to v3.x until GC allocations are addressed. Thanks, Shaun |
(0006232)
sfernandez 2020-04-21 16:54 |
In 3.0 there shouldn't be any remaining GC Allocs. There were some related to our DispatcherSynchronizationContext incorrectly being used in Unity. We also fixed the allocs generated by Rendering event and Measure/Arrange. |
(0006235)
stonstad 2020-04-22 16:51 |
Outstanding news, thank you Sergio! Stellar Conquest has over 100 screens and user controls, which always makes for a good test. I'll get it converted to B8 and share what I see. Thank you for making this change -- I'm super excited! |
(0006248)
stonstad 2020-04-23 20:16 |
Sergio, The allocations caused by using OnGUI in NoesisView.cs remain. Noesis should not be using OnGUI external to the editor because it is not designed for production use. See https://www.noesisengine.com/forums/viewtopic.php?f=3&t=1867&p=10600&hilit=ongui#p10600 According to Unity: "The Immediate Mode GUI system is commonly used for: Creating in-game debugging displays and tools. Creating custom inspectors for script components. Creating new editor windows and tools to extend Unity itself. The IMGUI system is not generally intended to be used for normal in-game user interfaces that players might use and interact with." |
(0006333)
jsantos 2020-05-08 12:32 |
I am going to mark this as solved. @stonstad could you please create a new ticket about OnGUI events and GC allocs? |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1661 | [NoesisGUI] C# SDK | major | always | 2020-04-20 17:53 | 2020-05-08 10:37 |
Reporter: | ai_enabled | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.0 | ||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.0 | ||
Target Version: | 3.0.0 | ||||
Platform: | Any | ||||
Summary: | VisualStateManager issues with transitions, initial state name through databinding | ||||
Description: |
Hi guys: 1. useTransitions: false in GoToState/GoToElementState seems to be broken—please verify. I was able to reproduce this issue consistently but it's hard to provide a test sample right now. 2. another problem is that when the initial data binding applies the VSM is using the transition to the bound state name. In 2.2 and before it transferred to the initial state without the transition. <VisualStateManager.VisualStateGroups> <VisualStateGroup x:Name="VisibilityStates"> <VisualStateGroup.Transitions> <VisualTransition To="Collapsed" GeneratedDuration="0:0:0.25" /> <VisualTransition To="Visible" GeneratedDuration="0:0:0.25" /> </VisualStateGroup.Transitions> <VisualState x:Name="Visible" /> <VisualState x:Name="Collapsed"> <Storyboard> <DoubleAnimation Storyboard.TargetProperty="Opacity" To="0" /> </Storyboard> </VisualState> </VisualStateGroup> </VisualStateManager.VisualStateGroups> <i:Interaction.Triggers> <ei:DataTrigger Binding="{Binding VisualStateName}" Value="Visible"> <ei:GoToStateAction StateName="Visible" /> </ei:DataTrigger> <ei:DataTrigger Binding="{Binding VisualStateName}" Value="Collapsed"> <ei:GoToStateAction StateName="Collapsed" /> </ei:DataTrigger> </i:Interaction.Triggers> Regards! |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0006272)
ai_enabled 2020-04-24 23:44 |
Guys, do you need anything from me to help investigate this issue? |
(0006273)
ai_enabled 2020-04-25 02:06 |
So the workaround I've used is to revert the default state to "Collapsed" (so the layout root by default has Opacity="0" and when it needs to go to collapsed state there is no transition as it's already in it). It's just a weird workaround. |
(0006276)
sfernandez 2020-04-26 12:53 |
The issue is clear, no need for more info to investigate it, thanks. |
(0006312)
sfernandez 2020-05-04 14:15 |
One thing I noticied in your xaml is that you are using DoubleAnimation to define the VisualState, and you are not setting the Duration, so it takes the default value of 1 second. Is it possible that transition is what you are seeing? I created this test in WPF and we behave exactly like them: https://www.noesisengine.com/xamltoy/561762d3aa360ac9478be868780d5ec0 |
(0006330)
ai_enabled 2020-05-08 01:05 |
Thank you for your help, Sergio! It works fine with both DoubleAnimation (when I've added Duration="0") to it and with DoubleAnimationUsingKeyFrames (when I've added KeyTime="0" to the key frame). For some reason it was not required in NoesisGUI 2.x and before. You can close this ticket. Regards! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1671 | [NoesisGUI] Unity3D | major | always | 2020-04-27 20:01 | 2020-05-07 20:09 |
Reporter: | rockhound | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.6 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.0 | ||
Target Version: | 3.0.0 | ||||
Platform: | Any | ||||
Summary: | Adding elements to a panel and removing them is not de-allocating memory | ||||
Description: |
If we check ControlGallery's sample project it seems like memory allocated reported by NoesisSettings in Noesis' Unity Package is going up and down based on which elements are being displayed. Seems like a simple Child = null is enough to trigger the unloading of those resources. On the other hand in the example provided here, ControlGallery sample itself as well as the Inventory sample are being added to a Grid and later removed but reported memory allocated is not going down. |
||||
Tags: | C#, Memory, Unity | ||||
Steps To Reproduce: |
- Download Unity project at: https://we.tl/t-gMO412HYXq - Open downloaded Unity project and "Reimport" Assets/Resources/GUI folder to make sure xaml files are imported correctly - Keep an inspector open with NoesisSettings selected - Press play on scene Assets/Scenes/SampleScene - On the open scene: -- Pressing on the first 2 buttons removes all elements added to grid and then loads chosen sample and adds to grid -- Pressing on the 3rd button simply removes all elements from grid - Watch allocated memory grow after repeatedly pressing them. |
||||
Additional Information: | |||||
Attached Files: |
MainWindow.xaml.cs (8,312 bytes) 2020-05-01 15:43 https://www.noesisengine.com/bugs/file_download.php?file_id=1224&type=bug |
||||
Notes | |
(0006306)
sfernandez 2020-05-01 15:42 |
Some of the leaks come from event hooking, there is a known problem we described here: https://www.noesisengine.com/docs/3.0/Gui.Core.EventsTutorial.html#weak-events-in-c Changing ControlsGallery sample code to use a WeakReference as bridge for event hooking makes that sample to properly release memory (you can verify it if you add a GC.Collect + GC.WaitForPendingFinalizers to your ClearAllScreens function). For the Inventory sample there are other issues I was not able to identify yet, we'll continue working on that. |
(0006307)
sfernandez 2020-05-01 15:43 |
ControlGallery MainWindow.xaml code behind updated. |
(0006318)
sfernandez 2020-05-05 00:52 |
After more investigation I found interactivity classes are also producing memory leaks. We will fix all the problems related to those classes for the next release. |
(0006321)
rockhound 2020-05-05 18:35 (Last edited: 2020-05-05 18:39) |
Thanks sfernandez. Was about to post reporting that replacing event hooks with WeakReferences didn't show any improvements in our project's memory usage. We are looking forward for your next release. |
(0006322)
jsantos 2020-05-05 21:23 |
Already fixed in our repository, will be available tomorrow in RC5 |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1676 | [NoesisGUI] Unity3D | major | always | 2020-04-30 17:36 | 2020-05-07 12:47 |
Reporter: | stonstad | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.0 | ||
Target Version: | 3.0.0 | ||||
Platform: | Any | ||||
Summary: | Noesis WebGL Development Build Fails with Errors - Unresolved Noesis Symbols | ||||
Description: |
error: unresolved symbol: Noesis_RenderDeviceMTL_SetOffScreenCommandBuffer error: unresolved symbol: Noesis_RenderDeviceMTL_SetOnScreenEncoder error: unresolved symbol: Noesis_RenderDevice_CreateMTL Aborting compilation due to previous errors |
||||
Tags: | |||||
Steps To Reproduce: |
1. Create Unity WebGL build with 'development' checkbox checked. 2. Unity console shows following error after attempting a build: Failed running "C:/Program Files/Unity/Hub/Editor/2019.3.9f1/Editor/Data/PlaybackEngines/WebGLSupport\BuildTools\Emscripten_Win\python\2.7.5.3_64bit\python.exe" -E "C:/Program Files/Unity/Hub/Editor/2019.3.9f1/Editor/Data/PlaybackEngines/WebGLSupport\BuildTools\Emscripten\emcc" @"C:\Users\stons\Source\MBI.CustomerSelect.Unity\MBI.CustomerSelect.Unity\MBI.CustomerSelect.Unity.Project\Assets\..\Temp\emcc_arguments.resp" stdout: stderr:warning: unexpected number of arguments 1 in call to '__cxa_pure_virtual', should be 0warning: unexpected number of arguments 2 in call to '_ZN6il2cpp6icalls8mscorlib6System6String22RedirectToCreateStringEv', should be 0warning: unexpected number of arguments 4 in call to '_ZN6il2cpp6icalls8mscorlib6System6String22RedirectToCreateStringEv', should be 0warning: unexpected number of arguments 5 in call to '_ZN6il2cpp6icalls8mscorlib6System6String22RedirectToCreateStringEv', should be 0warning: unexpected number of arguments 4 in call to '_ZN6il2cpp6icalls8mscorlib6System6String22RedirectToCreateStringEv', should be 0warning: unexpected number of arguments 2 in call to '_ZN6il2cpp6icalls8mscorlib6System6String22RedirectToCreateStringEv', should be 0warning: unexpected number of arguments 3 in call to '_ZN6il2cpp6icalls8mscorlib6System6String22RedirectToCreateStringEv', should be 0 error: unresolved symbol: Noesis_RenderDeviceMTL_SetOffScreenCommandBuffer error: unresolved symbol: Noesis_RenderDeviceMTL_SetOnScreenEncoder error: unresolved symbol: Noesis_RenderDevice_CreateMTL Aborting compilation due to previous errors | undefinedTraceback (most recent call last): File "C:\Program Files\Unity\Hub\Editor\2019.3.9f1\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\Emscripten\emcc.py", line 3063, in <module> sys.exit(run()) File "C:\Program Files\Unity\Hub\Editor\2019.3.9f1\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\Emscripten\emcc.py", line 1780, in run final = shared.Building.emscripten(final, append_ext=False, extra_args=extra_args) File "C:\Program Files\Unity\Hub\Editor\2019.3.9f1\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\Emscripten\tools\shared.py", line 2274, in emscripten emscripten._main(cmdline) File "C:\Program Files\Unity\Hub\Editor\2019.3.9f1\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\Emscripten\emscripten.py", line 2233, in _main return temp_files.run_and_clean(lambda: main( File "C:\Program Files\Unity\Hub\Editor\2019.3.9f1\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\Emscripten\tools\tempfiles.py", line 93, in run_and_clean return func() File "C:\Program Files\Unity\Hub\Editor\2019.3.9f1\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\Emscripten\emscripten.py", line 2238, in <lambda> DEBUG=DEBUG, File "C:\Program Files\Unity\Hub\Editor\2019.3.9f1\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\Emscripten\emscripten.py", line 2164, in main temp_files=temp_files, DEBUG=DEBUG) File "C:\Program Files\Unity\Hub\Editor\2019.3.9f1\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\Emscripten\emscripten.py", line 86, in emscript glue, forwarded_data = compiler_glue(metadata, libraries, compiler_engine, temp_files, DEBUG) File "C:\Program Files\Unity\Hub\Editor\2019.3.9f1\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\Emscripten\emscripten.py", line 218, in compiler_glue glue, forwarded_data = compile_settings(compiler_engine, libraries, temp_files) File "C:\Program Files\Unity\Hub\Editor\2019.3.9f1\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\Emscripten\emscripten.py", line 541, in compile_settings cwd=path_from_root('src'), error_limit=300) File "C:\Program Files\Unity\Hub\Editor\2019.3.9f1\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\Emscripten\tools\jsrun.py", line 132, in run_js raise Exception('Expected the command ' + str(command) + ' to finish with return code ' + str(assert_returncode) + ', but it returned with code ' + str(proc.returncode) + ' instead! Output: ' + str(ret)[:error_limit])Exception: Expected the command ['C:/Program Files/Unity/Hub/Editor/2019.3.9f1/Editor/Data\\Tools\\nodejs\\node.exe', '--stack_size=8192', '--max-old-space-size=4096', 'C:\\Program Files\\Unity\\Hub\\Editor\\2019.3.9f1\\Editor\\Data\\PlaybackEngines\\WebGLSupport\\BuildTools\\Emscripten\\src\\compiler.js', 'C:\\Users\\stons\\AppData\\Local\\Temp\\tmpw7_08y.txt', 'C:\\Program Files\\Unity\\Hub\\Editor\\2019.3.9f1\\Editor\\Data\\PlaybackEngines\\WebGLSupport\\BuildTools\\lib\\Audio.js', 'C:\\Program Files\\Unity\\Hub\\Editor\\2019.3.9f1\\Editor\\Data\\PlaybackEngines\\WebGLSupport\\BuildTools\\lib\\Cursor.js', 'C:\\Program Files\\Unity\\Hub\\Editor\\2019.3.9f1\\Editor\\Data\\PlaybackEngines\\WebGLSupport\\BuildTools\\lib\\Eval.js', 'C:\\Program Files\\Unity\\Hub\\Editor\\2019.3.9f1\\Editor\\Data\\PlaybackEngines\\WebGLSupport\\BuildTools\\lib\\FileSystem.js', 'C:\\Program Files\\Unity\\Hub\\Editor\\2019.3.9f1\\Editor\\Data\\PlaybackEngines\\WebGLSupport\\BuildTools\\lib\\Logging.js', 'C:\\Program Files\\Unity\\Hub\\Editor\\2019.3.9f1\\Editor\\Data\\PlaybackEngines\\WebGLSupport\\BuildTools\\lib\\Profiler.js', 'C:\\Program Files\\Unity\\Hub\\Editor\\2019.3.9f1\\Editor\\Data\\PlaybackEngines\\WebGLSupport\\BuildTools\\lib\\SystemInfo.js', 'C:\\Program Files\\Unity\\Hub\\Editor\\2019.3.9f1\\Editor\\Data\\PlaybackEngines\\WebGLSupport\\BuildTools\\lib\\UnetWebSocket.js', 'C:\\Program Files\\Unity\\Hub\\Editor\\2019.3.9f1\\Editor\\Data\\PlaybackEngines\\WebGLSupport\\BuildTools\\lib\\Video.js', 'C:\\Program Files\\Unity\\Hub\\Editor\\2019.3.9f1\\Editor\\Data\\PlaybackEngines\\WebGLSupport\\BuildTools\\lib\\WebCam.js', 'C:\\Program Files\\Unity\\Hub\\Editor\\2019.3.9f1\\Editor\\Data\\PlaybackEngines\\WebGLSupport\\BuildTools\\lib\\WebRequest.js', 'C:\\Program Files\\Unity\\Hub\\Editor\\2019.3.9f1\\Editor\\Data\\PlaybackEngines\\WebGLSupport\\BuildTools\\Emscripten\\src\\library_pthread_stub.js'] to finish with return code 0, but it returned with code 1 instead! Output: // The Module object: Our interface to the outside world. We import// and export values on it. There are various ways Module can be used:// 1. Not defined. We create it here// 2. A function parameter, function(Module) { ..generated code.. }// 3. pre-run appended it, var Module = {}; ..generated UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr) |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0006317)
stonstad 2020-05-04 23:05 |
I'm experiencing a high number of 'freezes' in a client app that uses WebGL. I don't have insight into the cause, whether it is Unity or Noesis. I am unable to remote connect because debug builds fail with the above error message. Any updates around this one? |
(0006325)
jsantos 2020-05-07 12:47 |
We fixed it. Although I am not sure about the plan for WebGL in Unity, the fact that they are stuck in a very old EMSDK (1.38.11 is really old) is not a good sign. We had issues with Development Build and Exceptions in the past. We recommend disable them by default. https://www.noesisengine.com/docs/Gui.Core.Unity3DTutorial.html#webgl |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1668 | [NoesisGUI] Unity3D | minor | sometimes | 2020-04-25 00:07 | 2020-05-07 01:33 |
Reporter: | stonstad | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.0 | ||
Target Version: | 3.0.0 | ||||
Platform: | Any | ||||
Summary: | NoesisPostProcessor.ImportXaml NullReferneceException After Font Deletion | ||||
Description: |
This code fails after a font is deleted: foreach (var dep in xaml.fonts) { if (File.Exists(dep.source)) { ImportFont(dep.source, false, false); } } NullReferenceException: Object reference not set to an instance of an object NoesisPostprocessor.ImportXaml (System.String filename, System.Boolean reimport, System.Boolean reload, System.Boolean& changed) (at Assets/NoesisGUI/Plugins/Editor/NoesisPostprocessor.cs:360) NoesisPostprocessor.ImportXaml (System.String filename, System.Boolean reimport, System.Boolean reload, System.Boolean& changed) (at Assets/NoesisGUI/Plugins/Editor/NoesisPostprocessor.cs:353) NoesisPostprocessor.ImportAssets (System.String[] assets, System.Boolean reload, NoesisPostprocessor+UpdateProgress d) (at Assets/NoesisGUI/Plugins/Editor/NoesisPostprocessor.cs:55) NoesisPostprocessor+<>c__DisplayClass4_1.<OnPostprocessAllAssets>b__0 () (at Assets/NoesisGUI/Plugins/Editor/NoesisPostprocessor.cs:110) System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at <437ba245d8404784b9fbab9b439ac908>:0) Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation. System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at <437ba245d8404784b9fbab9b439ac908>:0) System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) (at <437ba245d8404784b9fbab9b439ac908>:0) System.Delegate.DynamicInvokeImpl (System.Object[] args) (at <437ba245d8404784b9fbab9b439ac908>:0) System.MulticastDelegate.DynamicInvokeImpl (System.Object[] args) (at <437ba245d8404784b9fbab9b439ac908>:0) System.Delegate.DynamicInvoke (System.Object[] args) (at <437ba245d8404784b9fbab9b439ac908>:0) UnityEditor.EditorApplication.Internal_CallUpdateFunctions () (at <bf679006b1b84db2a5a44842ef13dc36>:0) |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
NullRef.PNG (81,410 bytes) 2020-04-25 00:07 https://www.noesisengine.com/bugs/file_download.php?file_id=1215&type=bug |
||||
Notes | |
(0006283)
stonstad 2020-04-27 16:45 |
Restarting Unity did not resolve the behavior. I added a null check to the code for 'dep'. Not sure why I am getting this after deleting a font. |
(0006324)
jsantos 2020-05-07 01:33 |
Thanks for your great feedback! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1672 | [NoesisGUI] Unity3D | minor | always | 2020-04-29 19:03 | 2020-05-06 22:15 |
Reporter: | stonstad | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.0 | ||
Target Version: | 3.0.0 | ||||
Platform: | Any | ||||
Summary: | Noesis Trial Text Upside Down | ||||
Description: | Install Noesis RC1. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
Trial License Text Upside Down.PNG (34,181 bytes) 2020-04-29 19:03 https://www.noesisengine.com/bugs/file_download.php?file_id=1220&type=bug |
||||
Notes | |
(0006300)
jsantos 2020-04-30 02:53 |
Funny, thanks for reporting. � |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1673 | [NoesisGUI] Unity3D | major | always | 2020-04-29 19:04 | 2020-05-06 22:15 |
Reporter: | stonstad | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.0 | ||
Target Version: | 3.0.0 | ||||
Platform: | Any | ||||
Summary: | Trial License Key Does Not Work | ||||
Description: | I registered for a trial. My license key does not activate RC1. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0006297)
sfernandez 2020-04-30 00:39 |
Hi, after introducing the license name/key in NoesisSettings you need to restart Unity, because that info is required when Noesis.dll is initialized for the first time. We added a note indicating that issue for the RC2. Could you please confirm it works after Unity restart? |
(0006299)
jsantos 2020-04-30 02:52 |
I think this should work without having to restart Unity |
(0006303)
stonstad 2020-04-30 16:40 |
Restarting resolved the behavior. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1670 | [NoesisGUI] Unity3D | crash | sometimes | 2020-04-27 16:54 | 2020-05-04 13:39 |
Reporter: | stonstad | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.0 | ||
Product Build: | Resolution: | duplicate | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.0 | ||
Target Version: | 3.0.0 | ||||
Platform: | Any | ||||
Summary: | Noesis.NoesisGUI_PINVOKE:BaseComponent_Release, 'Attempt to access invalid address.' | ||||
Description: |
Different crash behavior from 0001662. Not sure if this is a different manifestation of the same error. This is using the debug library. 0x00007FFE7E2AFD5E (Noesis) Boxed_TimeSpan_GetStaticType 0x00007FFE7E24981C (Noesis) ContentControl_Content_get 0x00007FFE7E246462 (Noesis) ContentControl_Content_get 0x00007FFE7E23C1B6 (Noesis) ContentControl_Content_get 0x00007FFE7E23C374 (Noesis) ContentControl_Content_get ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FFE7E0B16D3) 0x00007FFE7E0B16D3 (Noesis) (function-name not available) 0x000001C3266579D7 (Mono JIT Code) (wrapper managed-to-native) Noesis.NoesisGUI_PINVOKE:BaseComponent_Release (intptr) 0x000001C326657893 (Mono JIT Code) [C:\Users\stons\Source\StellarConquest\StellarConquest.Presentation.Unity\Assets\NoesisGUI\Plugins\API\Proxies\BaseComponent.cs:62] Noesis.BaseComponent:Release (intptr) 0x000001C32AA04CA3 (Mono JIT Code) [C:\Users\stons\Source\StellarConquest\StellarConquest.Presentation.Unity\Assets\NoesisGUI\Plugins\API\Core\Extend.cs:4429] Noesis.Extend:ReleasePending () 0x000001C3269BF733 (Mono JIT Code) [C:\Users\stons\Source\StellarConquest\StellarConquest.Presentation.Unity\Assets\NoesisGUI\Plugins\API\Core\Extend.cs:92] Noesis.Extend:Shutdown () 0x000001C3269BE3D3 (Mono JIT Code) [C:\Users\stons\Source\StellarConquest\StellarConquest.Presentation.Unity\Assets\NoesisGUI\Plugins\API\Core\Extend.cs:37] Noesis.Extend:OnDomainUnload (object,System.EventArgs) |
||||
Tags: | |||||
Steps To Reproduce: | Made changes to a .cs file which triggered a Noesis reload. Encl. editor log, player log, editor crash dump. | ||||
Additional Information: | |||||
Attached Files: |
Crash_2020-04-27_144802796.zip (498,555 bytes) 2020-04-27 16:54 https://www.noesisengine.com/bugs/file_download.php?file_id=1217&type=bug |
||||
Notes | |
(0006284)
sfernandez 2020-04-27 17:07 |
I verified is the same bug related with the Rendering event. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1664 | [NoesisGUI] C# SDK | block | always | 2020-04-23 20:09 | 2020-05-01 21:49 |
Reporter: | stonstad | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.0 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Theming and Resource Dictionary Behavior | ||||
Description: |
What are the breaking changes? I am running into a large number of issues related to theming and UI. Many static resources and naming has changed. The behavior of controls and containers also appear changed. What should a developer be looking for when upgrading from 2.x to 3.x? Enclosed Screenshot 1) Unexpected purple backgrounds 2) Container layouts seem to have changed to alignment center -- or they are not being respected. 3) Many custom user controls are broken. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
Odd Behavior.PNG (3,084,670 bytes) 2020-04-23 20:09 https://www.noesisengine.com/bugs/file_download.php?file_id=1208&type=bug |
||||
Notes | |
(0006246)
stonstad 2020-04-23 20:10 |
For reference, here is how this screen appears before upgrading to v3. https://stellarconquest.com/images/screenshots/08.png |
(0006256)
stonstad 2020-04-23 21:11 |
The purple areas are ScrollViewers. Not sure why they are purple, however. |
(0006259)
stonstad 2020-04-23 21:22 (Last edited: 2020-04-23 21:26) |
OK, this was caused by not including any reference to NoesisTheme.Styles.xaml in my XAML resource hierarchy. Previously, I used the built-in Noesis style. Not sure if things should be purple and broken without a style, but at least it makes sense and works now. This ticket is a candidate for closure. Thank you. -- Update -- issues remain with purple backgrounds on comboboxes and togglebutton. Both controls are broken. I'm still investigating, though. |
(0006261)
sfernandez 2020-04-23 21:37 (Last edited: 2020-04-23 21:38) |
When you see a purple background it means that Template property is falling back to our internal default style. This is usually a result of defining a local Style that is not based in the style you have defined for your application. <Style x:Key="CBStyle" TargetType="ComboBox" BasedOn="{StaticResource {x:Type ComboBox}}"> ... </Style> You can read more about this in our Themes documentation: https://www.noesisengine.com/docs/3.0/Gui.Core.StylingTutorial.html#default-styles Please read 3.0 changelog for breaking changes: https://www.noesisengine.com/docs/3.0/Gui.Core.Changelog.html#version-3-0-0b1 |
(0006262)
stonstad 2020-04-24 16:05 |
Thanks, Sergio. I had styles from 2.x that did not have a key defined. When I defined keys, this fixed up many of the remaining issues. |
(0006263)
stonstad 2020-04-24 16:08 |
My apologies -- didn't realize that. I made sure I did it right this time. Thank you. |
(0006264)
sfernandez 2020-04-24 16:13 (Last edited: 2020-04-24 16:13) |
Don't need to apology, there are many new things in this version and is easy to get lost with the changes :) |
(0006267)
jsantos 2020-04-24 17:55 |
Sorry about this change stonstad but it was necessary. :) Many users of Noesis don't create a new theme, they use our default theme. Our default theme in 2.2 is a fallback theme, it is ugly in many aspects and it is using a very small font that is also ugly. Even although everything is ugly, our users use it and they show screenshots of NoesisGUI in internet that are ugly. So, we need to provide a better theme by default. But a better theme implies a bigger one, better fonts, more complex XAMLs, etc. This increases binary size of Noesis and also time for initialization, so we are penalizing the users that care about this. So, we decided to move our theme from Core to App Framework. In the App framework we don't have restrictions so we created a nice theme with dark/light and accent variations. From the point of view of new users, it is almost the same as before, because all samples work and provide a default theme. The theme is now available to inspect, it is no hidden in a DLL, so no obscure behaviors or things happening behind the scenes. Our binary size and performance improved. |
(0006269)
stonstad 2020-04-24 18:27 (Last edited: 2020-04-24 18:28) |
I appreciate the background and I appreciate the added performance. I am going through and finding places where I incorrectly defined XAML, such as not specifying a key or not used based on. In most cases I have it working now -- but there are a few styles that I'm struggling with. Here is an example of one -- a TextBox. It is pink if I reference the style, below. <TextBox x:Name="_InputTextBox" Grid.Row="1" Style="{StaticResource Heading3PrimaryTextBox}" VerticalAlignment="Bottom" HorizontalAlignment="Stretch" Margin="2, 15, 2, 2"/> ... <Style x:Key="Heading3PrimaryTextBox" BasedOn="{StaticResource {x:Type TextBox}}" TargetType="{x:Type TextBox}"> </Style> I was missing BasedOn. I added it but it remains pink. Removing "Style="{StaticResource Heading3PrimaryTextBox}"" allows it to work. |
(0006270)
sfernandez 2020-04-24 19:53 |
Are you defining the styles in your application resources with a key or just the TargetType? In case you have them with a key, you need to use that in the BasedOn StaticResource. Application.Resources.xaml: <ResourceDictionary ...> <Style x:Key="SC.TextBoxStyle" TargetType="TextBox"> ... </Style> ... </ResourceDictionary> MainWindow.xaml: <UserControl ...> <UserControl.Resources> <Style x:Key="CustomTextBox" TargetType="TextBox" BasedOn="{StaticResource SC.TextBoxStyle}"> ... </Style> </UserControl.Resources> ... </UserControl> |
(0006271)
stonstad 2020-04-24 20:51 |
My XAML hierarchy is as follows: Resources.xaml: <ResourceDictionary Source="/Assets/NoesisGUI/Theme/NoesisTheme.Brushes.DarkBlue.xaml" /> <ResourceDictionary Source="/Assets/NoesisGUI/Theme/NoesisTheme.Fonts.xaml" /> <ResourceDictionary Source="/Assets/NoesisGUI/Theme/NoesisTheme.Styles.xaml" /> <ResourceDictionary Source="ResourcesImages.xaml"/> <ResourceDictionary Source="ResourcesCommon.xaml"/> <ResourceDictionary Source="ResourcesTheme.xaml"/> </ResourceDictionary.MergedDictionaries> </ResourceDictionary> I am defining the style in ResourcesCommon.xaml: <Style x:Key="Heading3PrimaryTextBox" BasedOn="{StaticResource {x:Type TextBox}}" TargetType="{x:Type TextBox}"> </Style> And then using it in a UserControl like this: <UserControl> ... <TextBox Style="{StaticResource Heading3PrimaryTextBox}"/> </UserControl> I understand I have nesting -- but is there something wrong with this hierarchy? I am thinking it is pretty standard for WPF/UWP... |
(0006293)
stonstad 2020-04-28 17:11 |
Just to clarify, in the example above (posted on 4/24) the TextBox in question is uninitialized pink. It shouldn't be based on the XAML shared, right? I think my next step is to share a repo project. |
(0006295)
sfernandez 2020-04-28 17:15 |
If you could share a repro project it would help, maybe there is a bug and you have nothing wrong on your side. |
(0006308)
stonstad 2020-05-01 21:49 |
Yes, I need to get you a repro project. I wonder if what I am seeing here is related to 0001678. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1666 | [NoesisGUI] Unity3D | minor | always | 2020-04-24 21:01 | 2020-05-01 03:22 |
Reporter: | stonstad | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.0 | ||
Target Version: | 3.0.0 | ||||
Platform: | Any | ||||
Summary: | PPAA Behavior | ||||
Description: |
I do not know if this is expected behavior. I do not know if it is broken or there is a setting somewhere to address this. I have UIs with horizontal dividers created from Rectangles. A.png. Two rectangle dividers with height=1. PPAA Off. B.png. Two rectangle dividers with height=1. PPAA On. A shows one divider. B shows two dividers but one is larger than the other. The XAML for A and B is the same. If I change to rectangle height=2, B is larger than A. The Unity game view is unscaled at 1x. How is consistency in appearance attained? |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
A.png (288,311 bytes) 2020-04-24 21:01 https://www.noesisengine.com/bugs/file_download.php?file_id=1213&type=bug B.png (286,081 bytes) 2020-04-24 21:01 https://www.noesisengine.com/bugs/file_download.php?file_id=1214&type=bug |
||||
Notes | |
(0006279)
jsantos 2020-04-27 12:35 |
PPAA can be manually adjusted (or even disabled) per element https://www.noesisengine.com/docs/3.0/Gui.Core.AntialiasingTutorial.html I think for that case you need to disable it. We slightly change the default values in NoesisGUI 3.0 |
(0006281)
stonstad 2020-04-27 16:42 |
That's very cool. Keeping it "on" at the top-level and disabling it for these 1px elements achieves the look I was hoping for. You guys rock. In the docs it says, "Noesis Views always display content in the active render target. Just binding a render target with MSAA enabled will render the UI with antialiasing enabled." FYI, in Unity 2019.x the MSAA checkbox is removed for the standard pipeline. How does one turn on MSAA w/ Noesis? |
(0006282)
stonstad 2020-04-27 16:44 |
I'm good with closing this issue. Thank you for the helpful response. |
(0006285)
stonstad 2020-04-27 17:42 |
... noesis:Element.PPAAIn="1" noesis:Element.PPAAOut="1" Separate question, re: PPAAIN/OUT. Should we be able to set this in code? I upgraded to b9 -- I can't seem to find where this is exposed for code. |
(0006290)
sfernandez 2020-04-28 10:31 |
I updated C# proxies to expose PPAA In/Out properties (in FrameworkElement) so you can modify them in code. |
(0006292)
stonstad 2020-04-28 17:08 |
Sounds good, I'll look for it in a subsequent release. Thank you! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1662 | [NoesisGUI] C# SDK | major | sometimes | 2020-04-21 03:11 | 2020-04-30 22:23 |
Reporter: | stonstad | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.0 | ||
Target Version: | 3.0.0 | ||||
Platform: | Any | ||||
Summary: | MonoManager Reload Assembly Crashes Editor | ||||
Description: |
Specific to b8 -- happens about once every fifteen minutes. I edit code in VS, alt tab back to Unity and Unity crashes. There is no error message, stack trace, or dump. Last entry in Editor.log: Refresh completed in 0.288080 seconds. RefreshInfo: RefreshV2(ForceSynchronousImport) RefreshProfiler: Total: 287.914ms InvokeBeforeRefreshCallbacks: 0.424ms ApplyChangesToAssetFolders: 0.063ms WriteModifiedImportersToTextMetaFiles: 0.000ms CleanLegacyArtifacts: 0.000ms Scan: 68.010ms OnSourceAssetsModified: 0.506ms UnregisterDeletedAssets: 0.000ms InitializeImportedAssetsSnapshot: 3.857ms GetAllGuidsForCategorization: 0.457ms CategorizeAssets: 98.982ms ImportAndPostprocessOutOfDateAssets: 52.279ms (5.089ms without children) ImportManagerImport: 28.123ms (1.665ms without children) ImportInProcess: 26.424ms ImportOutOfProcess: 0.000ms UpdateCategorizedAssets: 0.033ms RemoteAssetCacheGetArtifact: 0.000ms (0.000ms without children) RemoteAssetCacheResolve: 0.000ms RemoteAssetCacheDownloadFile: 0.000ms CompileScripts: 0.000ms PostProcessAllAssets: 12.933ms ReloadImportedAssets: 0.001ms VerifyAssetsAreUpToDateAndCorrect: 0.000ms EnsureUptoDateAssetsAreRegisteredWithGuidPM: 0.849ms InitializingProgressBar: 0.001ms PostProcessAllAssetNotificationsAddChangedAssets: 0.444ms OnDemandSchedulerStart: 0.409ms RestoreLoadedAssetsState: 1.585ms InvokeProjectHasChanged: 0.000ms UpdateImportedAssetsSnapshot: 2.845ms ReloadSourceAssets: 0.797ms UnloadImportedAssets: 0.137ms Hotreload: 55.486ms FixTempGuids: 0.004ms VerifyGuidPMRegistrations: 0.000ms GatherAllCurrentPrimaryArtifactRevisions: 0.873ms UnloadStreamsBegin: 0.119ms LoadedImportedAssetsSnapshotReleaseGCHandles: 0.753ms GetLoadedSourceAssetsSnapshot: 3.080ms PersistCurrentRevisions: 0.000ms UnloadStreamsEnd: 0.112ms Untracked: 1.978ms Start importing Assets/User Interface/Controls/DimensioningControl.cs using Guid(a2314b3cd57974445ad4c7d7f36621ea) Importer(-1,00000000000000000000000000000000) Done importing asset: 'Assets/User Interface/Controls/DimensioningControl.cs' (target hash: 'f07f5904a78823c3a754f7acd2a0ecec') in 0.016051 seconds Start importing Assets/Scripts/Controllers/PropController.cs using Guid(3b85387c0f9888e4593b17e2e9afb691) Importer(-1,00000000000000000000000000000000) Done importing asset: 'Assets/Scripts/Controllers/PropController.cs' (target hash: 'fee00d0d663275d8278d2c116f8ae614') in 0.017731 seconds AssetDatabase: script compilation time: 0.029070s - Starting script compilation - Starting compile Library/ScriptAssemblies/Assembly-CSharp.dll - Finished compile Library/ScriptAssemblies/Assembly-CSharp.dll in 1.239845 seconds - Starting compile Library/ScriptAssemblies/Assembly-CSharp-Editor.dll - Finished compile Library/ScriptAssemblies/Assembly-CSharp-Editor.dll in 0.315812 seconds - Finished script compilation in 1.585732 seconds Reloading assemblies after forced synchronous recompile. Begin MonoManager ReloadAssembly |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
Full Stack Trace.PNG (83,980 bytes) 2020-04-22 18:57 https://www.noesisengine.com/bugs/file_download.php?file_id=1203&type=bug Unity.dmp (1,621,322 bytes) 2020-04-22 18:57 https://www.noesisengine.com/bugs/file_download.php?file_id=1204&type=bug Editor.log (354,669 bytes) 2020-04-22 18:57 https://www.noesisengine.com/bugs/file_download.php?file_id=1205&type=bug Editor-2.log (107,878 bytes) 2020-04-23 20:01 https://www.noesisengine.com/bugs/file_download.php?file_id=1206&type=bug Crash_2020-04-23_174201910.zip (434,168 bytes) 2020-04-23 20:01 https://www.noesisengine.com/bugs/file_download.php?file_id=1207&type=bug Stack 04.23.2020.PNG (61,543 bytes) 2020-04-23 21:03 https://www.noesisengine.com/bugs/file_download.php?file_id=1209&type=bug 04.23.2020_NoHeap.dmp (1,743,411 bytes) 2020-04-23 21:13 https://www.noesisengine.com/bugs/file_download.php?file_id=1210&type=bug 04.24.2020.PNG (59,055 bytes) 2020-04-24 17:42 https://www.noesisengine.com/bugs/file_download.php?file_id=1211&type=bug 04.24.2020.dmp (1,897,380 bytes) 2020-04-24 17:42 https://www.noesisengine.com/bugs/file_download.php?file_id=1212&type=bug 04.27.2020.dmp (1,803,749 bytes) 2020-04-27 22:23 https://www.noesisengine.com/bugs/file_download.php?file_id=1218&type=bug 04.27.2020.PNG (71,913 bytes) 2020-04-27 22:23 https://www.noesisengine.com/bugs/file_download.php?file_id=1219&type=bug |
||||
Notes | |
(0006228)
jsantos 2020-04-21 11:19 |
The log doesn't give information. :( We cannot do anything without a dump. Do you think this is something new for b8? |
(0006230)
stonstad 2020-04-21 14:20 |
I understand my observation is anecdotal. However, I am convinced it is caused by B8 because the behavior started immediately after I upgraded the project from B6 to B8. The last entries in the editor log are always the Noesis reload process, which is caused by my external .cs file modification. |
(0006231)
sfernandez 2020-04-21 16:51 (Last edited: 2020-04-21 17:00) |
Is this something I could try to reproduce with the new project you attached or is this happening with Stellar Conquest? To try to get a dump maybe you can attach Visual Studio debugger to Unity before switching back to Unity (I mean keep it attached always, while working with Unity), sometimes it stops in the debugger and you can generate the dump then. |
(0006234)
stonstad 2020-04-22 16:49 |
Yes, it should work with the project I shared -- that project is B4. I'll get a new one ready. The trick will be getting it to crash. It is fairly frequent for me -- about one per 15 minutes. But that's 15 minutes of start/play/.cs edit behavior. I'll get the updated project ready. Thanks, Shaun |
(0006237)
jsantos 2020-04-22 16:55 |
Thanks Shaun, I wonder also if you could launch the game from Visual Studio and work for 15 minutes. I am sure that way we will be able to get a dump. |
(0006238)
stonstad 2020-04-22 18:57 |
Encl. stack trace, log, and dmp for aforementioned behavior. If you have a Noesis PDB, would that allow me to give you a better stack trace? |
(0006239)
stonstad 2020-04-22 19:02 |
Just an update around the behavior aspect. I wrote a test that edits XAML and CS files and alt-tabs between the editor and Unity. I can run hundreds of automated tests without fail and this is the least reliable way to reproduce the crash. If I just 'work' normally and edit files and play/stop as needed, the issue manifests within a few minutes as described above. |
(0006240)
sfernandez 2020-04-23 12:17 |
Thanks for the dump, we are investigating the issue. It is related to the Rendering event of the View. |
(0006241)
sfernandez 2020-04-23 13:08 |
Could you please try the following library: https://drive.google.com/open?id=1Cy-XY_M5urPW-wK7cTrt3CptBdhrvNk0 |
(0006244)
stonstad 2020-04-23 20:01 |
I am trying the new library in Stellar Conquest. It is encountering a runtime crash. ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= Crash!!! |
(0006245)
stonstad 2020-04-23 20:03 |
I can't use Noesis/Stellar Conquest with the above library. The game crashes consistently on its second screen. |
(0006247)
sfernandez 2020-04-23 20:15 |
Sorry, the fix was not correct, please try this: https://drive.google.com/open?id=1g76hM5EfQ71xCwGfhPN9DH7E-Oysldso |
(0006251)
stonstad 2020-04-23 20:56 |
kk, no problem. It is no longer crashing with the 4/23 library. I'll use it and report back on stability. |
(0006252)
stonstad 2020-04-23 21:03 |
No change in behavior -- continues to crash with similar call stack. |
(0006253)
sfernandez 2020-04-23 21:05 |
Can we get a dump for the new crash? |
(0006255)
stonstad 2020-04-23 21:09 (Last edited: 2020-04-23 21:09) |
It didn't attach in this screen -- I must have pulled a full dump at 5.7GB instead of a minidump and I didn't realize it. One moment while I get a new one. I'm actively working the upgrade to v3 and if you want to send over new versions I can quickly retest. It looks like |
(0006257)
sfernandez 2020-04-23 21:13 |
A minidump would be enough to see where the crash is happening. |
(0006258)
stonstad 2020-04-23 21:13 |
Encl. 04.23.2020_NoHeap.dmp |
(0006260)
sfernandez 2020-04-23 21:26 |
The last dump says you are using Noesis.dll 3.0.0.9073, but the last library I uploaded here: https://drive.google.com/open?id=1g76hM5EfQ71xCwGfhPN9DH7E-Oysldso has version 3.0.0.9123. |
(0006265)
stonstad 2020-04-24 17:42 |
OK, I double-checked that I extracted the DLL from the link shared above. |
(0006266)
stonstad 2020-04-24 17:54 |
Not sure if this matters, but I am not extracting the version text file. Just the DLL, perhaps this relates to the version you are seeing? |
(0006286)
sfernandez 2020-04-27 18:40 |
I have a new library for you to try, could you do some tests with it? https://drive.google.com/open?id=1fe0e1M7oRSyTDa410Ds6nqow9nZ_3Y_t The version text file is not needed, our DLL have the assembly information correctly set, so we know what version was used when the dump was generated. |
(0006287)
stonstad 2020-04-27 22:23 |
Using the new assembly... this exception occurred at runtime and it was non-fatal. |
(0006288)
stonstad 2020-04-27 23:29 |
I suspect the previous exception is normal and was just a logged NullReferenceException. Sergio, I haven't encountered a crash yet. |
(0006289)
sfernandez 2020-04-27 23:55 |
Yes, it is not crashing in Noesis, it looks like a managed exception. Glad to hear the patch seems to work and you are not getting more crashes. |
(0006291)
stonstad 2020-04-28 17:07 |
Thanks, Sergio. Any chance I could get an optimized version of the library? A few screens hang and/or are slow with the debug build. |
(0006294)
sfernandez 2020-04-28 17:13 |
Sure, here you are: https://drive.google.com/open?id=19Ek48NJANOu0F1OUqbJEBlAGiVpuFPRo |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1663 | [NoesisGUI] Unity3D | minor | always | 2020-04-23 19:20 | 2020-04-28 10:36 |
Reporter: | stonstad | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0 | ||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.0 | ||
Target Version: | 3.0.0 | ||||
Platform: | Any | ||||
Summary: | Unknown type 'CompositeTransform'. | ||||
Description: |
w/ Noesis 3.0b8. I get this XAML error: Unknown type 'CompositeTransform'. I'm investigating this to see why I might be getting this error now. Is it possible it was removed? |
||||
Tags: | |||||
Steps To Reproduce: |
<Path Height="15" Stretch="Uniform" Fill="#FFFFFFFF" Data="F1 M 78.1398,324.18L 52.5865,298.626C 51.6892,297.728 50.3385,297.459 49.1678,297.946C 47.9971,298.43 47.2305,299.574 47.2305,300.843L 60.6385,326.398L 47.2305,351.952C 47.2305,353.223 47.9971,354.364 49.1678,354.848C 49.5558,355.011 49.9638,355.09 50.3678,355.09C 51.1838,355.09 51.9852,354.77 52.5865,354.171L 78.1398,328.616C 78.7238,328.032 79.0598,327.224 79.0598,326.398C 79.0598,325.572 78.7238,324.764 78.1398,324.18 Z "> <Path.RenderTransform> <CompositeTransform Rotation="270" TranslateX="-3" TranslateY="12" /> </Path.RenderTransform> </Path> |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0006243)
stonstad 2020-04-23 19:23 |
Replacing w/ <TransformGroup> <TranslateTransform X="-3" Y="12"/> <RotateTransform Angle="270" /> </TransformGroup> but would appreciate some commentary on breaking change. |
(0006249)
sfernandez 2020-04-23 20:21 |
CompositeTransform is a NoesisGUI extension, so it should include the NoesisGUIExtensions namespace:<Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:noesis="clr-namespace:NoesisGUIExtensions;assembly=Noesis.GUI.Extensions"> <Rectangle Fill="Red" Width="400" Height="200"> <Rectangle.RenderTransform> <noesis:CompositeTransform Rotation="40"/> </Rectangle.RenderTransform> </Rectangle> </Grid> |
(0006250)
stonstad 2020-04-23 20:49 |
Understood, thank Sergio. Is this a change or did it somehow magically work before? I'm OK with change. |
(0006254)
sfernandez 2020-04-23 21:06 |
In 2.2 version that class was incorrectly registered without the namespace, so it couldn't be used in Blend and our extensions nuget. We fixed that for 3.0 version. |
(0006268)
jsantos 2020-04-24 17:57 |
One of the few things missing to have final 3.0 is a document about 3D in Noesis. We are on in. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1667 | [NoesisGUI] C++ SDK | feature | N/A | 2020-04-24 22:15 | 2020-04-27 12:33 |
Reporter: | stonstad | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 3.0 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Feature Request for Brightness and Contrast Shader | ||||
Description: | Most of my game art is rasterized instead of vector, and this forces me to create multiple versions of the same image for normal, hover, and down states. This is request for a shader which adjusts brightness and contrast. I would use it in XAML themes for button trigger events. However, I'm not aware of what the overhead might be for such a design and whether it is practical. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0006278)
jsantos 2020-04-27 12:33 |
In the next version (probably 3.1) we are going to provide custom shaders (this is something that already can be done, but we didn't have time to properly expose it). Having said that, I think you current approach is going to be much more efficient because effects render to offscreen per frame. They have a cost and should be avoided whenever possible. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1665 | [NoesisGUI] Unity3D | crash | always | 2020-04-24 20:17 | 2020-04-24 20:18 |
Reporter: | tesrt | Platform: | |||
Assigned To: | OS: | ||||
Priority: | normal | OS Version: | |||
Status: | new | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Inheriting a GridViewColumn causes Unity to crash | ||||
Description: | When I inherit a GridViewColumn Unity crashes | ||||
Tags: | C#, GridViewColumn, Unity | ||||
Steps To Reproduce: |
Creating a new class and make it inherit GridViewColumn |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1622 | [NoesisGUI] C++ SDK | block | always | 2020-01-28 13:57 | 2020-04-24 19:01 |
Reporter: | daldegam | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.6 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.0 | ||
Target Version: | 3.0.0 | ||||
Platform: | Any | ||||
Summary: | NativeSDK - Android platform android_x86_64 | ||||
Description: |
Hello! I am studying NoesisGui, and doing some tests. I downloaded "NoesisGUI-NativeSDK-2.2.6", and noticed that the android_x86_64 platform is missing (I'm not talking about android_arm64). My game has platforms with Android Studio nomenclatures: arm64-v8a (in the sdk I believe it is: Bin/android_arm64/libNoesis.so) armeabi-v7a (in the sdk I believe it is: Bin/android_arm/libNoesis.so) x86 (on sdk I believe it is: Bin/android_x86/libNoesis.so) x86_64 (sdk does not have the binary for this platform!) Is it an error in the SDK distribution or is there really no support for android_x86_64 in NativeSDK? When I compiling my code i got this message from compiler: - This app only has 32-bit [x86] native libraries. Beginning August 1, 2019 Google Play store requires that all apps that include native libraries must provide 64-bit versions. For more information, visit https://g.co/64-bit-requirement NoesisGUI will support 64 bits version for Android? Thanks. Leandro Daldegam |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0006079)
jsantos 2020-01-28 18:05 |
Thanks for the feedback! We are adding support for this in NoesisGUI 3.0 |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1402 | [NoesisGUI] C# SDK | minor | always | 2019-01-28 09:49 | 2020-04-21 16:55 |
Reporter: | ai_enabled | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.0b5 | ||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.0 | ||
Target Version: | 3.0.0 | ||||
Platform: | Any | ||||
Summary: | RangeBase.ValueChanged new value broken | ||||
Description: |
Hi guys, I've noticed that for a Slider control RoutedPropertyChangedEventArgs<double>.NewValue always contains the same value which is incorrect. As a workaround, I'm using Slider.Value directly inside my ValueChanged event handler. Regards! |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0005425)
sfernandez 2019-01-30 13:44 |
This is happening because your changes from float to double are only on the C# side. Native code still stores everything in float, and in that particular case, as you are asking for a RoutedPropertyChangedEventArgs<double> and the data stored in memory are 2 floats, the raw conversion is accessing unknown memory. You can hack your code in NoesisEvents.cs by forcing the use of float args in case T is double. It should work as RangeBase.ValueChanged is the only control using these float args: public T OldValue { get { return typeof(T) == typeof(double) ? (T)(object)(double)RoutedPropertyChangedEventArgsHelper.GetOldValue<float>(getCPtr(this)) : RoutedPropertyChangedEventArgsHelper.GetOldValue<T>(getCPtr(this)); } } public T NewValue { get { return typeof(T) == typeof(double) ? (T)(object)(double)RoutedPropertyChangedEventArgsHelper.GetNewValue<float>(getCPtr(this)) : RoutedPropertyChangedEventArgsHelper.GetNewValue<T>(getCPtr(this)); } } Anyway, I will try to find a way to make this more robust in the native side. |
(0005427)
ai_enabled 2019-01-30 14:18 |
Thank you for a quick reply, Sergio! I'm reporting this as a bug as it was working fine before. So something has been changed. Regarding the possible solution - I see it's possible to modify Extend.GetNativePropertyType so that it will return NativePropertyType.Float for double and decimal (and NativePropertyType.NullableFloat for the nullable counterparts). Then you can rewrite GetOld/New value to use something like that: int type = Extend.GetNativePropertyType(typeof(T)); IntPtr value = Noesis_RoutedPropertyChangedEventArgs_GetNewValue(cPtr, type); // or get old value Error.Check(); var result = Extend.GetProxy(value, true); return result is T || ReferenceEquals(result, null) ? (T)result : Extend.ConvertValue<T>(result); Seems to work fine here! |
(0005428)
ai_enabled 2019-01-30 14:21 (Last edited: 2019-01-30 14:23) |
With C# 7.1 you can use it like this for better performance:int type = Extend.GetNativePropertyType(typeof(T)); IntPtr value = Noesis_RoutedPropertyChangedEventArgs_GetNewValue(cPtr, type); // or get old value Error.Check(); var result = Extend.GetProxy(value, true); if (result is T castedResult) { return castedResult; } if (ReferenceEquals(result, null)) { return default; } return Extend.ConvertValue<T>(result); |
(0006213)
ai_enabled 2020-04-15 17:28 |
Hi Sergio, as you've replied in another ticket: "changing Extend.GetNativePropertyType to return Float for double/decimal types." — I've done this and it indeed fixes the issue. Will you use it as a primary solution to this issue or it might have some side effects? |
(0006215)
sfernandez 2020-04-16 10:12 |
No, it will have no side effects, it is safe to use it in your case. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1590 | [NoesisGUI] C# SDK | feature | always | 2019-11-28 11:42 | 2020-04-21 16:28 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 2.2.5 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.0 | ||||
Platform: | Any | ||||
Summary: | Missing classes for Live-Charts porting | ||||
Description: |
https://www.noesisengine.com/forums/viewtopic.php?f=3&t=1864 Class: System.Windows.DispatcherTimer System.Windows.Media.PathGeometry System.Windows.Media.FormattedText Constructor: public DoubleAnimation(double toValue, Duration duration); public ColorAnimation(Color toValue, Duration duration); public PointAnimation(Point fromValue, Point toValue, Duration duration); |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
856 | [NoesisGUI] Unity3D | minor | sometimes | 2016-04-01 13:49 | 2020-04-21 16:27 |
Reporter: | easylaser | Platform: | Unity3D | ||
Assigned To: | jsantos | OS: | OS X | ||
Priority: | high | OS Version: | 10.11 | ||
Status: | assigned | Product Version: | 1.2.6f2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.0 | ||||
Platform: | Any | ||||
Summary: | Icons are sometimes rendered incorrectly | ||||
Description: |
Icons are sometimes rendered with seemingly lower precision than normal. After unloading/loading the view the icons often look good again. The behaviour seems to happen randomly, but is very common. Tested on iOS and Android. The attached file contains one photo with the problem visible and one when the icons are displayed as intended. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
System Description | |||||
Attached Files: |
Images.zip (3,642,259 bytes) 2016-04-01 13:49 https://www.noesisengine.com/bugs/file_download.php?file_id=652&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1616 | [NoesisGUI] Unity3D | minor | always | 2020-01-13 10:49 | 2020-04-21 16:26 |
Reporter: | Gwynneth | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 2.2.6 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.0 | ||||
Platform: | Any | ||||
Summary: | TextDecoration cannot be bound with a ValueConverter specified in the binding | ||||
Description: |
Using a TextBlock with a binding to a TextDecoration property will work. If a ValueConverter is specified in the binding it will not and log the error below. Furthermore, TextDecoration only seems to implement Underline and the TextBox does not have the TextDecoration property exposed. I assume that this is by design and has nothing to do with the error? <code> InvalidOperationException: Can't unbox native pointer Noesis.Extend.Unbox (System.IntPtr cPtr, Noesis.Extend+NativeTypeInfo info) (at Assets/NoesisGUI/Plugins/API/Core/ExtendBoxing.cs:233) Noesis.Extend.GetProxy (System.IntPtr nativeType, System.IntPtr cPtr, System.Boolean ownMemory) (at Assets/NoesisGUI/Plugins/API/Core/Extend.cs:507) Noesis.Extend.ConverterConvert (System.IntPtr cPtr, System.IntPtr valType, System.IntPtr valPtr, System.IntPtr targetTypePtr, System.IntPtr paramType, System.IntPtr paramPtr, System.IntPtr& result) (at Assets/NoesisGUI/Plugins/API/Core/Extend.cs:2038) UnityEngine.Debug:LogException(Exception) NoesisUnity:OnUnhandledException(Exception) (at Assets/NoesisGUI/Plugins/NoesisUnity.cs:142) Noesis.Error:UnhandledException(Exception) (at Assets/NoesisGUI/Plugins/API/Core/Error.cs:18) Noesis.Extend:ConverterConvert(IntPtr, IntPtr, IntPtr, IntPtr, IntPtr, IntPtr, IntPtr&) (at Assets/NoesisGUI/Plugins/API/Core/Extend.cs:2058) Noesis.View:Noesis_View_Create(HandleRef) Noesis.View:CreateCPtr(Type, Boolean&) (at Assets/NoesisGUI/Plugins/API/Core/View.cs:467) Noesis.BaseComponent:.ctor() (at Assets/NoesisGUI/Plugins/API/Proxies/BaseComponentExtend.cs:17) Noesis.DispatcherObject:.ctor() (at Assets/NoesisGUI/Plugins/API/Proxies/DispatcherObject.cs:30) Noesis.View:.ctor(HandleRef) (at Assets/NoesisGUI/Plugins/API/Core/View.cs:451) Noesis.View:.ctor(FrameworkElement) (at Assets/NoesisGUI/Plugins/API/Core/View.cs:419) NoesisView:CreateView(FrameworkElement) (at Assets/NoesisGUI/Plugins/NoesisView.cs:1302) NoesisView:LoadXaml(Boolean) (at Assets/NoesisGUI/Plugins/NoesisView.cs:394) NoesisView:OnEnable() (at Assets/NoesisGUI/Plugins/NoesisView.cs:453) </code> |
||||
Tags: | TextDecoration, ValueConverter | ||||
Steps To Reproduce: |
Specify XAML, ValueConverter and ViewModel as below. The first TextBlock will show text with underline, the second textblock will not. <code> <TextBlock Grid.Row="2" FontSize="50" Text="Hello, from stock TextBlock!" FontFamily="Arial" FontWeight="Bold" FontStyle="Italic" TextDecorations="{Binding TextDecoration}"/> <TextBlock Grid.Row="3" FontSize="50" Text="Hello, from stock TextBlock with ValueConverter!" FontFamily="Arial" FontWeight="Bold" FontStyle="Italic" TextDecorations="{Binding TextDecoration, Converter={StaticResource TextDecorationConverterSimple}}"/> </code> <code> using System; using System.Globalization; #if NOESIS using TDO = Noesis.TextDecorations; using Noesis; #else using TDO = System.Windows.TextDecorations; using System.Windows.Data; #endif namespace Test_TextBlockBinding.UI_Customization.Controls.ValueConverters { public class TextDecorationConverterSimple : IValueConverter { public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { #if NOESIS return TDO.Underline; #else return TDO.Underline; #endif } public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { throw new NotImplementedException(); } } } </code> <code> #if NOESIS using TDO = Noesis.TextDecorations; using Noesis; #else using TDO = System.Windows.TextDecorationCollection; using System.Windows; #endif namespace Test_TextBlockBinding.ViewModels { public class ViewModel : NotifyPropertyChangedObject { private TDO _textDecoration; public TDO TextDecoration { get => _textDecoration; set => SetProperty(ref _textDecoration, value); } } </code> |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0006076)
sfernandez 2020-01-16 12:47 |
Created a ticket for TextBox.TextDecorations missing property: 0001619 |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1638 | [NoesisGUI] C++ SDK | feature | N/A | 2020-03-13 11:49 | 2020-04-20 20:11 |
Reporter: | steveh | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.6 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.0 | ||
Target Version: | 3.0.0 | ||||
Platform: | Any | ||||
Summary: | Expose PPAA tesellator scale | ||||
Description: |
Hi guys, I forgot about a local change we made in 2.2.1. I've just remembered about it because I've had to reintegrate it into our 2.2.6 version. It'd be nice to have an official feature for this. We noticed that on one of our paths, the PPAA scale was not sufficient so we wanted to bump it up to increase the quality. The scale I'm talking about is the value applied in PathTessellator::GenAAGeometry() Old: vertices.push_back(vertices[i] + scale * PPA_EXTRUDE_OUT * n); New: vertices.push_back(vertices[i] + scale * Max(mCachedPath->PPAAScale, 0.1f) * PPA_EXTRUDE_OUT * n); We then just expose this value via FrameworkElement in a similar way that Noesis::Element::PPAAMode is exposed. We pass this value to all the render nodes. This allows us to do something like this from our XAML: <Control x:Name="Logo" Template="{StaticResource GameTitle}" Noesis:Element.PPAAScale="2.0"> And then generate a much more detailed path. Our unofficial implementation of this was just hastily put together, but an official support for this would be really nice. Note: I'm not sure if something like this already exists in 3.0.0. Cheers |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0006145)
jsantos 2020-03-13 11:59 |
This is a great suggestion. Something we talked about was exposing PPA_IN and PPA_OUT, would that be also valid for your game? |
(0006146)
steveh 2020-03-13 12:06 |
Yes, exposing those 2 properties would also give the same control so that would be great! |
(0006226)
jsantos 2020-04-20 20:10 (Last edited: 2020-04-20 20:10) |
We implemented this and will be available in the next beta<Canvas noesis:Element.PPAAMode="Default" noesis:Element.PPAAIn="0.5" noesis:Element.PPAAOut="0.5"> We are also working in a doc to explain the meaning of both numbers. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1653 | [NoesisGUI] Unity3D | crash | random | 2020-04-09 22:15 | 2020-04-16 19:19 |
Reporter: | stonstad | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.0 | ||
Target Version: | 3.0.0 | ||||
Platform: | Any | ||||
Summary: | Noesis_View_Update(...) Hard Locks Unity | ||||
Description: |
Using Noesis 3.0 b6, I am seeing a repeated Unity hard lock. I can attach to the Unity Editor process and get the call stack. The only thread executing code (and blocking) is Noesis_View_Update(CPtr, timeInSeconds). I can set a breakpoint on line 260 and confirm that it does not fire because code remains stuck on line 261. See enclosed screenshots. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
Lock-Subsequent-Attempt.PNG (23,216 bytes) 2020-04-09 22:15 https://www.noesisengine.com/bugs/file_download.php?file_id=1187&type=bug Lock-Active-Threads.PNG (44,285 bytes) 2020-04-09 22:15 https://www.noesisengine.com/bugs/file_download.php?file_id=1188&type=bug Lock-Location.PNG (70,104 bytes) 2020-04-09 22:15 https://www.noesisengine.com/bugs/file_download.php?file_id=1189&type=bug Actual Editor.PNG (70,917 bytes) 2020-04-10 21:47 https://www.noesisengine.com/bugs/file_download.php?file_id=1195&type=bug Unity.dmp (1,715,540 bytes) 2020-04-10 21:47 https://www.noesisengine.com/bugs/file_download.php?file_id=1196&type=bug |
||||
Notes | |
(0006186)
sfernandez 2020-04-10 12:23 |
In Unity we don't explicitly use the Dispatcher, so there shouldn't be any operations pending when processing the dispatcher queue. The code for the Dispatcher is also available, could you please check how many 'pendingOperations' are being processed when it freezes, or if it is frozen inside any of the operations being invoked? |
(0006187)
stonstad 2020-04-10 15:31 |
I believe the freeze is on Noesis_View_Update because this is the method shown in the Unity Editor call stack when I attach to the editor. This is also the line that has the yellow program counter highlighted. The red line is just my breakpoint to see if Update is called later. I'll check the dispatcher queue. FWIW -- this is happening to me very frequently. |
(0006189)
sfernandez 2020-04-10 20:44 |
Sorry, I misunderstood. Could you please attach a Visual Studio debugger, hit "Pause" button, and then go to "Debug > Save Dump As...". This is using beta 6, right? We'll try to see where inside Noesis it is stuck. |
(0006193)
stonstad 2020-04-10 21:47 |
Is the minidump ok? |
(0006194)
sfernandez 2020-04-12 12:45 |
The minidump is ok, thank you. We will study it and keep you informed. |
(0006195)
sfernandez 2020-04-12 12:48 |
One question, are you manually updating and rendering our View, or you are simply using our NoesisView component? |
(0006197)
jsantos 2020-04-13 16:41 |
We know what's happening but we need more information about when this is happening. If you have a pattern that fires this issue it is really welcome. :) |
(0006198)
stonstad 2020-04-13 17:48 |
I am letting the Noesis View handle updating and rendering. @jsantos -- it seems to happen only when I am in the Unity Editor scene view. It does not happen in the game view, I think. Otherwise, it is very random. I have had it happen five times in five minutes -- and I can go several hours without it happening. I think it relates to what I am doing in the Editor Scene view -- if I am moving and/or manipulating object transforms that seems to cause it. Despite the call stack, maybe it is Unity caused. Would a full dump instead of a minidump help? |
(0006199)
jsantos 2020-04-13 17:52 |
Thanks, we don't need more dumps. We know what part of our code is causing this. So this is not happening in PLAY mode? |
(0006200)
stonstad 2020-04-14 15:46 |
If I edit or move things in the scene view during playback it happens in a few seconds. Is there something I can do to unfreeze it? When it happens minimize/maximize no longer works once I tab to a different application. |
(0006201)
jsantos 2020-04-14 15:50 |
Just let me confirm this, this is only happening during playback right? |
(0006204)
stonstad 2020-04-14 23:27 |
I have more information to share. 1) Only happens during PLAY 2) Only happens when flying around or clicking in Scene tab 3) Only happens when a Noesis View is active. |
(0006206)
stonstad 2020-04-15 00:05 (Last edited: 2020-04-15 00:06) |
It is a 15GB project. I can send it over with repo steps after this thread is marked private. |
(0006207)
jsantos 2020-04-15 00:08 |
Thanks for the details. For we don't need the project. One question regarding 2), this is happening when going to Scene tab and Game view is not visible right? |
(0006210)
stonstad 2020-04-15 15:07 |
That's right -- my editor is tabbed so that either the scene view or game view is visible, but not both. My workaround is to always disable the game object containing the NoesisView before I switch to the scene view and inspect game objects. |
(0006211)
jsantos 2020-04-15 17:01 |
Thanks for the feedback. We were able to reproduce it. Working on a fix right now. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1658 | [NoesisGUI] C# SDK | minor | always | 2020-04-15 04:48 | 2020-04-16 15:46 |
Reporter: | ai_enabled | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.0 | ||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.0 | ||
Target Version: | 3.0.0 | ||||
Platform: | Any | ||||
Summary: | Binding to ObservableCollection doesn't trigger change event anymore | ||||
Description: |
Hi guys, I'm not sure whether it's intended but in 2.2.6 it works fine while in 3.0.0b7 it's broken (and we've missed it during early testing). For example: <Grid Visibility="{Binding AccessibleVehicles, Converter={StaticResource EmptyCollectionToVisibilityConverter}}"> ... Where AccessibleVehicles is a readonly property of ObservableCollection<> type. I was able to workaround it by adding NotifyPropertyChanged(nameof(AccessibleVehicles)) but it's really weird as in 2.2.6 it works just fine! We have several such cases in the code. Regards! |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0006208)
ai_enabled 2020-04-15 04:49 (Last edited: 2020-04-15 04:49) |
Here is the code of the converter:public class EmptyCollectionToVisibilityConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { // ReSharper disable once PossibleNullReferenceException var valueAsEnumerable = value as IEnumerable; var hasElements = valueAsEnumerable?.GetEnumerator().MoveNext() ?? false; // ReSharper disable once CanExtractXamlLocalizableStringCSharp if (parameter as string == "Reverse") { hasElements = !hasElements; } return hasElements ? Visibility.Visible : Visibility.Collapsed; } public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { throw new NotImplementedException(); } } |
(0006214)
sfernandez 2020-04-16 09:56 |
I've checked with WPF and the behavior seems correct. If the collection changes (items added or removed) but the property itself didn't change (the collection is the same), the binding is not evaluated and the converter is not called. You probably should use collection Count as the trigger of property change: <Grid Visibility="{Binding AccessibleVehicles.Count, Converter={StaticResource CountToVisibilityConverter}}"> And use a converter that checks the value of the Count to determine the visibility. |
(0006216)
ai_enabled 2020-04-16 15:43 |
Thank you for investigating! The advice with binding to Count is a golden one :-) I never thought about this! I'm surprised it was fine before so I assumed it's a bug. Good to know that now it works as intended. You can close this issue. |
(0006217)
sfernandez 2020-04-16 15:46 |
You're welcome. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1657 | [NoesisGUI] C# SDK | minor | always | 2020-04-15 04:20 | 2020-04-15 19:10 |
Reporter: | ai_enabled | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.0 | ||
Target Version: | 3.0.0 | ||||
Platform: | Any | ||||
Summary: | Emoji rendering issue | ||||
Description: |
Hi, I've noticed a rendering issue with emojis, see the attached images. In most cases, it's a transparent pixel or two on the right or left edge of the emoji. In some cases, it's more severe than others. Regards! |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
Normal.jpg (1,522 bytes) 2020-04-15 04:20 https://www.noesisengine.com/bugs/file_download.php?file_id=1197&type=bug NoesisGUI issue.jpg (2,053 bytes) 2020-04-15 04:20 https://www.noesisengine.com/bugs/file_download.php?file_id=1198&type=bug NoesisGUI rough edges.jpg (159,587 bytes) 2020-04-15 04:20 https://www.noesisengine.com/bugs/file_download.php?file_id=1199&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1637 | [NoesisGUI] C++ SDK | minor | always | 2020-03-13 10:46 | 2020-04-13 21:02 |
Reporter: | steveh | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.6 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.0 | ||
Target Version: | 3.0.0 | ||||
Platform: | Any | ||||
Summary: | 'PlaySoundA' is not a member of 'Noesis::GUI' | ||||
Description: |
Hi guys, I've just decided to test out upgrading from 2.2.1 -> 2.2.6. I've just hit a compile error caused by the WinAPI doing some #define to rename "PlaySound" to either "PlaySoundA" or "PlaySoundW". The file which fails to compile is "IntegrationAPI.cpp". The issue is caused by the order of includes: 1. IntegrationAPI.cpp first includes IntegrationAPI.h. This declares a function called "PlaySound" in the GUI namespace. 2. It then includes NsDrawing/VGL.h which includes NsCore/SpinMutex.h which includes <windows.h>. This eventually includes "PlaySoundAPI.h" in the windows api which redefined PlaySound to either PlaySoundA / PlaySoundW depending on unicode settings. 3. This then causes a compile error because the definition does not match the name of the declaration. Error is as follows (I've cut out all the other non-important include paths) 1>------ Build started: Project: NoesisGUI, Configuration: Release PcDx11_x64 x64 ------ 1>IntegrationAPI.cpp 1>Note: including file: Z:\LicencedSoftware\NoesisGUI\2.2.6\NoesisSDK\Src\Packages\GUI\Core\Include\NsGui/IntegrationAPI.h 1>Note: including file: Z:\LicencedSoftware\NoesisGUI\2.2.6\NoesisSDK\Src\Packages\Core\Kernel\Include\NsCore/Kernel.h 1>Note: including file: Z:\LicencedSoftware\NoesisGUI\2.2.6\NoesisSDK\Src\Packages\Core\Kernel\Include\NsCore/Stream.h 1>Note: including file: Z:\LicencedSoftware\NoesisGUI\2.2.6\NoesisSDK\Src\Packages\Core\NSTL\Include\NsCore/String.h 1>Note: including file: Z:\LicencedSoftware\NoesisGUI\2.2.6\NoesisSDK\Src\Packages\Drawing\VGL\Include\NsDrawing/VGL.h 1>Note: including file: Z:\LicencedSoftware\NoesisGUI\2.2.6\NoesisSDK\Src\Packages\Core\System\Include\NsCore/SpinMutex.h 1>Note: including file: C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\windows.h 1>Note: including file: C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\mmsystem.h 1>Note: including file: C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\playsoundapi.h 1>z:\licencedsoftware\noesisgui\2.2.6\noesissdk\src\packages\gui\core\src\integrationapi.cpp(130): error C2039: 'PlaySoundA': is not a member of 'Noesis::GUI' 1>z:\licencedsoftware\noesisgui\2.2.6\noesissdk\src\packages\gui\core\include\nsgui\integrationapi.inl(13): note: see declaration of 'Noesis::GUI' 1>Done building project "NoesisGUI.vcxproj" -- FAILED. ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ========== I can fix locally by renaming "PlaySound" to "NsPlaySound" so it doesn't match the #define. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0006142)
jsantos 2020-03-13 11:35 |
Ugh, not sure why we are not having that error here and nobody complained before but I think we should rename PlaySound to something different. Unicode macros in window are a nightmare. |
(0006143)
steveh 2020-03-13 11:41 |
Yup, I fully agree :) In fact, I'd go as far to say that the entire WinAPI is a nightmare. Others may not have an issue because I'm not building Noesis externally using the generated solution. We use premake and directly integrate the CPP / H files from Noesis into our game's solution, so Noesis is built as part of our solution / generated project as opposed to Noesis solution/project generated via the Python script. This means that we may have different build settings which may include different windows unicode settings, or API settings etc. |
(0006144)
jsantos 2020-03-13 11:46 |
I love that idea of integrating CPP / H directly into your solution. And we want to support this way in the future (like for example providing a single .cpp (or just a few) with all Noesis inside). Any feedback to make your life easier about this is welcome. Thanks! |
(0006196)
jsantos 2020-04-13 14:37 (Last edited: 2020-04-13 21:02) |
I fixed this and also added WIN32_LEAN_AND_MEAN in all places we are including windows.h |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1071 | [NoesisGUI] C# SDK | crash | always | 2017-04-30 10:56 | 2020-04-13 14:43 |
Reporter: | GabrielStranak | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 2.0.1f1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.0 | ||||
Platform: | Any | ||||
Summary: | Default resource provider on Android - Unable to load font | ||||
Description: |
Issue reported on forum http://www.noesisengine.com/forums/viewtopic.php?f=3&t=1068 The default resource provider on Android platform is unable to load fonts from local or external storage. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1651 | [NoesisGUI] C# SDK | feature | N/A | 2020-04-08 23:22 | 2020-04-13 14:07 |
Reporter: | ai_enabled | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.0 | ||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Emojis opacity support | ||||
Description: |
Hi guys, I'm modifying text opacity by animating Foreground.Opacity property. It works fine for regular text however it has no effect on inline emojis rendering (see the screenshot where the text went transparent but the emojis remains as is). Do I have to use the "Opacity" property or you're planning to add support for brush Opacity for emojis rendering? Regards! |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
Default.jpg (68,021 bytes) 2020-04-08 23:22 https://www.noesisengine.com/bugs/file_download.php?file_id=1183&type=bug Hidden.jpg (69,360 bytes) 2020-04-08 23:22 https://www.noesisengine.com/bugs/file_download.php?file_id=1184&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1649 | [NoesisGUI] Unity3D | minor | always | 2020-04-08 20:11 | 2020-04-09 20:24 |
Reporter: | stonstad | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.0 | ||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Compile Errors - Disambiguation Needed | ||||
Description: | FilterPredicate.cs uses a type that cannot be resolved due to two types having the same name (System.ComponentModel) and System.Collections.Specialized. See included error message for details. | ||||
Tags: | |||||
Steps To Reproduce: | Import Noesis 3.0.6 into a project. | ||||
Additional Information: | |||||
Attached Files: |
Errors.PNG (51,882 bytes) 2020-04-08 20:11 https://www.noesisengine.com/bugs/file_download.php?file_id=1181&type=bug Cause.png (11,629 bytes) 2020-04-09 17:26 https://www.noesisengine.com/bugs/file_download.php?file_id=1186&type=bug |
||||
Notes | |
(0006174)
stonstad 2020-04-08 20:13 |
Resolved through the following disambiguation using statements: using System.Collections; using System.ComponentModel; using INotifyCollectionChanged = System.Collections.Specialized.INotifyCollectionChanged; using NotifyCollectionChangedAction = System.Collections.Specialized.NotifyCollectionChangedAction; using NotifyCollectionChangedEventArgs = System.Collections.Specialized.NotifyCollectionChangedEventArgs; |
(0006175)
stonstad 2020-04-08 20:14 |
Also needed w/ SortComparer. |
(0006179)
sfernandez 2020-04-09 13:16 |
What platform, scripting backend and API compatibility level are you using? I tried on Windows with Mono/IL2CPP and .NET 4.6/.NET Standard 2.0 and I'm not getting those compiler errors. Those classes shouldn't exist on System.ComponentModel namespace. |
(0006181)
stonstad 2020-04-09 17:26 |
Scripting Backend: IL2CPP API Compat Level: .NET 4.x OK, it turns out Newtonsoft.Json defines System.ComponentModel shims which use the same namespace. I don't believe there is anything to fix here. |
(0006184)
sfernandez 2020-04-09 20:23 |
Ok, thanks for the feedback, I'm closing this. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1652 | [NoesisGUI] C# SDK | major | always | 2020-04-09 00:47 | 2020-04-09 20:24 |
Reporter: | stonstad | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.0 | ||
Target Version: | 3.0.0 | ||||
Platform: | Any | ||||
Summary: | Expander.IsExpanded Does Not Work | ||||
Description: |
<Expander ... IsExpanded="True" ./> IsExpanded="True" does not work in XAML or programatically via code. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0006176)
stonstad 2020-04-09 00:50 |
Seems like it is related to how it tracks (or doesn't track) internal state for expansion. |
(0006177)
sfernandez 2020-04-09 10:46 |
What beta are you using to test this? We did some changes to the Expander style in beta 5. I'm testing with latest beta (6) and it seems to work fine, I can set the IsExpanded="True" in xaml and it starts correctly expanded with the content visible. It also works if I set it via code. |
(0006182)
stonstad 2020-04-09 17:29 |
This was with Beta 3. Confirmed it works w/ latest v6. Thank you! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1644 | [NoesisGUI] C# SDK | minor | always | 2020-03-24 14:43 | 2020-04-03 16:24 |
Reporter: | ai_enabled | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.6 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.0 | ||
Target Version: | 3.0.0 | ||||
Platform: | Any | ||||
Summary: | Dispatcher issues | ||||
Description: |
Hi guys, first, this operation.Invoke() call https://github.com/Noesis/Managed/blob/782acc60bf2f2befbab0d701a3e3d5bd467859ab/Src/Noesis/Core/Src/Core/Dispatcher.cs#L137 will crash the process if there is an exception because it's not handled. I suggest changing it to: try { operation.Invoke(); } catch (OperationCanceledException) { // that's fine } catch (Exception) { // TODO: add logging } (the issue happened to me) Second, NoesisGUI C# SDK 2.2.6 setting up the synchronization context here https://github.com/Noesis/Managed/blob/ce47687f17cb6c66c93b1151154d906ff9cf8d23/Src/Noesis/Core/Src/Core/NoesisGUI.cs#L58 this is conflicting with our own "main thread" SynchronizationContext . I'm not sure if you actually intended to set your SynchronizationContext there. For my branch, I've just removed this line, but I think you need to pay extra attention as it might lead to unexpected consequences for your customers. You cannot make an assumption that the main thread (with its SynchronizationContext) completely belongs to NoesisGUI. Setting your SynchronizationContext temporary is fine but implicitly enforcing it is not a good idea from my experience. Regards! |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0006171)
sfernandez 2020-03-25 12:03 |
Yes, that was incorrect in 2.2.6 and we changed in 3.0, we no longer set the SynchronizationContext when NoesisGUI is initialized. We will incorporate the exception catch block to the invoke call, although we will use the UnhandledException callback we expose in our API, because we don't handle the exceptions occurring in user code. I guess you already installed your own exception handler with Noesis.Error.SetUnhandledCallback(), right? Thanks for the feedback. |
(0006172)
ai_enabled 2020-03-25 21:08 |
Yes, my NoesisGUI wrapper for MonoGame is setting up the callback with Noesis.Error.SetUnhandledCallback() Good to know you're already aware of this issue. Regards! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1632 | [NoesisGUI] C# SDK | feature | N/A | 2020-03-02 20:29 | 2020-03-21 19:27 |
Reporter: | ai_enabled | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.5 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.0 | ||
Target Version: | 3.0.0 | ||||
Platform: | Any | ||||
Summary: | Twemoji not supported | ||||
Description: |
Hi guys, I have success with Segoe UI Emoji but looking for a crossplatform opensource alternative. It seems Twemoji is the most popular and used widely (e.g. Discord) Here is the COLR version https://github.com/mozilla/twemoji-colr However, it's rendered as blank glyphs by NoesisGUI. According to the readme: "Systems that do not support such color fonts will show blank glyphs if they try to use this font." Here is SVGinOT version https://github.com/eosrei/twemoji-color-font/releases SVGinOT version results in black-and-white glyps only. I wish to see it implemented—either COLR or SVGinOT. Regards! |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
Twem.xaml (383 bytes) 2020-03-09 02:25 https://www.noesisengine.com/bugs/file_download.php?file_id=1166&type=bug Screenshot at 17-35-45.jpg (96,742 bytes) 2020-03-09 14:47 https://www.noesisengine.com/bugs/file_download.php?file_id=1167&type=bug Screenshot at 22-40-27.jpg (136,303 bytes) 2020-03-09 14:47 https://www.noesisengine.com/bugs/file_download.php?file_id=1168&type=bug Screenshot at 19-33-14.jpg (135,262 bytes) 2020-03-09 16:35 https://www.noesisengine.com/bugs/file_download.php?file_id=1169&type=bug Screenshot at 19-33-33.jpg (184,056 bytes) 2020-03-09 16:35 https://www.noesisengine.com/bugs/file_download.php?file_id=1170&type=bug TwemojiMozilla(2).ttf (1,244,336 bytes) 2020-03-09 16:37 https://www.noesisengine.com/bugs/file_download.php?file_id=1171&type=bug emojis.jpg (379,908 bytes) 2020-03-20 21:18 https://www.noesisengine.com/bugs/file_download.php?file_id=1177&type=bug Emojis.xaml (7,220 bytes) 2020-03-20 21:18 https://www.noesisengine.com/bugs/file_download.php?file_id=1178&type=bug |
||||
Notes | |
(0006120)
jsantos 2020-03-02 20:42 |
Hmm, that's strange because we already support COLR/PAL tables. That font must have something different. I will have a look at it as soon as possible. |
(0006125)
ai_enabled 2020-03-06 21:41 (Last edited: 2020-03-06 21:41) |
Thanks, Jesús! I hope it could be done easily, at least for COLR version. We want to provide certain improvements but don't have much extra time so the idea with emojis support seemed like a perfect one. NoesisGUI works great with Segoe UI Emoji but due to Microsoft license, we cannot add it into the game Core.cpk. If we use only installed Windows font, Windows 7/8.1 customers will be unable to see the emojis... If you know any alternative open-source emoji font please let me know. So far I've found only Twemoji and Noto Color Emoji (which is totally incompatible as it never received proper TTF support). Regards! |
(0006126)
jsantos 2020-03-09 02:25 |
No sure if I am trying the right font. I just downloaded v.0.5.0 from here (https://github.com/mozilla/twemoji-colr/releases) and using the attached XAML I am not able to display anything. Once we release first beta of 3.0 I will be able to analyze this with more detail but could you confirm that with the given XAML you can see black glyphs? |
(0006127)
jsantos 2020-03-09 02:26 |
By the way, skin tones and things like that are still not supported. It's been requested many times so I think this is something we will start to solve 'soon' :) |
(0006128)
ai_enabled 2020-03-09 14:47 (Last edited: 2020-03-09 14:48) |
Thanks for checking this. Mozilla COLR's version of the font is indeed not rendered. I've tried it before and tried again (you can see the attached screenshot #1). SVGinOT of the font is rendered in black glyphs. Segoe UI Emoji works fine (see the attached screenshot #2). I wish we can get support for Twemoji in 2.2.x as so far it's the only viable alternative to Segoe UI Emoji. We're happy to have just basic emojis support without skin color or other options. It's way better than nothing ha-ha! Actually, it's really incredible, our players who have seen the screenshot of my experiment are totally hyped up! :-) Regards! |
(0006129)
jsantos 2020-03-09 16:28 (Last edited: 2020-03-09 16:29) |
I would say that COLR version is broken. Not sure if related to this (https://github.com/mozilla/twemoji-colr/issues/31). Does the font work for you out of Noesis? SVGinOT is an incredibly complex format, we don't have plans to support it right now... This is something we need to think about again after 3.0... |
(0006130)
ai_enabled 2020-03-09 16:35 (Last edited: 2020-03-09 16:35) |
I've just installed it (as usual — clicked on the font -> Install) and tried in different applications. Most of my apps don't support any Emoji fonts but I had success with MailBird application and Mozilla's COLR version of Twemoji. The second screenshot is Segoe UI Emoji font. I've simply copypasted emojis from https://getemoji.com/ |
(0006131)
jsantos 2020-03-09 16:36 (Last edited: 2020-03-09 16:37) |
Could you attach the TTF here? just to make sure we are using the same version. |
(0006132)
ai_enabled 2020-03-09 16:37 |
Sure, here it is: |
(0006168)
jsantos 2020-03-20 21:18 (Last edited: 2020-03-20 21:19) |
Ok, finally I found time for this. The problem is, this font is not providing black and white fallback glyphs and we are expecting that. This is a bug in Noesis, I am fixing it right now in 3.0, but I am not sure when I will find time for this for 2.2. Could you create a new version of the TTF with black and white fallbacks? I am attaching the XAML I am using and a screenshot. The font is cool! |
(0006169)
ai_enabled 2020-03-20 21:25 |
Good to know! If 3.0 release is coming in mid/late April it would be fine for us :-) no need to implement this in 2.2 then. Otherwise, we would be more than happy to have the fix for 2.2.7... I'm afraid it's too complicated to rebuild the TTF by injecting the fallback glyphs. I have no experience with this and not enough time to research the idea. This font is great! Discord is using it so many players would be excited to see this font in their beloved games too! |
(0006170)
jsantos 2020-03-21 19:27 |
Yes, the plan is having the final 3.0 earlier. I fixed this (took me more changes than expected to do it efficiently) and will be available in beta 4. Thansk! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1625 | [NoesisGUI] Website | minor | N/A | 2020-02-13 17:17 | 2020-03-20 20:19 |
Reporter: | steveh | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Roadmap is incorrect | ||||
Description: |
Hi guys, Looking at your roadmap we have already passed the deadline for 2.3.0, and we are getting quite close to the estimated delivery date for 3.0.0, and I expect that this version will be pushed back a bit. Is there any chance we can get an updated roadmap timescale so I can roughly plan out when I'm going to integrate newer versions in the future? We really want the drop shadow effect (see Bug #0001563), and I feel this will be much easier to implement with the introduction of the custom shader effects in 3.0.0. I am also looking forward to the storyboard seek implementation, and the PathGeometry implementation. Much appreciated, cheers. -Steven |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0006095)
jsantos 2020-02-13 19:47 |
Hi Steve, Thanks for reaching out. We canceled 2.3.0 release and many of the features are being moved to 3.0. Noesis 3.0 is happening before GDC, we are trying to have all the announced features but I think a few of them are being moved to 3.1. PathGeometry is finished. I think storyboard seeking is being implemented (@sfernandez), could you please open a ticket about it? Regarding custom shader effects we are trying to have at least the Drop Shadow implemented by default. How urgent is this feature for your team? |
(0006096)
steveh 2020-02-13 19:54 |
Thanks for the quick response. The drop shadow is not extremely urgent for us as we're still relatively early in development and this is more of a polish thing, but a lot of our pre-vis work heavily relies on drop shadowed elements. All iconography in the pre-vis have drop shadows on them so this is something I'd like to get working reasonably soon as I feel this will make a huge difference to our UI. I'd also like to get it in to test the performance to make sure that this is a feasible effect to have across the entire UI on various elements. If there's too much of an impact on perf then I need to let our artists know so we can find alternative methods. Cheers, -Steven |
(0006165)
jsantos 2020-03-20 20:19 |
I am going to close this. Could you please open a ticket for 'storyboard seek implementation' ? Thanks! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1643 | [NoesisGUI] C++ SDK | minor | always | 2020-03-19 12:13 | 2020-03-20 20:18 |
Reporter: | Joren | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.6 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.0 | ||
Target Version: | 3.0.0 | ||||
Platform: | Any | ||||
Summary: | NS_WARNING_POP Missing in BaseFreezableCollection.h | ||||
Description: |
NS_WARNING_POP seems to be missing in BaseFreezableCollection.h, throwing a warning. Minor thing, but I guess I should let you guys know. |
||||
Tags: | C++ | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0006164)
jsantos 2020-03-20 20:18 |
Thanks for this! Really appreciate these details. :) |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1615 | [NoesisGUI] C++ SDK | crash | always | 2020-01-09 10:30 | 2020-03-20 16:49 |
Reporter: | Joren | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.6 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.0 | ||
Target Version: | 3.0.0 | ||||
Platform: | Any | ||||
Summary: | Hang in UIInline Container | ||||
Description: | Using an UIInlineContainer inside a style, and then using this style inside a ItemsControl will hang the application. Managed to replicate this issue in the NoesisApp. | ||||
Tags: | C++ | ||||
Steps To Reproduce: | Included a ZIP with the Noesis Hello World sample project. Added some code with the hang inside. It is specifically the part where ItemsControl is used. | ||||
Additional Information: | |||||
Attached Files: |
HelloWorld.zip (673,076 bytes) 2020-01-09 10:30 https://www.noesisengine.com/bugs/file_download.php?file_id=1146&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1623 | [NoesisGUI] Unity3D | crash | random | 2020-02-03 10:56 | 2020-03-20 16:48 |
Reporter: | JinFox | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.6 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.0 | ||
Target Version: | 3.0.0 | ||||
Platform: | Windows | ||||
Summary: | Unity Engine Editor crashing randomly after hitting play a after having played previously. | ||||
Description: |
Hello, We are experiencing an issue at the moment where Noesis crashes randomly when we Run the editor after having played previously : - We click "Play" do our tests. - Click "stop". - Then click "play again" - The editor crashes entirely. It does not systematically happen at the second attempt (sometime after 3, 4 or 5 "stop then start" of the editor). When the issue occurs, the full editor is crashing and we then have the attached crash logs. Here is an extract of the stacktrace of when the issue occurs : |
||||
Tags: | Unity | ||||
Steps To Reproduce: |
- We click "Play" do our tests. - Click "stop". - Then click "play again" - The editor crashes entirely. |
||||
Additional Information: | |||||
Attached Files: |
Crash_2020-01-30_170649167.zip (322,787 bytes) 2020-02-03 10:56 https://www.noesisengine.com/bugs/file_download.php?file_id=1157&type=bug |
||||
Notes | |
(0006080)
sfernandez 2020-02-03 13:18 |
Hi, we were able to find some bug in our code related to the attached crash. Please try with the following library and let me know if you still get crashes: https://drive.google.com/open?id=1yWQS0hC4aRUqPs-eW_Q1ZhfvHGmQsa8O If you get any more crashes please attach the dump, maybe it corresponds to another bug. Thanks for your feedback. |
(0006081)
JinFox 2020-02-03 16:18 |
Hello, Thank, you for the quick answer. It seems that this dll does not work. No more error appear but the UI does not appear at all. I have tested Using the following steps : 1 - Clean Unity GI cache (and disabling it), to make sure no cached version of the dll was present. 2 - Close Unity Editor 3 - Swapped the Noesis.dll present in Assets\NoesisGUI\Plugins\Libraries\Windows\x86_64 byt the new one 4 - Relaunch Unity, click play 5 - UI does not show up, as if I was loading an empty xaml. Doing the same steps and re-introducing the old dll is re-introducing the bug but the UI re-appear. Would you have a reason for this? Thank you again for your time. |
(0006082)
sfernandez 2020-02-04 10:35 |
Sorry, this one should work fine: https://drive.google.com/open?id=17HM9vlxzVRtq4S1kD4MATAeJ87d1KBzv |
(0006083)
JinFox 2020-02-04 11:47 |
Hello, Unfortunately same symptoms with this version (p2), the Crash doesn't occur anymore and Noesis logs seem to be called and loading all the xamls, but the actual UI is not rendered). |
(0006084)
sfernandez 2020-02-04 12:03 |
It is strange, I'm testing our samples and they render fine in Unity using that library. Could you please try with one of our sample too and confirm it also fails for you? |
(0006085)
sfernandez 2020-02-04 12:06 |
Forget it, I was able to reproduce the black screen with one of our samples. I'll get back to you when I find what is happening. |
(0006087)
sfernandez 2020-02-04 16:43 |
Sorry for the inconvenience. Please try with the following library: https://drive.google.com/open?id=1s3NeriOHdoc3QUFu87Zc2YOsQOKXmuwS I tried this library and works fine with all our samples, it should work for you too. |
(0006089)
JinFox 2020-02-05 14:13 |
Hello sfernandez!, This one works and it seems to be solving the original problem as well! Thanks very much! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1626 | [NoesisGUI] Unity3D | minor | always | 2020-02-16 23:08 | 2020-03-20 16:45 |
Reporter: | C4ustic | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.6 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.0 | ||
Target Version: | 3.0.0 | ||||
Platform: | Windows | ||||
Summary: | You get a stack overflow exception if clicking a TreeViewItem that has a template set in it's style. | ||||
Description: |
Having a style like this: <Style x:Key="{x:Type TreeViewItem}" TargetType="{x:Type TreeViewItem}"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type TreeViewItem}"> <Border x:Name="Border" Padding="2" SnapsToDevicePixels="true" BorderBrush="{StaticResource Brush_ItemBorder}" BorderThickness="{TemplateBinding BorderThickness}"> <ContentPresenter Content="{TemplateBinding Header}" ContentTemplate="{TemplateBinding HeaderTemplate}" ContentTemplateSelector="{TemplateBinding HeaderTemplateSelector}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}"/> </Border> </ControlTemplate> </Setter.Value> </Setter> </Style> And then just click on the the item in the tree view: My xaml looks like this: <TreeView Name="x_folderTreeView" Grid.Column="0" ItemsSource="{Binding RootFolderItems}" SelectedItemChanged ="SelectedFolderChangedEx"> <TreeView.ItemTemplate > <HierarchicalDataTemplate DataType="{x:Type NsUI:NsUICreateObjectFolderItem}" ItemsSource="{Binding ChildFolders}" > <Grid PreviewMouseLeftButtonDown="Folder_TreeView_ItemSelected" > <TextBlock Text="{Binding FolderName}" Height="35" FontSize="22"/> </Grid> </HierarchicalDataTemplate> </TreeView.ItemTemplate> </TreeView> |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0006097)
C4ustic 2020-02-16 23:09 |
This is what the exception look like: StackOverflowException: The requested operation caused a stack overflow. Noesis.View.MouseButtonDown (System.Int32 x, System.Int32 y, Noesis.MouseButton button) (at Assets/NoesisGUI/Plugins/API/Core/View.cs:126) NoesisView.ProcessEvent (UnityEngine.Event ev, System.Boolean enableKeyboard, System.Boolean enableMouse, System.Boolean emulateTouch) (at Assets/NoesisGUI/Plugins/NoesisView.cs:1002) NoesisView.OnGUI () (at Assets/NoesisGUI/Plugins/NoesisView.cs:1129) |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1617 | [NoesisGUI] Unity3D | minor | always | 2020-01-13 11:40 | 2020-03-20 16:39 |
Reporter: | Gwynneth | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.6 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.0 | ||
Target Version: | 3.0.0 | ||||
Platform: | Any | ||||
Summary: | Separator does not properly stretch in vertical orientation | ||||
Description: | Using a (custom) Separator control the control does not properly stretch when it is used in a vertical layout. When using a LayoutTransform in WPF the Separator stretches its width to fill the vertical space (image 01), in NoesisGUI the width has to be manually defined for it to show up. | ||||
Tags: | Separator | ||||
Steps To Reproduce: | Define the code as defined in the attached images and the vertically oriented Separator will not show. | ||||
Additional Information: | |||||
Attached Files: |
Separator_stretching_01.png (6,209 bytes) 2020-01-13 11:40 https://www.noesisengine.com/bugs/file_download.php?file_id=1147&type=bug Separator_stretching_02.png (19,737 bytes) 2020-01-13 11:40 https://www.noesisengine.com/bugs/file_download.php?file_id=1148&type=bug Separator_stretching_03.png (57,915 bytes) 2020-01-13 11:40 https://www.noesisengine.com/bugs/file_download.php?file_id=1149&type=bug Separator_stretching_04.png (55,094 bytes) 2020-01-13 11:40 https://www.noesisengine.com/bugs/file_download.php?file_id=1150&type=bug |
||||
Notes | |
(0006121)
sfernandez 2020-03-03 13:38 (Last edited: 2020-03-03 13:38) |
Could you please try adding the following template to your separator style?<Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="Separator"> <Rectangle Fill="{TemplateBinding Background}" Height="1"/> </ControlTemplate> </Setter.Value> </Setter> |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1639 | [NoesisGUI] C++ SDK | block | always | 2020-03-14 18:18 | 2020-03-20 16:38 |
Reporter: | steveh | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.6 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.0 | ||
Target Version: | 3.0.0 | ||||
Platform: | Any | ||||
Summary: | Assert when connecting element to a different view | ||||
Description: |
Hi guys, I'm trying to update to 2.2.6 but some of our code is asserting. Bear with me, this will take a bit of explaining... I've created a new control derived from ContentControl called "ExplicitlyControlledElement". The purpose of this control is to allocate a new view and move the children of it's element out of the main view and into a newly allocated view which can be controlled by a different controller. I did it this way to simplify screens which may be controlled by multiple people. This means that we can do something like this in the main XAML: <usercontrol> <local:UniquelyControlledElement> <stackpanel KeyboardNavigation.DirectionalNaviation="Contained"> <button Content="A" /> <button Content="B" /> </stackpanel> </local:UniquelyControlledElement> </usercontrol> At runtime, in the OnInitialised delegate of the UniquelyControlledElement, we allocate a new view and move the content of the children into the root of the new view. Something like this: I've attached our actual function to this bug report called "UniquelyControlledElement_CreateView.cpp". Hopefully you should get the general idea of what I'm trying to do. Note: There is a also an additional control called a "DummyPositionalObject". This gets inserted into the hierarchy so if we animate the position of the UniquelyControlledElement in the main view we move the view as well, so the UI artist can still move the position of these views in animations. This all used to work fine in 2.2.1. However, I've just updated to 2.2.6 and I'm getting an assert when this gets called here: void Visual::OnConnectToView(IView* view) { // A visual can only be attached to one view NS_ASSERT(view != 0); NS_ASSERT(mView == 0); // <-- Here NS_ASSERT(!mIndex); mView = static_cast<View*>(view); if (CheckVisualFlag(VisualFlags_NeedsUpdate)) { AddInvalidatedVisual(); } SetVisualFlag(VisualFlags_ParentChanged | VisualFlags_CreateRenderNode); } So this looks like something has already moved the view across. I've added a bunch of debugging and I think I've tracked it down, so here is what I believe is happening: The element at fault is a control with a dynamic template applied, specifically it looks like this (with some slight name adjustments): <Control x:Name="Icon_Locked" HorizontalAlignment="Center" Height="67.333" VerticalAlignment="Center" Width="67.333" Template="{DynamicResource Icons_PopUp_Locked}" Foreground="#FF7C7C7C" Margin="47,14,10,40" Focusable="False"/> The Icons_PopUp_Locked is in a different database and I've attached a copy of what this looks like (with the path data removed to simplify the problem). The issue comes from the DynamicResource... 1. The Icon_Locked control's Visual::ConnectToView is called from the parent grid 2. FrameworkElement::OnConnectToView is called from Visual::ConnectToView 3. It calls the OnAncestorChanged delegate 4. It calls into DynamicResourceExpression::OnAncestorChanged which has been bound because the template is set up to be a dynamic resource. 5. DynamicResourceExpresion::OnAncestorChanged calls InvalidateProperty with the "Template" property + NsSymbolToString((*((Noesis::DependencyProperty*)mTargetProperty)).mName.mIndex) 0x0000000052ba0fa0 "Template" const char * 6. DependencyObject::InternalInvalidateProperty is called with the template dependency property passed in. It makes it way to the bottom of the function where this code is executed: Expression* expression = DynamicCast<Expression*>(pv.boxed.GetPtr()); if (expression) { // Connect new target Ptr<Expression> cloned = IsInitialized() ? expression->Reapply(this, dp) : Ptr<Expression>(expression); InternalSetExpression(dp, cloned.GetPtr(), pv.providerPriority); } 7. DependencyObject::InternalSetExpression calls "dp->SetValueObject(this, value, priority, newExpression, metadata);" 8. This ultimately ends up triggering a PropertyChangedNotify call with the TemplateProperty 9. The Control::OnPropertyChanged gets executed and the args.prop matches the TemplateProperty 10. This calls FrameworkElement::ApplyFrameworkTemplate. 11. This calls SetSingleVisualChild on the new root 12. This ultimate connects the child to the view of the parent, which has already been moved across to the new root in bullet point 2. (See first_callstack.txt attachment) 13. We finish this and go all the way back out the call stack to Visual::ConnectToView 14. Visual::ConnectToView calls Visual::OnConnectToViewChildren 15. The Control now iterates across all children and tries to connect it to the new view. 16. We assert on the first child because the ApplyFrameworkTemplate already parented the node, so we shouldn't connect the child to the view, it's already been done. (see second_callstack.txt attachment). *phew* we made it :) Now.. I'm not sure on the best fix here. Perhaps it could be fixed by the same way you prevent infinite loops in the measure by adding a visual flag like "InReparenting", and before you do any logic in Visual::ConnectToView you call something like CheckVisualFlag(!InReparenting), e.g. maybe something like this: void Visual::ConnectToView(IView* view) { NS_ASSERT(view != 0); if (!CheckVisualFlag(VisualFlags_InReparenting)) { SetVisualFlag(VisualFlags_InReparenting); OnConnectToView(view); OnConnectToViewChildren(); ClearVisualFlag(VisualFlags_InReparenting) } } But I'm not sure if this'll bust anything during the framework application as I'm not sure what side effect will be caused by not calling OnConnectToView when applying the template mid reparenting. This issue is preventing me from integrating 2.2.6 so I'd like to get a fix for this pretty shortly if at all possible, so any suggestions would be great. Cheers, -Steven |
||||
Tags: | |||||
Steps To Reproduce: | * see description * | ||||
Additional Information: | |||||
Attached Files: |
ResourceDatabase.xaml (723 bytes) 2020-03-14 18:18 https://www.noesisengine.com/bugs/file_download.php?file_id=1172&type=bug UniquelyControlledElement_CreateUniqueView.cpp (2,106 bytes) 2020-03-14 18:18 https://www.noesisengine.com/bugs/file_download.php?file_id=1173&type=bug second_callstack.txt (833 bytes) 2020-03-14 18:18 https://www.noesisengine.com/bugs/file_download.php?file_id=1174&type=bug first_callstack..txt (3,879 bytes) 2020-03-14 18:18 https://www.noesisengine.com/bugs/file_download.php?file_id=1175&type=bug |
||||
Notes | |
(0006147)
steveh 2020-03-14 18:34 |
I realised I was being silly in my suggestion, I don't need to CheckFlag on the current visual, I need to check the parent's flag. After realising this, I changed the function to look like this (it's not nice, don't judge :) ) void Visual::ConnectToView(IView* view) { NS_ASSERT(view != 0); if (nullptr == GetVisualParent() || !GetVisualParent()->CheckVisualFlag(VisualFlags_InReparenting)) // #SPH_TO_REMOVE { // #SPH_TO_REMOVE SetVisualFlag(VisualFlags_InReparenting); // #SPH_TO_REMOVE OnConnectToView(view); ClearVisualFlag(VisualFlags_InReparenting); // #SPH_TO_REMOVE OnConnectToViewChildren(); } // #SPH_TO_REMOVE } The lines with #SPH_TO_REMOVE were the ones I added. This did actually work for me, and I've managed to load my XAML elements and everything still seems to work upon initial inspection. I'm working remotely right now so I can't actually check to see if the second controller can control the other view, but the primary user can still control the first view. I can't see any major issues so far, but I've not actually ran through the entire game yet. I'll give it more testing. I'm sure you guys will know if this is a silly thing to do or not though. Cheers, -Steven |
(0006150)
sfernandez 2020-03-17 12:38 |
Hi Steve, we are looking into this as it seems something we accidentally introduced in 2.2.6 and is still occurring in 3.0 version. We'll let you know as soon as we have the proper solution. Thank you so much for the detailed report, it will for sure help a lot. |
(0006151)
sfernandez 2020-03-18 19:30 |
Hi Steve, I fixed this in branch 2.2 revision 8936, could you please give it a try and confirm? |
(0006158)
steveh 2020-03-18 21:57 |
Hi there, yeah, that's seemed to have done the trick. I've reverted my hack and replaced it with the submitted changelist and it seems to work great. Cheers! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1354 | [NoesisGUI] C++ SDK | minor | have not tried | 2018-11-21 13:51 | 2020-03-20 16:36 |
Reporter: | jsantos | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.0 | ||
Target Version: | 3.0.0 | ||||
Platform: | Any | ||||
Summary: | Remove IResourceKey from C++ API | ||||
Description: | Right now, the dictionaries API is not WPF compliant | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1640 | [NoesisGUI] C++ SDK | major | always | 2020-03-15 15:03 | 2020-03-18 20:18 |
Reporter: | steveh | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.6 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.0 | ||
Target Version: | 3.0.0 | ||||
Platform: | Any | ||||
Summary: | Viewbox scaling incorrect in 2.2.6 for off screen render targets | ||||
Description: |
Hi guys, My last known issue caused by upgrading from 2.2.1 -> 2.2.6 is a new issue where the viewbox scaling looks incorrect if applying render scales > 1.0 with an opacity of < 1.0 to cause it to draw to the off screen render targets. I've attached a XAML file which you can load into the 2.2.6 XAML player which demonstrates this problem. For the time being, I've commented out the scaling of some of our animations which are causing this problem, but this has had a noticeable impact on the visual styling of our animations. It almost looks like the offscreen render target is using a reciprocal of the scaling (e.g. a scale of 2.0 makes the final image clamped to 1/2 width and 1/2 height, a value of 4 makes the final image clamped to 1/4 width and 1/4 height). |
||||
Tags: | |||||
Steps To Reproduce: |
1. Load the XAML file provided into the XAML Player for 2.2.6 2. Notice that the ellipse only draws a quater of it. 3. Change the opacity on the ellipse back to 1.0 to force it to draw to the normal render target. 4. Notice that it is now correctly sized |
||||
Additional Information: | |||||
Attached Files: |
MainWindow.xaml (1,185 bytes) 2020-03-15 15:03 https://www.noesisengine.com/bugs/file_download.php?file_id=1176&type=bug |
||||
Notes | |
(0006148)
sfernandez 2020-03-16 10:43 |
Hi, We patched that wrong behavior in the changeset 8712 of branch 2.2 in our repository. I think you have access to our source code, right? Could you please check with that revision number? |
(0006149)
steveh 2020-03-16 11:27 |
Hi Sergio, Yes, I do indeed have source code access. I've just integrated #8712 into our version and as you stated, the issues have now been resolved. Much appreciated! -Steven |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1633 | [NoesisGUI] C++ SDK | block | have not tried | 2020-03-09 22:44 | 2020-03-18 20:00 |
Reporter: | rmcq | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.6 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.0 | ||
Target Version: | 3.0.0 | ||||
Platform: | Any | ||||
Summary: | 'noesis:Element.SupportsFocusEngagement' ignored | ||||
Description: |
In some scenarios, the 'noesis:Element.SupportsFocusEngagement' property is ignored. From this thread: https://www.noesisengine.com/forums/viewtopic.php?f=3&t=1919 |
||||
Tags: | C++, xaml | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1550 | [NoesisGUI] C# SDK | minor | always | 2019-09-04 05:41 | 2020-03-18 14:19 |
Reporter: | jamieh | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.3 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.0 | ||
Target Version: | 3.0.0 | ||||
Platform: | Any | ||||
Summary: | ObservableCollection.Move generates a Noesis Unimplemented Error | ||||
Description: |
I have an ObservableCollection<T> that is a dependency property of a custom control. This collection is being put into a ListView. The initial binding is working fine, and I'm getting the data. However, I'm attempting to sort the data using ObservableCollection.Move(), and when I do that I'm getting this error in Unity: [noesis] Unimplemented UnityEngine.Debug:LogError(Object) NoesisUnity:UnityLog(Int32, String) (at Assets/NoesisGUI/Plugins/NoesisUnity.cs:116) Noesis.Extend:Noesis_LaunchCollectionChangedEvent(IntPtr, IntPtr, Int32, IntPtr, IntPtr, Int32, Int32) Noesis.Extend:NotifyCollectionChanged(Object, NotifyCollectionChangedEventArgs) (at Assets/NoesisGUI/Plugins/API/Core/Extend.cs:4359) System.Collections.ObjectModel.ObservableCollection`1:Move(Int32, Int32) |
||||
Tags: | C# | ||||
Steps To Reproduce: |
Bind ListView to ObservableCollection Call .Move() on your ObservableCollection |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0006030)
ai_enabled 2019-12-05 03:36 |
I wish it was implemented :-) Collection set doesn't work good as it breaks the selected item binding and also the performance is far from the best. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1472 | [NoesisGUI] C++ SDK | minor | always | 2019-05-21 11:34 | 2020-03-12 17:31 |
Reporter: | steveh | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 2.2.0 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Windows | ||||
Summary: | Soft lock when measuring a list box with a content presenter sharing content with another item | ||||
Description: |
Hi guys, When I was filling out a list box with some dummy data I ended up getting a soft lock when measuring the visual tree. I ended up tracking it down to re-parenting a list box. The item template had a content presenter and I was sharing a common control between different items in the listbox (in my case a vector path). During measuring, the visual parent pointer is reassigned from nullptr to the new parent when measuring the first item. When it gets to the second item, it tries to reparent the parent of the content but it's already been re-parented. I've created a quick sample to reproduce this. I have a workaround for this so it's not a big issue at all. It may be that we can't fix this, but it'd be nice to trigger an assert just to avoid having to debug this in the future. Much appreciated, cheers. -Steven |
||||
Tags: | |||||
Steps To Reproduce: |
1. Create a list box. 2. Override the item template, use a content presenter. 3. Bind the list box to a source which uses a shared control. 4. Re-parent the list box to another element in the hierarchy. 5. This should soft lock during the next measure. |
||||
Additional Information: | |||||
Attached Files: |
MeasureSoftLock.zip (8,224 bytes) 2019-05-21 11:34 https://www.noesisengine.com/bugs/file_download.php?file_id=1020&type=bug |
||||
Notes | |
(0006141)
steveh 2020-03-12 17:31 |
Hi guys, I've just been looking through the changelogs and I actually think this was fixed in 2.2.4. I think this bug is a dupe of 0001529 https://www.noesisengine.com/bugs/view.php?id=1529 |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1630 | [NoesisGUI] C++ SDK | major | always | 2020-02-27 09:09 | 2020-03-10 14:25 |
Reporter: | tension_andreas | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.5 | ||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.5 | ||
Target Version: | |||||
Platform: | Android | ||||
Summary: | All text disappears on some android devices | ||||
Description: |
So far we’ve found out that it only happens in release and that the font texture seems to be completely black. This happens both when using a font of our choice as well when not specifying any font at all. Some of devices that we've tested on are: Failed on: Asus Rog Phone 2 Samsung Galaxy Tab S4 Redmi Note 7 Works on: Samsung Galaxy A20 Samsung Galaxy S8+ Samsung Galaxy Tab S3 All of the devices are using Android 9 |
||||
Tags: | |||||
Steps To Reproduce: |
Just using this xaml is enough to get the error <Grid> <TextBlock Background="Black" Foreground="White" VerticalAlignment="Center" HorizontalAlignment="Center" FontSize="40"> <Run Text="App developed by Tension"/> </TextBlock> </Grid> These devices are know to get this error but there's probably more Asus Rog Phone 2 Samsung Galaxy Tab S4 Redmi Note 7 |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0006116)
jsantos 2020-02-27 23:52 |
Could you please attach the LogCat when the error is happening? Thanks |
(0006117)
tension_andreas 2020-03-02 09:55 |
Here is the log from startup to when we're in app and the error is happening, However there's nothing printed while the error happens. 2020-03-02 09:44:04.705 26134-26162/? I/TENGINE: CommandHandler: APP_CMD_START 2020-03-02 09:44:04.706 26134-26162/? I/TENGINE: CommandHandler: APP_CMD_RESUME 2020-03-02 09:44:04.707 1453-1453/? W/JobServiceContext: App Op not allow JobScheduler to start app com.reddit.frontpage/10304 2020-03-02 09:44:04.707 1453-1453/? D/JobScheduler: Error executing JobStatus{f42d004 #u0a304/2 com.reddit.frontpage/androidx.work.impl.background.systemjob.SystemJobService u=0 s=10304 TIME=-2d8h32m14s76ms:none BATNOTLOW READY} 2020-03-02 09:44:04.709 26134-26134/? D/OpenGLRenderer: Skia GL Pipeline 2020-03-02 09:44:04.709 1453-24722/? D/CompatibilityInfo: mCompatibilityFlags - 0 2020-03-02 09:44:04.709 1453-24722/? D/CompatibilityInfo: applicationDensity - 460 2020-03-02 09:44:04.709 1453-24722/? D/CompatibilityInfo: applicationScale - 1.0 2020-03-02 09:44:04.716 20450-26103/? I/ChromeSync: [Persistence,AffiliationManager] Fetching affiliations from the server. 2020-03-02 09:44:04.720 1453-13885/? D/CompatibilityInfo: mCompatibilityFlags - 0 2020-03-02 09:44:04.720 1453-13885/? D/CompatibilityInfo: applicationDensity - 460 2020-03-02 09:44:04.720 1453-13885/? D/CompatibilityInfo: applicationScale - 1.0 2020-03-02 09:44:04.724 26134-26162/? I/TENGINE: CommandHandler: APP_CMD_INPUT_CHANGED 2020-03-02 09:44:04.726 20450-20902/? V/NativeCrypto: Read error: ssl=0x73a8ff7e48: I/O error during system call, Software caused connection abort 2020-03-02 09:44:04.726 20450-20902/? V/NativeCrypto: SSL shutdown failed: ssl=0x73a8ff7e48: I/O error during system call, Broken pipe 2020-03-02 09:44:04.726 17240-26101/? D/GameUtils: Retry too many times, don't fetch category from internet 2020-03-02 09:44:04.731 20450-24521/? I/Icing: Usage reports ok 1, Failed Usage reports 0, indexed 0, rejected 0 2020-03-02 09:44:04.732 20450-20588/? I/Icing: IndexChimeraService.getServiceInterface callingPackage=com.google.android.gms componentName=null serviceId=30 2020-03-02 09:44:04.735 20450-26103/? E/ChromeSync: [Sync,SyncIntentOperation] Error handling the intent: Intent { act=android.intent.action.PACKAGE_ADDED dat=package:se.tension.gateway.app flg=0x4000010 cmp=com.google.android.gms/.chimera.GmsIntentOperationService (has extras) }. 2020-03-02 09:44:04.738 20450-24521/? I/Icing: Indexing com.google.android.gms-internal.3p:MobileApplication from com.google.android.gms using seqno 3519 2020-03-02 09:44:04.738 26206-26206/? D/Launcher: bindAppsUpdated finished: 1ms 2020-03-02 09:44:04.738 20450-24521/? I/Icing: Indexing com.google.android.gms-internal.3p:MobileApplication from com.google.android.gms using seqno 3519 2020-03-02 09:44:04.740 26206-26219/? D/RecentsTaskLoadPlan: preloadPlan taskCount = 1 2020-03-02 09:44:04.740 26134-26162/? I/TENGINE: CommandHandler: APP_CMD_INIT_WINDOW 2020-03-02 09:44:04.740 26134-26162/? I/TENGINE: Initializing tgCCore 2020-03-02 09:44:04.741 26134-26162/? I/TENGINE: Initializing tgCAndroid 2020-03-02 09:44:04.741 26134-26162/? I/TENGINE: Initializing tgCFileSystem 2020-03-02 09:44:04.741 26134-26162/? I/TENGINE: Initializing tgCCameraManager 2020-03-02 09:44:04.741 26134-26162/? I/TENGINE: Initializing tgCShaderManager 2020-03-02 09:44:04.741 26134-26162/? I/TENGINE: Initializing tgCTextureManager 2020-03-02 09:44:04.741 26134-26162/? I/TENGINE: Initializing tgCLightManager 2020-03-02 09:44:04.741 26134-26162/? I/TENGINE: Initializing tgCWorldManager 2020-03-02 09:44:04.741 1453-1453/? W/JobServiceContext: App Op not allow JobScheduler to start app com.reddit.frontpage/10304 2020-03-02 09:44:04.741 26134-26162/? I/TENGINE: Initializing tgCModelManager 2020-03-02 09:44:04.741 1453-1453/? D/JobScheduler: Error executing JobStatus{f42d004 #u0a304/2 com.reddit.frontpage/androidx.work.impl.background.systemjob.SystemJobService u=0 s=10304 TIME=-2d8h32m14s110ms:none BATNOTLOW READY} 2020-03-02 09:44:04.741 26134-26162/? I/TENGINE: Initializing tgCAnimationManager 2020-03-02 09:44:04.741 26134-26162/? I/TENGINE: Initializing tgCQuadManager 2020-03-02 09:44:04.741 26134-26162/? I/TENGINE: Initializing tgCSpriteManager 2020-03-02 09:44:04.741 26134-26162/? I/TENGINE: Initializing tgCSplineGroupManager 2020-03-02 09:44:04.741 26134-26162/? I/TENGINE: Initializing tgCFontManager 2020-03-02 09:44:04.741 26134-26162/? I/TENGINE: Initializing tgCDebugManager 2020-03-02 09:44:04.741 26206-26219/? D/RecentsTaskLoadPlan: preloadPlan allTasks.add = ComponentInfo{se.tension.gateway.app/se.tension.gateway.app.BootstrapActivity},Uid= 0 2020-03-02 09:44:04.743 26134-26162/? E/TENGINE: FileIni::FileIni(const std::string &) Line: 21 - Failed to load INI file (Settings_Android.ini)! 2020-03-02 09:44:04.743 26134-26162/? I/AdrenoGLES: QUALCOMM build : d2cd71b, If01a8551ff Build Date : 07/08/19 OpenGL ES Shader Compiler Version: EV031.27.01.00 Local Branch : Remote Branch : quic/gfx-adreno.lnx.1.0.r50 Remote Branch : NONE Reconstruct Branch : NOTHING 2020-03-02 09:44:04.743 26134-26162/? I/AdrenoGLES: Build Config : S P 6.0.9 AArch64 2020-03-02 09:44:04.744 1453-1453/? D/CompatibilityInfo: mCompatibilityFlags - 0 2020-03-02 09:44:04.744 1453-1453/? D/CompatibilityInfo: applicationDensity - 460 2020-03-02 09:44:04.744 1453-1453/? D/CompatibilityInfo: applicationScale - 1.0 2020-03-02 09:44:04.747 17240-26101/? V/[AppInfoRetriever]: queryAppFromAsusLauncher took 20 ms 2020-03-02 09:44:04.748 26134-26162/? I/AdrenoGLES: PFP: 0x016ee183, ME: 0x00000000 2020-03-02 09:44:04.750 1453-2850/? D/ImmersiveModeConfirmation: immersiveModeChanged() disabled=true mConfirmed=false 2020-03-02 09:44:04.763 26134-26162/? I/TENGINE: GL_OES_EGL_image 2020-03-02 09:44:04.763 26134-26162/? I/TENGINE: GL_OES_EGL_image_external 2020-03-02 09:44:04.763 26134-26162/? I/TENGINE: GL_OES_EGL_sync 2020-03-02 09:44:04.763 26134-26162/? I/TENGINE: GL_OES_vertex_half_float 2020-03-02 09:44:04.763 26134-26162/? I/TENGINE: GL_OES_framebuffer_object 2020-03-02 09:44:04.763 26134-26162/? I/TENGINE: GL_OES_rgb8_rgba8 2020-03-02 09:44:04.763 26134-26162/? I/TENGINE: GL_OES_compressed_ETC1_RGB8_texture 2020-03-02 09:44:04.763 26134-26162/? I/TENGINE: GL_AMD_compressed_ATC_texture 2020-03-02 09:44:04.763 26134-26162/? I/TENGINE: GL_KHR_texture_compression_astc_ldr 2020-03-02 09:44:04.763 26134-26162/? I/TENGINE: GL_KHR_texture_compression_astc_hdr 2020-03-02 09:44:04.763 26134-26162/? I/TENGINE: GL_OES_texture_compression_astc 2020-03-02 09:44:04.763 26134-26162/? I/TENGINE: GL_OES_texture_npot 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_EXT_texture_filter_anisotropic 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_EXT_texture_format_BGRA8888 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_EXT_read_format_bgra 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_OES_texture_3D 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_EXT_color_buffer_float 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_EXT_color_buffer_half_float 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_QCOM_alpha_test 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_OES_depth24 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_OES_packed_depth_stencil 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_OES_depth_texture 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_OES_depth_texture_cube_map 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_EXT_sRGB 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_OES_texture_float 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_OES_texture_float_linear 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_OES_texture_half_float 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_OES_texture_half_float_linear 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_EXT_texture_type_2_10_10_10_REV 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_EXT_texture_sRGB_decode 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_EXT_texture_format_sRGB_override 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_OES_element_index_uint 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_EXT_copy_image 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_EXT_geometry_shader 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_EXT_tessellation_shader 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_OES_texture_stencil8 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_EXT_shader_io_blocks 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_OES_shader_image_atomic 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_OES_sample_variables 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_EXT_texture_border_clamp 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_EXT_EGL_image_external_wrap_modes 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_EXT_multisampled_render_to_texture 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_EXT_multisampled_render_to_texture2 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_OES_shader_multisample_interpolation 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_EXT_texture_cube_map_array 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_EXT_draw_buffers_indexed 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_EXT_gpu_shader5 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_EXT_robustness 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_EXT_texture_buffer 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_EXT_shader_framebuffer_fetch 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_ARM_shader_framebuffer_fetch_depth_stencil 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_OES_texture_storage_multisample_2d_array 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_OES_sample_shading 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_OES_get_program_binary 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_EXT_debug_label 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_KHR_blend_equation_advanced 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_KHR_blend_equation_advanced_coherent 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_QCOM_tiled_rendering 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_ANDROID_extension_pack_es31a 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_EXT_primitive_bounding_box 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_OES_standard_derivatives 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_OES_vertex_array_object 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_EXT_disjoint_timer_query 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_KHR_debug 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_EXT_YUV_target 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_EXT_sRGB_write_control 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_EXT_texture_norm16 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_EXT_discard_framebuffer 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_OES_surfaceless_context 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_OVR_multiview 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_OVR_multiview2 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_EXT_texture_sRGB_R8 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_KHR_no_error 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_EXT_debug_marker 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_OES_EGL_image_external_essl3 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_OVR_multiview_multisampled_render_to_texture 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_EXT_buffer_storage 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_EXT_external_buffer 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_EXT_blit_framebuffer_params 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_EXT_clip_cull_distance 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_EXT_protected_textures 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_EXT_shader_non_constant_global_initializers 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_QCOM_texture_foveated 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_QCOM_texture_foveated_subsampled_layout 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_QCOM_shader_framebuffer_fetch_noncoherent 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_QCOM_shader_framebuffer_fetch_rate 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_EXT_memory_object 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_EXT_memory_object_fd 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_EXT_EGL_image_array 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_NV_shader_noperspective_interpolation 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_KHR_robust_buffer_access_behavior 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_EXT_EGL_image_storage 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_EXT_blend_func_extended 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_EXT_clip_control 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_OES_texture_view 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_EXT_fragment_invocation_density 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_QCOM_validate_shader_binary 2020-03-02 09:44:04.764 26134-26162/? I/TENGINE: GL_QCOM_YUV_texture_gather 2020-03-02 09:44:04.765 26134-26162/? I/TENGINE: Creating font: tg_embedded_proggytiny_9_normal 2020-03-02 09:44:04.765 26134-26162/? I/TENGINE: Initializing tgCPluginInput 2020-03-02 09:44:04.765 26134-26162/? I/TENGINE: Initializing tgCPluginSkydome 2020-03-02 09:44:04.765 26134-26162/? I/TENGINE: Creating shader: tg_embedded_plugin_skydome_vertex 2020-03-02 09:44:04.768 26134-26162/? I/TENGINE: Creating shader: tg_embedded_plugin_skydome_pixel 2020-03-02 09:44:04.768 14320-26167/? D/NextAppTrainingJobService: insert data - Package:__na__, Previous1:com.asus.launcher, Previous2:se.tension.gateway.app, Previous3:com.asus.launcher, Previous4:se.tension.gateway.app, Timestamp:1583138644572, p1_ts_diff:17187, p2_ts_diff:21446, p3_ts_diff:31354, p4_ts_diff:43994, p1_dur:17187, p2_dur:4305, p3_dur:9792, p4_dur:12624, Hour:9, DayClass:06~12, Weekday:Monday, WeekClass:weekday, Timezone:Europe/Stockholm, UTC:1, Plugged:1, LastPlugged:567134, MobileRadioOn:-1, LastMobileRadioOn:28408, WifiOn:1, LastWifiOn:86400, GpsOn:-1, LastGpsOn:227376, SensorOn:1, LastSensorOn:45217, WifiScan:-1, LastWifiScan:41797, WifiFullLock:-1, LastWifiFullLock:491075, WifiRunning:-1, LastWifiRunning:200902, WifiMultiCastOn:-1, LastWifiMultiCastOn:39216, AudioOn:-1, LastAudioOn:17152, CameraOn:-1, LastCameraOn:1713189, VideoOn:-1, LastVideoOn:6136416, LowPowerModeOn:0, LastLowPowerModeOn:86400, FlashlightOn:-1, LastFlashlightOn:268018147, ChargingOn:1, LastChargingOn:566578, PhoneInCall:-1, LastPhoneInCall:68422779, PhoneScanning:-1, LastPhoneScanning:91040249, BleScanning:-1, LastBleScanning:1028520350, WifiHotspotOn:0, LastWifiHotspotOn:86400, 2020-03-02 09:44:04.770 20450-24521/? I/Icing: Usage reports ok 0, Failed Usage reports 0, indexed 0, rejected 0 2020-03-02 09:44:04.770 26134-26162/? I/TENGINE: Creating shader program: tg_embedded_plugin_skydome 2020-03-02 09:44:04.773 2585-2585/? D/StatusBar: setSystemUiVisibility originVis=170e vis=170e mask=ffffffff oldVal=8 newVal=170e diff=1706 2020-03-02 09:44:04.775 20450-20588/? I/Icing: IndexChimeraService.getServiceInterface callingPackage=com.google.android.gms componentName=null serviceId=36 2020-03-02 09:44:04.778 844-844/? E/SurfaceFlinger: [se.tension.gateway.app/se.tension.gateway.app.TenGineActivity#0] rejecting buffer: bufWidth=1080, bufHeight=2213, front.active.{w=1080, h=2340} 2020-03-02 09:44:04.781 17240-26101/? D/GameUtils: Retry too many times, don't fetch category from internet 2020-03-02 09:44:04.782 20450-22882/? I/Icing: Usage reports ok 0, Failed Usage reports 0, indexed 0, rejected 0 2020-03-02 09:44:04.784 14320-26167/? D/NextAppCoreTrainingJobService: [filter predict result] current pkg = com.asus.launcher, predict 1 = com.facebook.katana:0.2262597680091858, predict 2 = com.android.chrome:0.11539454013109207, predict 3 = com.facebook.orca:0.08900726586580276, predict 4 = com.snapchat.android:0.07173154503107071, predict 5 = com.google.android.apps.maps:0.06376175582408905 2020-03-02 09:44:04.784 14320-26167/? D/NextAppCoreTrainingJobService: [predict result] current pkg = com.asus.launcher, predict 1 = com.facebook.katana:0.2262597680091858, predict 2 = com.android.chrome:0.11539454013109207, predict 3 = com.facebook.orca:0.08900726586580276, predict 4 = com.snapchat.android:0.07173154503107071, predict 5 = com.google.android.apps.maps:0.06376175582408905 2020-03-02 09:44:04.784 14320-26167/? D/NextAppCoreTrainingJobService: [predictAll] pkg = com.facebook.katana,com.android.chrome,com.facebook.orca,com.snapchat.android,com.google.android.apps.maps,se.avanzabank.androidapplikation,com.google.android.gm,com.asus.camera,com.addictive.strategy.army,com.computerlunch.evolution,com.bankid.bus,com.Slack,com.azurgames.idle,se.swedbank.mobil,com.spotify.music 2020-03-02 09:44:04.784 14320-26167/? D/NextAppCoreTrainingJobService: [predictAll] rate= 2262,1153,890,717,637,547,433,304,264,263,231,196,195,173,145 2020-03-02 09:44:04.785 14320-26167/? D/NextAppCoreTrainingJobService: [predictAll] userId= 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 2020-03-02 09:44:04.786 17240-26101/? V/[AppInfoRetriever]: queryAppFromAsusLauncher took 4 ms 2020-03-02 09:44:04.787 26206-26206/? D/AppsPredictionProvider: NextAppCoreObserver onChange:false 2020-03-02 09:44:04.788 26134-26162/? I/TENGINE: Creating quad: DebugBackgroundLeft 2020-03-02 09:44:04.788 26134-26162/? I/TENGINE: Creating quad: DebugBackgroundLeftBorder 2020-03-02 09:44:04.788 26134-26162/? I/TENGINE: Creating quad: DebugBackgroundTop 2020-03-02 09:44:04.789 26134-26162/? I/TENGINE: Creating quad: DebugBackgroundTopBorder 2020-03-02 09:44:04.789 26134-26162/? I/TENGINE: Creating font: fonts/proggytiny_14_normal 2020-03-02 09:44:04.789 26134-26162/? I/TENGINE: Creating font: fonts/proggytiny_21_normal 2020-03-02 09:44:04.793 26206-26235/? D/AppsPredictionProvider: app prediction list:com.facebook.katana,com.android.chrome,com.facebook.orca,com.snapchat.android,com.google.android.apps.maps,se.avanzabank.androidapplikation,com.google.android.gm,com.asus.camera,com.addictive.strategy.army,com.computerlunch.evolution,com.bankid.bus,com.Slack,com.azurgames.idle,se.swedbank.mobil,com.spotify.music 2020-03-02 09:44:04.793 26206-26235/? D/AppsPredictionProvider: app prediction user id list:0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 2020-03-02 09:44:04.793 26134-26162/? I/TENGINE: Creating font: fonts/proggytiny_14_normal 2020-03-02 09:44:04.795 1453-1453/? W/JobServiceContext: App Op not allow JobScheduler to start app com.reddit.frontpage/10304 2020-03-02 09:44:04.795 1453-1453/? D/JobScheduler: Error executing JobStatus{f42d004 #u0a304/2 com.reddit.frontpage/androidx.work.impl.background.systemjob.SystemJobService u=0 s=10304 TIME=-2d8h32m14s164ms:none BATNOTLOW READY} 2020-03-02 09:44:04.795 1453-1453/? W/JobServiceContext: App Op not allow JobScheduler to start app com.reddit.frontpage/10304 2020-03-02 09:44:04.795 1453-1453/? D/JobScheduler: Error executing JobStatus{f42d004 #u0a304/2 com.reddit.frontpage/androidx.work.impl.background.systemjob.SystemJobService u=0 s=10304 TIME=-2d8h32m14s164ms:none BATNOTLOW READY} 2020-03-02 09:44:04.797 26134-26162/? I/TENGINE: Creating camera: 3D Camera 2020-03-02 09:44:04.797 26134-26162/? I/TENGINE: Creating camera: 2D Camera 2020-03-02 09:44:04.802 26134-26162/? I/TENGINE: Creating font: fonts/proggytiny_21_normal 2020-03-02 09:44:04.803 26134-26162/? I/TENGINE: Noesis Init v2.2.5 (Android on ARM64 Profile) 2020-03-02 09:44:04.805 795-795/? I/QTI PowerHAL: power_hint =8 data=0 2020-03-02 09:44:04.805 795-795/? I/QTI PowerHAL: power_hint_override hint=8, data=0, data=0 2020-03-02 09:44:04.808 1453-1508/? D/ActivityTrigger: ActivityTrigger activityStopTrigger 2020-03-02 09:44:04.812 26206-26206/? D/LauncherLife: [onStop] called, Launcher@31e591f 2020-03-02 09:44:04.816 1453-1506/? I/ActivityManager: Displayed se.tension.gateway.app/.TenGineActivity: +392ms 2020-03-02 09:44:04.818 2889-2965/? D/PowerSaverHandler: PACKAGE_NAME: se.tension.gateway.app, isAutoStart: false 2020-03-02 09:44:04.818 26206-26206/? V/LauncherLife: Time spent in onStop: 6 ms 2020-03-02 09:44:04.818 2889-2889/? D/TaskWatcherService: pkgName: se.tension.gateway.app taskId: 8168 game app:0 2020-03-02 09:44:04.818 2889-2965/? D/OpenedTimeAppInfoProvider: Update DB : number of affected records : 1 2020-03-02 09:44:04.818 2889-2889/? W/ContextImpl: Calling a method in the system process without a qualified user: android.app.ContextImpl.startService:1531 android.content.ContextWrapper.startService:671 com.asus.powersaver.TaskWatcherService$IncomingHandler.handleMessage:112 android.os.Handler.dispatchMessage:106 android.os.Looper.loop:198 2020-03-02 09:44:04.820 2889-2889/? W/ContextImpl: Calling a method in the system process without a qualified user: android.app.ContextImpl.sendBroadcast:1005 android.content.ContextWrapper.sendBroadcast:451 com.asus.powersaver.TaskWatcherService$IncomingHandler.handleMessage:127 android.os.Handler.dispatchMessage:106 android.os.Looper.loop:198 2020-03-02 09:44:04.820 2889-2889/? D/PowerSaverService: onStartCommand PowerSaverService: 2020-03-02 09:44:04.820 2889-2889/? D/PowerSaverService: current package:se.tension.gateway.app act:se.tension.gateway.app.TenGineActivity sMode:0 pMode:2, game:0 2020-03-02 09:44:04.822 2889-2965/? I/AppOpsStatusUpdateHandler: pkgName = se.tension.gateway.app 2020-03-02 09:44:04.822 2889-2965/? I/AppOpsStatusUpdateHandler: taskId = 8168 2020-03-02 09:44:04.822 2889-2965/? D/CNAppLockHandler: CNAppLockHandler handleAppFocus 2020-03-02 09:44:04.822 2889-2965/? D/GameGenieHandler: packageName: se.tension.gateway.app taskId: 8168 reason: report-launched isExternalDisplay: false isWorkingOnExternalDisplay: false isFirstLaunchInMem: false 2020-03-02 09:44:04.822 2889-2965/? D/GameGenieHandler: intent: Intent { cmp=se.tension.gateway.app/.TenGineActivity } action: null className: se.tension.gateway.app.TenGineActivity 2020-03-02 09:44:04.823 2889-2965/? D/GameGenieHandler: PACKAGE_NAME: se.tension.gateway.app, isAutoStart: false 2020-03-02 09:44:04.824 2889-2965/? D/GameGenieHandler: isGameGenieStart false 2020-03-02 09:44:04.824 2889-2965/? D/GameGenieHandler: triggerGameGenieIntent isKeyguradLocked: false 2020-03-02 09:44:04.824 2889-2965/? D/GameGenieHandler: mLastTriggerIntent: null 2020-03-02 09:44:04.825 2889-2965/? D/GameGenieHandler: PACKAGE_NAME: se.tension.gateway.app, isAutoStart: false 2020-03-02 09:44:04.826 2889-2965/? D/GameGenieHandler: PACKAGE_NAME: se.tension.gateway.app, isGame: false 2020-03-02 09:44:04.826 2889-2965/? V/GameGenieHandler: Start set gaming type 2020-03-02 09:44:04.826 2889-2965/? D/GameGenieHandler: isAutoStartApp = false, isGameApp = false, isExternalDisplay = false 2020-03-02 09:44:04.826 2889-2965/? V/GameGenieHandler: End set gaming type 2020-03-02 09:44:04.834 2889-2966/? D/GameModeHandler: handleAppFocus exit 2020-03-02 09:44:04.853 26134-26162/? I/TENGINE: 'NoesisTheme.xaml' loaded 2020-03-02 09:44:04.853 26134-26162/? I/TENGINE: Creating shader: shaders/android/mesh_default_ambient_vertex 2020-03-02 09:44:04.860 26134-26162/? I/TENGINE: Creating shader: shaders/android/mesh_default_ambient_pixel 2020-03-02 09:44:04.862 17240-26101/? D/GameUtils: Retry too many times, don't fetch category from internet 2020-03-02 09:44:04.863 26134-26162/? I/TENGINE: Creating shader program: mesh_default_ambient 2020-03-02 09:44:04.868 17240-26101/? V/[AppInfoRetriever]: queryAppFromAsusLauncher took 6 ms 2020-03-02 09:44:04.873 26134-26162/? I/TENGINE: Creating shader: shaders/android/mesh_default_directional_vertex 2020-03-02 09:44:04.882 4255-4255/? D/TCSystemService: get app's name: se.tension.gateway.app 2020-03-02 09:44:04.883 4255-4255/? D/TouchpadMgrServ: vsyncAlgorithmOnOrOff set true is success 2020-03-02 09:44:04.883 844-2795/? E/SurfaceFlinger: onTransact: code=20001 2020-03-02 09:44:04.883 26134-26162/? I/TENGINE: Creating shader: shaders/android/mesh_default_directional_pixel 2020-03-02 09:44:04.883 4255-4255/? D/TouchpadNative: write touch sysfs success 2020-03-02 09:44:04.886 26134-26162/? I/TENGINE: Creating shader program: mesh_default_directional 2020-03-02 09:44:04.899 26134-26162/? I/TENGINE: Creating shader: shaders/android/mesh_default_point_vertex 2020-03-02 09:44:04.901 20775-25300/? I/PBSessionCacheImpl: Deleted sessionId[91370999177130991] from persistence. 2020-03-02 09:44:04.903 20775-20844/? W/SearchServiceCore: Abort, client detached. 2020-03-02 09:44:04.904 20775-20844/? I/StreamController: cleanUpControllerScope(nowcards-15-64d9421d-8e7f) 2020-03-02 09:44:04.907 2862-13619/? D/PhoneInterfaceManager: [PhoneIntfMgr] isUserDataEnabled: subId=1 phoneId=0 2020-03-02 09:44:04.907 2862-13619/? D/PhoneInterfaceManager: [PhoneIntfMgr] isUserDataEnabled: subId=1 retVal=false 2020-03-02 09:44:04.909 26134-26162/? I/TENGINE: Creating shader: shaders/android/mesh_default_point_pixel 2020-03-02 09:44:04.912 26134-26162/? I/TENGINE: Creating shader program: mesh_default_point 2020-03-02 09:44:04.913 844-927/? W/SurfaceFlinger: Attempting to set client state on removed layer: Splash Screen se.tension.gateway.app#0 2020-03-02 09:44:04.913 844-927/? W/SurfaceFlinger: Attempting to destroy on removed layer: Splash Screen se.tension.gateway.app#0 2020-03-02 09:44:04.924 17240-26101/? D/GameUtils: Retry too many times, don't fetch category from internet 2020-03-02 09:44:04.926 26134-26162/? I/TENGINE: Creating shader: shaders/android/mesh_default_spot_vertex 2020-03-02 09:44:04.926 26134-26162/? I/TENGINE: Creating shader: shaders/android/mesh_default_spot_pixel 2020-03-02 09:44:04.929 17240-26101/? V/[AppInfoRetriever]: queryAppFromAsusLauncher took 4 ms 2020-03-02 09:44:04.929 26134-26162/? I/TENGINE: Creating shader program: mesh_default_spot 2020-03-02 09:44:04.943 17240-26101/? D/GameUtils: Retry too many times, don't fetch category from internet 2020-03-02 09:44:04.944 26134-26162/? I/TENGINE: Creating shader: shaders/android/mesh_video_vertex 2020-03-02 09:44:04.948 17240-26101/? V/[AppInfoRetriever]: queryAppFromAsusLauncher took 4 ms 2020-03-02 09:44:04.951 26134-26162/? I/TENGINE: Creating shader: shaders/android/mesh_video_pixel 2020-03-02 09:44:04.954 26134-26162/? I/TENGINE: Creating shader program: mesh_video 2020-03-02 09:44:04.964 26134-26162/? I/TENGINE: Creating shader: shaders/android/quad_default_vertex 2020-03-02 09:44:04.968 26134-26162/? I/TENGINE: Creating shader: shaders/android/quad_default_pixel 2020-03-02 09:44:04.969 26134-26162/? I/TENGINE: Creating shader program: quad_default 2020-03-02 09:44:04.972 26134-26162/? I/TENGINE: Creating shader: shaders/android/quad_video_vertex 2020-03-02 09:44:04.972 26134-26162/? I/TENGINE: Creating shader: shaders/android/quad_video_pixel 2020-03-02 09:44:04.974 26134-26162/? I/TENGINE: Creating shader program: quad_video 2020-03-02 09:44:04.978 26134-26162/? I/TENGINE: Creating shader: shaders/android/sprite_default_vertex 2020-03-02 09:44:04.978 26134-26162/? I/TENGINE: Creating shader: shaders/android/sprite_default_pixel 2020-03-02 09:44:04.978 26134-26162/? I/TENGINE: Creating shader program: sprite_default 2020-03-02 09:44:04.979 26134-26162/? I/TENGINE: Creating shader: shaders/android/font_default_vertex 2020-03-02 09:44:04.979 17240-26101/? D/GameUtils: Retry too many times, don't fetch category from internet 2020-03-02 09:44:04.982 26134-26162/? I/TENGINE: Creating shader: shaders/android/font_default_pixel 2020-03-02 09:44:04.983 17240-26101/? V/[AppInfoRetriever]: queryAppFromAsusLauncher took 5 ms 2020-03-02 09:44:04.984 26134-26162/? I/TENGINE: Creating shader program: font_default 2020-03-02 09:44:04.986 26134-26162/? I/TENGINE: Creating shader: shaders/android/debug_default_vertex 2020-03-02 09:44:04.989 26134-26162/? I/TENGINE: Creating shader: shaders/android/debug_default_pixel 2020-03-02 09:44:04.991 26134-26162/? I/TENGINE: Creating shader program: debug_default 2020-03-02 09:44:04.993 26134-26162/? I/TENGINE: Creating shader: shaders/android/particle_default_vertex 2020-03-02 09:44:04.993 26134-26162/? I/TENGINE: Creating shader: shaders/android/particle_default_pixel 2020-03-02 09:44:04.994 26134-26162/? I/TENGINE: Creating shader program: particle_default 2020-03-02 09:44:04.994 26134-26162/? I/TENGINE: Creating shader: shaders/android/mesh_surface_vertex 2020-03-02 09:44:04.994 26134-26162/? I/TENGINE: Creating shader: shaders/android/mesh_surface_pixel 2020-03-02 09:44:04.997 26134-26162/? I/TENGINE: Creating shader program: mesh_surface 2020-03-02 09:44:05.007 17240-26101/? D/GameUtils: Retry too many times, don't fetch category from internet 2020-03-02 09:44:05.008 26134-26162/? I/TENGINE: Creating shader: shaders/android/quad_surface_vertex 2020-03-02 09:44:05.008 26134-26162/? I/TENGINE: Creating shader: shaders/android/quad_surface_pixel 2020-03-02 09:44:05.011 26134-26162/? I/TENGINE: Creating shader program: quad_surface 2020-03-02 09:44:05.012 17240-26101/? V/[AppInfoRetriever]: queryAppFromAsusLauncher took 5 ms 2020-03-02 09:44:05.015 842-16295/? V/AudioFlinger: registerClient() client 0xe79be600, pid 26134 2020-03-02 09:44:05.015 842-16295/? V/AudioFlinger: sendConfigEvent_l() num events 1 event 0 2020-03-02 09:44:05.016 842-16295/? V/AudioFlinger: sendConfigEvent_l() num events 1 event 0 2020-03-02 09:44:05.016 842-1558/? V/AudioFlinger: thread 0xe7283480 type 0 TID 1558 waking up 2020-03-02 09:44:05.016 842-16295/? V/AudioFlinger: sendConfigEvent_l() num events 1 event 0 2020-03-02 09:44:05.016 842-1559/? V/AudioFlinger: thread 0xe6c83f40 type 0 TID 1559 waking up 2020-03-02 09:44:05.016 842-16295/? V/AudioFlinger: sendConfigEvent_l() num events 1 event 0 2020-03-02 09:44:05.016 842-1561/? V/AudioFlinger: thread 0xe6b03bc0 type 0 TID 1561 waking up 2020-03-02 09:44:05.016 842-1558/? V/AudioFlinger: acquireWakeLock_l() AudioOut_D status 0 2020-03-02 09:44:05.016 842-1558/? D/AudioFlinger: updateWakeLockUids_l AudioOut_D uids: 2020-03-02 09:44:05.016 842-1559/? V/AudioFlinger: acquireWakeLock_l() AudioOut_1D status 0 2020-03-02 09:44:05.016 842-1559/? D/AudioFlinger: updateWakeLockUids_l AudioOut_1D uids: 2020-03-02 09:44:05.016 842-1558/? V/AudioFlinger: updateWakeLockUids_l() AudioOut_D status 0 2020-03-02 09:44:05.016 842-1559/? V/AudioFlinger: updateWakeLockUids_l() AudioOut_1D status 0 2020-03-02 09:44:05.016 842-1561/? V/AudioFlinger: acquireWakeLock_l() AudioOut_25 status 0 2020-03-02 09:44:05.016 842-1561/? D/AudioFlinger: updateWakeLockUids_l AudioOut_25 uids: 2020-03-02 09:44:05.016 842-1558/? V/AudioFlinger: processConfigEvents_l() remaining events 1 2020-03-02 09:44:05.016 842-1561/? V/AudioFlinger: updateWakeLockUids_l() AudioOut_25 status 0 2020-03-02 09:44:05.016 842-1559/? V/AudioFlinger: processConfigEvents_l() remaining events 1 2020-03-02 09:44:05.016 842-1559/? V/AudioFlinger: PlaybackThread::ioConfigChanged, thread 0xe6c83f40, event 0 2020-03-02 09:44:05.016 842-1558/? V/AudioFlinger: PlaybackThread::ioConfigChanged, thread 0xe7283480, event 0 2020-03-02 09:44:05.016 842-1561/? V/AudioFlinger: processConfigEvents_l() remaining events 1 2020-03-02 09:44:05.016 842-1561/? V/AudioFlinger: PlaybackThread::ioConfigChanged, thread 0xe6b03bc0, event 0 2020-03-02 09:44:05.016 842-1559/? V/AudioFlinger: processConfigEvents_l() DONE thread 0xe6c83f40 2020-03-02 09:44:05.016 842-1563/? V/AudioFlinger: thread 0xe6783140 type 0 TID 1563 waking up 2020-03-02 09:44:05.016 842-1561/? V/AudioFlinger: processConfigEvents_l() DONE thread 0xe6b03bc0 2020-03-02 09:44:05.016 842-1563/? V/AudioFlinger: acquireWakeLock_l() AudioOut_2D status 0 2020-03-02 09:44:05.017 842-1563/? D/AudioFlinger: updateWakeLockUids_l AudioOut_2D uids: 2020-03-02 09:44:05.017 842-1563/? V/AudioFlinger: updateWakeLockUids_l() AudioOut_2D status 0 2020-03-02 09:44:05.017 842-1563/? V/AudioFlinger: processConfigEvents_l() remaining events 1 2020-03-02 09:44:05.017 842-1563/? V/AudioFlinger: PlaybackThread::ioConfigChanged, thread 0xe6783140, event 0 2020-03-02 09:44:05.017 842-1558/? V/AudioFlinger: processConfigEvents_l() DONE thread 0xe7283480 2020-03-02 09:44:05.017 26134-26162/? I/libOpenSLES: Emulating old channel mask behavior (ignoring positional mask 0x3, using default mask 0x3 based on channel count of 2) 2020-03-02 09:44:05.017 842-16295/? V/APM_AudioPolicyManager: getOutputForAttr() usage=1, content=2, tag= flags=00000000 session 43745 selectedDeviceId 0 2020-03-02 09:44:05.017 842-16295/? V/APM_AudioPolicyManager: getOutputForAttr() device 0x2, sampling rate 48000, format 0x1, channel mask 0x3, flags 0x104 2020-03-02 09:44:05.017 842-16295/? V/APM_AudioPolicyManager: selectOutput() commonFlags for output 13, 0001 2020-03-02 09:44:05.017 842-16295/? V/AudioPolicyManagerCustom: getOutputForDevice() returns output 13 2020-03-02 09:44:05.017 842-1563/? V/AudioFlinger: processConfigEvents_l() DONE thread 0xe6783140 2020-03-02 09:44:05.017 842-16295/? V/APM_AudioPolicyManager: getOutputForAttr() returns output 13 selectedDeviceId 3 2020-03-02 09:44:05.017 842-16295/? V/AudioFlinger: createTrack() sessionId: 43745 2020-03-02 09:44:05.017 842-16295/? W/AudioFlinger: createTrack_l(): mismatch between requested flags (00000104) and output flags (00000006) 2020-03-02 09:44:05.017 842-16295/? V/AudioFlinger: AUDIO_OUTPUT_FLAG_FAST accepted: frameCount=192 mFrameCount=192 2020-03-02 09:44:05.017 842-16295/? D/AudioFlinger: Client defaulted notificationFrames to 192 for frameCount 768 2020-03-02 09:44:05.017 842-16295/? V/AudioFlinger: sendConfigEvent_l() num events 1 event 1 2020-03-02 09:44:05.017 842-1558/? V/AudioFlinger: processConfigEvents_l() remaining events 1 2020-03-02 09:44:05.017 842-1558/? V/AudioFlinger: processConfigEvents_l() DONE thread 0xe7283480 2020-03-02 09:44:05.018 779-779/? D/compress_voip: voice_extn_compress_voip_out_get_parameters: enter 2020-03-02 09:44:05.018 26134-26162/? I/AudioTrack: AUDIO_OUTPUT_FLAG_FAST successful; frameCount 0 -> 768 2020-03-02 09:44:05.018 842-16295/? V/AudioFlinger: acquiring 43745 from 26134, for 26134 2020-03-02 09:44:05.018 842-16295/? V/AudioFlinger: added new entry for 43745 2020-03-02 09:44:05.019 842-16295/? V/AudioFlinger: start(1), calling pid 26134 session 43745 2020-03-02 09:44:05.019 842-16295/? V/AudioFlinger: AUDIO_SET_AUDIOWIZARD_CHANNEL_COUNT mAudioWizardChannelCount(2) 2020-03-02 09:44:05.019 842-16295/? V/AudioFlinger: ? => ACTIVE (1) on thread 0xe7db8200 2020-03-02 09:44:05.020 842-1482/? V/APM_AudioPolicyManager: startOutput() output 13, stream 3, session 43745 2020-03-02 09:44:05.020 842-1482/? V/APM_AudioPolicyManager: selectOutputForMusicEffects activeOnly 1 output 13 flags 0x00000006 2020-03-02 09:44:05.020 842-1482/? V/APM_AudioPolicyManager: selectOutputForMusicEffects selected output 13 2020-03-02 09:44:05.020 842-1482/? V/APM_AudioPolicyManager: getNewOutputDevice() selected device 2 2020-03-02 09:44:05.020 842-1482/? V/APM_AudioPolicyManager: setOutputDevice() device 0002 delayMs 0 2020-03-02 09:44:05.020 842-1482/? V/APM_AudioPolicyManager: setOutputDevice() prevDevice 0x0002 2020-03-02 09:44:05.020 842-1482/? V/APM_AudioPolicyManager: setOutputDevice() setting same device 0x0002 or null device 2020-03-02 09:44:05.020 842-1482/? V/AudioPolicyManagerCustom: checkOutputForStrategy(): policy related outputs 2020-03-02 09:44:05.020 842-16295/? V/AudioFlinger: signal playback thread 2020-03-02 09:44:05.020 842-1558/? D/AudioFlinger: updateWakeLockUids_l AudioOut_D uids:10378 2020-03-02 09:44:05.020 842-1558/? V/AudioFlinger: updateWakeLockUids_l() AudioOut_D status 0 2020-03-02 09:44:05.020 779-3955/? D/audio_hw_primary: start_output_stream: enter: stream(0xe8c3f000)usecase(1: low-latency-playback) devices(0x2) 2020-03-02 09:44:05.021 779-3955/? D/audio_hw_primary: select_devices for use case (low-latency-playback) 2020-03-02 09:44:05.021 779-3955/? D/audio_hw_primary: select_devices: out_snd_device(2: speaker) in_snd_device(0: ) 2020-03-02 09:44:05.021 779-3955/? I/msm8974_platform: platform_check_and_set_codec_backend_cfg:becf: afe: bitwidth 16, samplerate 48000 channels 2, backend_idx 0 usecase = 1 device (speaker) 2020-03-02 09:44:05.021 779-3955/? D/msm8974_platform: platform_split_snd_device: snd_device(2) num devices(1) new_snd_devices(0) 2020-03-02 09:44:05.021 779-3955/? I/msm8974_platform: platform_check_and_set_codec_backend_cfg: new_snd_devices[0] is 2 2020-03-02 09:44:05.021 779-3955/? I/msm8974_platform: platform_check_codec_backend_cfg:becf: afe: bitwidth 16, samplerate 48000 channels 2, backend_idx 0 usecase = 1 device (speaker) 2020-03-02 09:44:05.021 779-3955/? D/msm8974_platform: platform_check_codec_backend_cfg:becf: afe: playback on codec device not supporting native playback set default Sample Rate(48k) 2020-03-02 09:44:05.021 779-3955/? I/msm8974_platform: platform_check_codec_backend_cfg:becf: afe: Codec selected backend: 0 updated bit width: 16 and sample rate: 48000 2020-03-02 09:44:05.021 779-3955/? D/audio_hw_primary: check_usecases_codec_backend:becf: force routing 0 2020-03-02 09:44:05.021 779-3955/? E/msm8974_platform: platform_check_backends_match: Invalid snd_device = 2020-03-02 09:44:05.021 779-3955/? D/audio_hw_primary: check_usecases_codec_backend:becf: (63) check_usecases curr device: speaker, usecase device: backends match 0 2020-03-02 09:44:05.021 779-3955/? D/audio_hw_primary: check_usecases_codec_backend:becf: check_usecases num.of Usecases to switch 0 2020-03-02 09:44:05.021 779-3955/? D/msm8974_platform: platform_split_snd_device: snd_device(2) num devices(0) new_snd_devices(0) 2020-03-02 09:44:05.021 779-3955/? D/hardware_info: hw_info_append_hw_type : device_name = speaker 2020-03-02 09:44:05.021 779-3955/? D/audio_hw_tfa98xx_feedback: can_enable_feedback_on_device: device 2 cause feedback 2020-03-02 09:44:05.021 779-3955/? D/hardware_info: hw_info_append_hw_type : device_name = vi-feedback 2020-03-02 09:44:05.021 779-3955/? D/msm8974_platform: platform_split_snd_device: snd_device(147) num devices(0) new_snd_devices(0) 2020-03-02 09:44:05.021 779-3955/? D/audio_hw_primary: enable_snd_device: snd_device(147: vi-feedback) 2020-03-02 09:44:05.021 779-3955/? I/soundtrigger: audio_extn_sound_trigger_update_device_status: device 0x93 of type 1 for Event 1, with Raise=0 2020-03-02 09:44:05.021 779-3955/? E/audio_route: Path: vi-feedback, length: 0 2020-03-02 09:44:05.021 779-3955/? D/audio_route: Apply path: vi-feedback 2020-03-02 09:44:05.021 779-3955/? D/soundtrigger: audio_extn_sound_trigger_update_stream_status: uc_info->id 48 of type 1 for Event 3, with Raise=0 2020-03-02 09:44:05.021 779-3955/? D/audio_hw_utils: audio_extn_utils_send_app_type_cfg: usecase->in_snd_device vi-feedback 2020-03-02 09:44:05.021 779-3955/? E/voice: voice_is_in_call_rec_stream: input stream is NULL 2020-03-02 09:44:05.021 779-3955/? D/msm8974_platform: platform_split_snd_device: snd_device(147) num devices(0) new_snd_devices(0) 2020-03-02 09:44:05.021 779-3955/? E/audio_hw_utils: send_app_type_cfg_for_device: Could not get ctl for mixer cmd - Audio Stream Capture 35 App Type Cfg 2020-03-02 09:44:05.021 779-3955/? D/msm8974_platform: platform_split_snd_device: snd_device(147) num devices(1) new_snd_devices(0) 2020-03-02 09:44:05.021 779-3955/? D/ACDB-LOADER: ACDB -> send_audio_cal, acdb_id = 102, path = 1, app id = 0x11132, sample rate = 48000 2020-03-02 09:44:05.021 779-3955/? D/ACDB-LOADER: ACDB -> send_asm_topology 2020-03-02 09:44:05.021 779-3955/? D/ACDB-LOADER: ACDB -> ACDB_CMD_GET_AUDPROC_STREAM_TOPOLOGY_ID 2020-03-02 09:44:05.021 779-3955/? D/ACDB-LOADER: ACDB -> send_adm_topology 2020-03-02 09:44:05.021 779-3955/? D/ACDB-LOADER: ACDB -> ACDB_CMD_GET_AUDPROC_COMMON_TOPOLOGY_ID 2020-03-02 09:44:05.022 779-3955/? D/ACDB-LOADER: ACDB -> send_audtable 2020-03-02 09:44:05.022 779-3955/? D/ACDB-LOADER: ACDB -> ACDB_CMD_GET_AUDPROC_INSTANCE_COMMON_TABLE_SIZE 2020-03-02 09:44:05.022 779-3955/? D/ACDB-LOADER: ACDB -> ACDB_CMD_GET_AUDPROC_INSTANCE_COMMON_TABLE 2020-03-02 09:44:05.022 779-3955/? D/ACDB-LOADER: ACDB -> AUDIO_SET_AUDPROC_CAL cal_type[11] acdb_id[102] app_type[69938] 2020-03-02 09:44:05.022 779-3955/? D/ACDB-LOADER: ACDB -> send_audvoltable 2020-03-02 09:44:05.022 779-3955/? D/ACDB-LOADER: ACDB -> ACDB_CMD_GET_AUDPROC_INSTANCE_GAIN_DEP_STEP_TABLE_SIZE 2020-03-02 09:44:05.022 779-3955/? E/ACDB-LOADER: Error: ACDB_CMD_GET_AUDPROC_INSTANCE_GAIN_DEP_STEP_TABLE_SIZE Returned = -19 2020-03-02 09:44:05.022 779-3955/? D/ACDB-LOADER: ACDB -> ACDB_CMD_GET_AUDPROC_INSTANCE_GAIN_DEP_STEP_TABLE, vol index 0 2020-03-02 09:44:05.022 779-3955/? E/ACDB-LOADER: Error: ACDB AudProc vol returned = -19 2020-03-02 09:44:05.022 779-3955/? D/ACDB-LOADER: ACDB -> AUDIO_SET_VOL_CAL cal type = 12 2020-03-02 09:44:05.022 779-3955/? D/ACDB-LOADER: ACDB -> ACDB_CMD_GET_AUDPROC_INSTANCE_STREAM_TABLE_SIZE 2020-03-02 09:44:05.022 779-3955/? D/ACDB-LOADER: ACDB -> send_audstrmtable 2020-03-02 09:44:05.022 779-3955/? D/ACDB-LOADER: ACDB -> ACDB_CMD_GET_AUDPROC_INSTANCE_STREAM_TABLE 2020-03-02 09:44:05.022 779-3955/? D/ACDB-LOADER: ACDB -> audstrm_cal->cal_type.cal_data.cal_size = 20 2020-03-02 09:44:05.022 779-3955/? D/ACDB-LOADER: ACDB -> send_afe_topology 2020-03-02 09:44:05.022 779-3955/? D/ACDB-LOADER: ACDB -> ACDB_CMD_GET_AFE_TOPOLOGY_ID 2020-03-02 09:44:05.022 779-3955/? D/ACDB-LOADER: ACDB -> GET_AFE_TOPOLOGY_ID for adcd_id 102, Topology Id 1000b909 2020-03-02 09:44:05.022 779-3955/? D/ACDB-LOADER: ACDB -> send_afe_cal 2020-03-02 09:44:05.022 779-3955/? D/ACDB-LOADER: ACDB -> ACDB_CMD_GET_AFE_INSTANCE_COMMON_TABLE_SIZE 2020-03-02 09:44:05.022 779-3955/? D/ACDB-LOADER: ACDB -> ACDB_CMD_GET_AFE_INSTANCE_COMMON_TABLE 2020-03-02 09:44:05.022 779-3955/? D/ACDB-LOADER: ACDB -> AUDIO_SET_AFE_CAL cal_type[17] acdb_id[102] 2020-03-02 09:44:05.022 779-3955/? D/ACDB-LOADER: ACDB -> send_hw_delay : acdb_id = 102 path = 1 2020-03-02 09:44:05.022 779-3955/? D/ACDB-LOADER: ACDB -> ACDB_AVSYNC_INFO: ACDB_CMD_GET_DEVICE_PROPERTY 2020-03-02 09:44:05.022 26134-26162/? I/TENGINE: Creating texture: textures/android/loading_background.pvr 2020-03-02 09:44:05.022 779-3955/? E/audio_hw_extn: audio_extn_set_custom_mtmx_params: invalid input stream for capture usecase id:48 2020-03-02 09:44:05.022 779-3955/? D/audio_hw_primary: enable_audio_route: apply mixer and update path: spkr-vi-record 2020-03-02 09:44:05.022 779-3955/? E/audio_route: Path: spkr-vi-record, length: 1 2020-03-02 09:44:05.022 779-3955/? E/audio_route: id=0: ctl=QUAT_MI2S_RX_VI_FB_MUX 2020-03-02 09:44:05.022 779-3955/? E/audio_route: id=0 value=1 2020-03-02 09:44:05.022 779-3955/? E/audio_route: id=1 value=1 2020-03-02 09:44:05.022 779-3955/? D/audio_route: Apply path: spkr-vi-record 2020-03-02 09:44:05.024 26134-26162/? I/TENGINE: Creating quad: modeload Fade Quad 2020-03-02 09:44:05.024 26134-26162/? I/TENGINE: Creating quad: modeload Load Quad 2020-03-02 09:44:05.024 26134-26162/? I/TENGINE: Creating quad: modeload Back Quad 2020-03-02 09:44:05.024 26134-26162/? I/TENGINE: Creating texture: textures/android/loading_background2.pvr 2020-03-02 09:44:05.025 26134-26162/? I/TENGINE: Creating quad: modeload Flash Quad 2020-03-02 09:44:05.025 26134-26162/? I/TENGINE: Creating quad: sceneload Fade Quad 2020-03-02 09:44:05.025 26134-26162/? I/TENGINE: Creating quad: sceneload Load Quad 2020-03-02 09:44:05.025 26134-26162/? I/TENGINE: Creating quad: sceneload Back Quad 2020-03-02 09:44:05.025 26134-26162/? I/TENGINE: Creating quad: sceneload Flash Quad 2020-03-02 09:44:05.027 779-3955/? E/audio_hw_tfa98xx_feedback: pcm file opened 35 2020-03-02 09:44:05.031 17240-26101/? D/GameUtils: Retry too many times, don't fetch category from internet 2020-03-02 09:44:05.036 17240-26101/? V/[AppInfoRetriever]: queryAppFromAsusLauncher took 5 ms 2020-03-02 09:44:05.038 779-3955/? V/audio_hw_tfa98xx_feedback: audio_extn_tfa98xx_update_feedback: Exit 2020-03-02 09:44:05.038 779-3955/? D/msm8974_platform: platform_split_snd_device: snd_device(2) num devices(0) new_snd_devices(0) 2020-03-02 09:44:05.038 779-3955/? D/audio_hw_primary: enable_snd_device: snd_device(2: speaker) 2020-03-02 09:44:05.038 779-3955/? I/soundtrigger: audio_extn_sound_trigger_update_device_status: device 0x2 of type 0 for Event 1, with Raise=0 2020-03-02 09:44:05.038 779-3955/? E/audio_route: Path: speaker, length: 1 2020-03-02 09:44:05.038 779-3955/? E/audio_route: id=0: ctl=TFA_CHIP_SELECTOR 2020-03-02 09:44:05.038 779-3955/? E/audio_route: id=0 value=0 2020-03-02 09:44:05.038 779-3955/? D/audio_route: Apply path: speaker 2020-03-02 09:44:05.039 779-3955/? D/audio_hw_tfa98xx_feedback: can_enable_feedback_on_device: device 2 cause feedback 2020-03-02 09:44:05.039 779-3955/? V/audio_hw_tfa98xx_feedback: audio_extn_tfa98xx_update_feedback: Exit 2020-03-02 09:44:05.039 779-3955/? D/soundtrigger: audio_extn_sound_trigger_update_stream_status: uc_info->id 1 of type 0 for Event 3, with Raise=0 2020-03-02 09:44:05.039 779-3955/? D/audio_hw_utils: audio_extn_utils_send_app_type_cfg: usecase->out_snd_device speaker 2020-03-02 09:44:05.039 779-3955/? D/msm8974_platform: platform_split_snd_device: snd_device(2) num devices(0) new_snd_devices(0) 2020-03-02 09:44:05.039 779-3955/? D/audio_hw_utils: audio_extn_btsco_get_sample_rate:Not a BT SCO device, need not update sampling rate 2020-03-02 09:44:05.039 779-3955/? I/audio_hw_utils: send_app_type_cfg_for_device PLAYBACK app_type 69937, acdb_dev_id 15, sample_rate 48000, snd_device_be_idx 39 2020-03-02 09:44:05.040 779-3955/? D/msm8974_platform: platform_split_snd_device: snd_device(2) num devices(1) new_snd_devices(0) 2020-03-02 09:44:05.040 779-3955/? D/ACDB-LOADER: ACDB -> send_audio_cal, acdb_id = 15, path = 0, app id = 0x11131, sample rate = 48000 2020-03-02 09:44:05.040 779-3955/? D/ACDB-LOADER: ACDB -> send_asm_topology 2020-03-02 09:44:05.040 779-3955/? D/ACDB-LOADER: ACDB -> ACDB_CMD_GET_AUDPROC_STREAM_TOPOLOGY_ID 2020-03-02 09:44:05.040 779-3955/? D/ACDB-LOADER: ACDB -> send_adm_topology 2020-03-02 09:44:05.040 779-3955/? D/ACDB-LOADER: ACDB -> ACDB_CMD_GET_AUDPROC_COMMON_TOPOLOGY_ID 2020-03-02 09:44:05.040 779-3955/? D/ACDB-LOADER: ACDB -> send_audtable 2020-03-02 09:44:05.040 779-3955/? D/ACDB-LOADER: ACDB -> ACDB_CMD_GET_AUDPROC_INSTANCE_COMMON_TABLE_SIZE 2020-03-02 09:44:05.040 779-3955/? D/ACDB-LOADER: ACDB -> ACDB_CMD_GET_AUDPROC_INSTANCE_COMMON_TABLE 2020-03-02 09:44:05.040 779-3955/? D/ACDB-LOADER: ACDB -> AUDIO_SET_AUDPROC_CAL cal_type[11] acdb_id[15] app_type[69937] 2020-03-02 09:44:05.040 779-3955/? D/ACDB-LOADER: ACDB -> send_audvoltable 2020-03-02 09:44:05.040 779-3955/? D/ACDB-LOADER: ACDB -> ACDB_CMD_GET_AUDPROC_INSTANCE_GAIN_DEP_STEP_TABLE_SIZE 2020-03-02 09:44:05.040 779-3955/? E/ACDB-LOADER: Error: ACDB_CMD_GET_AUDPROC_INSTANCE_GAIN_DEP_STEP_TABLE_SIZE Returned = -19 2020-03-02 09:44:05.040 779-3955/? D/ACDB-LOADER: ACDB -> ACDB_CMD_GET_AUDPROC_INSTANCE_GAIN_DEP_STEP_TABLE, vol index 5 2020-03-02 09:44:05.040 779-3955/? E/ACDB-LOADER: Error: ACDB AudProc vol returned = -19 2020-03-02 09:44:05.040 779-3955/? D/ACDB-LOADER: ACDB -> AUDIO_SET_VOL_CAL cal type = 12 2020-03-02 09:44:05.040 779-3955/? D/ACDB-LOADER: ACDB -> ACDB_CMD_GET_AUDPROC_INSTANCE_STREAM_TABLE_SIZE 2020-03-02 09:44:05.040 779-3955/? D/ACDB-LOADER: ACDB -> send_audstrmtable 2020-03-02 09:44:05.040 779-3955/? D/ACDB-LOADER: ACDB -> ACDB_CMD_GET_AUDPROC_INSTANCE_STREAM_TABLE 2020-03-02 09:44:05.040 779-3955/? D/ACDB-LOADER: ACDB -> audstrm_cal->cal_type.cal_data.cal_size = 20 2020-03-02 09:44:05.040 779-3955/? D/ACDB-LOADER: ACDB -> send_afe_topology 2020-03-02 09:44:05.040 779-3955/? D/ACDB-LOADER: ACDB -> ACDB_CMD_GET_AFE_TOPOLOGY_ID 2020-03-02 09:44:05.040 779-3955/? D/ACDB-LOADER: ACDB -> GET_AFE_TOPOLOGY_ID for adcd_id 15, Topology Id 1000b910 2020-03-02 09:44:05.040 779-3955/? D/ACDB-LOADER: ACDB -> send_afe_cal 2020-03-02 09:44:05.040 779-3955/? D/ACDB-LOADER: ACDB -> ACDB_CMD_GET_AFE_INSTANCE_COMMON_TABLE_SIZE 2020-03-02 09:44:05.040 779-3955/? D/ACDB-LOADER: ACDB -> ACDB_CMD_GET_AFE_INSTANCE_COMMON_TABLE 2020-03-02 09:44:05.040 779-3955/? D/ACDB-LOADER: ACDB -> AUDIO_SET_AFE_CAL cal_type[16] acdb_id[15] 2020-03-02 09:44:05.040 779-3955/? D/ACDB-LOADER: ACDB -> send_hw_delay : acdb_id = 15 path = 0 2020-03-02 09:44:05.040 779-3955/? D/ACDB-LOADER: ACDB -> ACDB_AVSYNC_INFO: ACDB_CMD_GET_DEVICE_PROPERTY 2020-03-02 09:44:05.040 779-3955/? D/msm8974_platform: platform_split_snd_device: snd_device(2) num devices(0) new_snd_devices(0) 2020-03-02 09:44:05.040 779-3955/? I/msm8974_platform: platform_get_custom_mtmx_params: no matching param with id 0 ip_ch 2 op_ch 2 uc_id 1 snd_dev 2 2020-03-02 09:44:05.040 779-3955/? D/audio_hw_primary: enable_audio_route: apply mixer and update path: low-latency-playback speaker 2020-03-02 09:44:05.040 779-3955/? E/audio_route: Path: low-latency-playback speaker, length: 1 2020-03-02 09:44:05.040 779-3955/? E/audio_route: id=0: ctl=QUAT_MI2S_RX Audio Mixer MultiMedia5 2020-03-02 09:44:05.040 779-3955/? E/audio_route: id=0 value=1 2020-03-02 09:44:05.040 779-3955/? E/audio_route: id=1 value=1 2020-03-02 09:44:05.040 779-3955/? D/audio_route: Apply path: low-latency-playback speaker 2020-03-02 09:44:05.042 779-3955/? D/audio_hw_primary: select_devices: done 2020-03-02 09:44:05.043 779-3955/? D/msm8974_platform: platform_set_channel_map mixer_ctl_name:Playback Channel Map13 2020-03-02 09:44:05.043 779-3955/? D/msm8974_platform: platform_set_channel_map: set mapping(1 2 0 0 0 0 0 0) for channel:2 2020-03-02 09:44:05.057 17240-26101/? D/GameUtils: Retry too many times, don't fetch category from internet 2020-03-02 09:44:05.061 17240-26101/? V/[AppInfoRetriever]: queryAppFromAsusLauncher took 4 ms 2020-03-02 09:44:05.064 26134-26162/? I/TENGINE: CommandHandler: APP_CMD_GAINED_FOCUS 2020-03-02 09:44:05.069 779-3955/? D/audio_hw_primary: start_output_stream: exit 2020-03-02 09:44:05.074 17240-26101/? D/GameUtils: Retry too many times, don't fetch category from internet 2020-03-02 09:44:05.079 17240-26101/? V/[AppInfoRetriever]: queryAppFromAsusLauncher took 4 ms 2020-03-02 09:44:05.102 17240-26101/? D/GameUtils: Retry too many times, don't fetch category from internet 2020-03-02 09:44:05.106 17240-26101/? V/[AppInfoRetriever]: queryAppFromAsusLauncher took 4 ms 2020-03-02 09:44:05.119 17240-26101/? D/GameUtils: Retry too many times, don't fetch category from internet 2020-03-02 09:44:05.123 17240-26101/? V/[AppInfoRetriever]: queryAppFromAsusLauncher took 4 ms 2020-03-02 09:44:05.144 17240-26101/? D/GameUtils: Retry too many times, don't fetch category from internet 2020-03-02 09:44:05.147 26134-26162/? I/TENGINE: Creating thread: LoadEntry 2020-03-02 09:44:05.147 26134-26180/? I/TENGINE: Creating quad: splash_tengine 2020-03-02 09:44:05.150 17240-26101/? V/[AppInfoRetriever]: queryAppFromAsusLauncher took 4 ms 2020-03-02 09:44:05.157 31221-31248/? D/AppInstallController: packageName =se.tension.gateway.app, scanResult=RESULT_OK 2020-03-02 09:44:05.158 1453-4021/? D/CompatibilityInfo: mCompatibilityFlags - 0 2020-03-02 09:44:05.158 1453-4021/? D/CompatibilityInfo: applicationDensity - 460 2020-03-02 09:44:05.159 1453-4021/? D/CompatibilityInfo: applicationScale - 1.0 2020-03-02 09:44:05.160 1453-4019/? D/CompatibilityInfo: mCompatibilityFlags - 0 2020-03-02 09:44:05.160 1453-4019/? D/CompatibilityInfo: applicationDensity - 460 2020-03-02 09:44:05.160 1453-4019/? D/CompatibilityInfo: applicationScale - 1.0 2020-03-02 09:44:05.166 1453-13885/? D/CompatibilityInfo: mCompatibilityFlags - 0 2020-03-02 09:44:05.166 1453-13885/? D/CompatibilityInfo: applicationDensity - 460 2020-03-02 09:44:05.166 1453-13885/? D/CompatibilityInfo: applicationScale - 1.0 2020-03-02 09:44:05.168 1453-13885/? D/CompatibilityInfo: mCompatibilityFlags - 0 2020-03-02 09:44:05.168 1453-13885/? D/CompatibilityInfo: applicationDensity - 460 2020-03-02 09:44:05.168 1453-13885/? D/CompatibilityInfo: applicationScale - 1.0 2020-03-02 09:44:05.169 1453-13885/? D/CompatibilityInfo: mCompatibilityFlags - 0 2020-03-02 09:44:05.169 1453-13885/? D/CompatibilityInfo: applicationDensity - 460 2020-03-02 09:44:05.169 1453-13885/? D/CompatibilityInfo: applicationScale - 1.0 2020-03-02 09:44:05.179 26134-26162/? I/TENGINE: Destroying thread: LoadEntry 2020-03-02 09:44:05.196 17240-26101/? D/GameUtils: Retry too many times, don't fetch category from internet 2020-03-02 09:44:05.200 17240-26101/? V/[AppInfoRetriever]: queryAppFromAsusLauncher took 5 ms 2020-03-02 09:44:05.218 17240-26101/? D/GameUtils: Retry too many times, don't fetch category from internet 2020-03-02 09:44:05.222 17240-26101/? V/[AppInfoRetriever]: queryAppFromAsusLauncher took 4 ms 2020-03-02 09:44:05.245 17240-26101/? D/GameUtils: Retry too many times, don't fetch category from internet 2020-03-02 09:44:05.249 17240-26101/? V/[AppInfoRetriever]: queryAppFromAsusLauncher took 5 ms 2020-03-02 09:44:05.265 1453-1453/? I/NotificationService: Cannot find enqueued record for key: 0|com.asus.mobilemanager|100|null|10011 2020-03-02 09:44:05.278 17240-26101/? D/GameUtils: Retry too many times, don't fetch category from internet 2020-03-02 09:44:05.282 17240-26101/? V/[AppInfoRetriever]: queryAppFromAsusLauncher took 4 ms 2020-03-02 09:44:05.299 17240-26101/? D/GameUtils: Retry too many times, don't fetch category from internet 2020-03-02 09:44:05.303 17240-26101/? V/[AppInfoRetriever]: queryAppFromAsusLauncher took 5 ms 2020-03-02 09:44:05.362 17240-26101/? D/GameUtils: Retry too many times, don't fetch category from internet 2020-03-02 09:44:05.366 17240-26101/? V/[AppInfoRetriever]: queryAppFromAsusLauncher took 4 ms 2020-03-02 09:44:05.379 2889-15572/? V/GameAppProvider: [update] package name: com.asus.gamewidget.allparsed 2020-03-02 09:44:05.732 20450-22882/? I/Icing: Indexing com.google.android.gms-apps from com.google.android.gms 2020-03-02 09:44:05.760 20450-24521/? I/Icing: Indexing done com.google.android.gms-apps 2020-03-02 09:44:05.775 20450-24521/? I/Icing: Indexing com.google.android.gms-apps from com.google.android.gms 2020-03-02 09:44:05.775 20450-24521/? I/Icing: Indexing done com.google.android.gms-apps 2020-03-02 09:44:05.865 1453-5820/? I/OpenGLRenderer: Initialized EGL, version 1.4 2020-03-02 09:44:05.865 1453-5820/? D/OpenGLRenderer: Swap behavior 2 2020-03-02 09:44:06.020 2889-5899/? I/AudioFocusListHandler: AudioFocusHandler update 2020-03-02 09:44:06.020 2889-5899/? I/AudioFocusHandler: list: com.asus.camera 2020-03-02 09:44:06.020 2889-5899/? I/AudioFocusHandler: list: com.facebook.katana 2020-03-02 09:44:06.020 2889-5899/? I/AudioFocusHandler: list: se.tension.gateway.app 2020-03-02 09:44:06.020 2889-5899/? I/AudioFocusHandler: list: com.facebook.orca 2020-03-02 09:44:06.021 2889-5899/? D/AudioFocusListHandler: Update DB : number of affected records : 1 2020-03-02 09:44:06.116 14070-25760/? W/cgjy: [{0}] Failed to resolve name. status={1} 2020-03-02 09:44:06.212 1198-1339/? E/storaged: getDiskStats failed with result NOT_SUPPORTED and size 0 2020-03-02 09:44:06.284 3120-3144/? I/QcrilOemhookMsgTunnel: [0]processOemHookIndication length=21 2020-03-02 09:44:06.284 3120-3120/? D/QcrilMsgTunnelIfaceManager: handleMessage what = 0 2020-03-02 09:44:06.297 1453-4019/? D/AlarmManagerService: Kernel timezone updated to -60 minutes west of GMT 2020-03-02 09:44:06.299 2585-2951/? D/NetworkController.MobileSignalController(1): onServiceStateChanged voiceState=0 dataState=0 2020-03-02 09:44:06.299 2585-2951/? D/NetworkController.MobileSignalController(1): updateTelephonySignalStrength: hasService=true ss=SignalStrength: 99 0 -120 -160 -120 -160 -1 27 -79 -8 186 2147483647 0 2147483647 99 255 2147483647 gsm|lte use_rsrp_and_rssnr_for_lte_level [-126, -119, -114, -109, -100] [-113, -106, -101, -96, -89] 2020-03-02 09:44:06.299 2585-2951/? D/NetworkController.MobileSignalController(1): Change in state from: connected=true,enabled=true,level=5,inetCondition=1,iconGroup=IconGroup(4G),activityIn=false,activityOut=false,rssi=0,lastModified=03-02 09:43:54,dataSim=true,networkName=hallon,networkNameData=hallon,dataConnected=false,roaming=false,isDefault=false,isEmergency=false,airplaneMode=false, to: connected=true,enabled=true,level=5,inetCondition=1,iconGroup=IconGroup(4G+),activityIn=false,activityOut=false,rssi=0,lastModified=03-02 09:43:54,dataSim=true,networkName=hallon,networkNameData=hallon,dataConnected=false,roaming=false,isDefault=false,isEmergency=false,airplaneMode=false, 2020-03-02 09:44:06.303 2862-2862/? D/ServiceStateProvider: subId=1 2020-03-02 09:44:06.303 2862-2862/? D/ChangeTimeZoneReceiver: ChangeTimeZoneReceiver onReceive(): action = android.intent.action.NETWORK_SET_TIMEZONE 2020-03-02 09:44:06.303 2862-2862/? D/ChangeTimeZoneReceiver: ChangeTimeZoneReceiver onReceive(): intent.getAction() == TelephonyIntents.ACTION_NETWORK_SET_TIMEZONE, unregister mAutoTimeZoneObserver and cancel mPendingIntent 2020-03-02 09:44:06.303 2862-2862/? D/PhoneGlobals: [mPhoneStateListener] onServiceStateChanged, subId[0] = 1, phoneId = 0 2020-03-02 09:44:06.303 2862-2862/? D/PhoneGlobals: [mPhoneStateListener] onServiceStateChanged, state.getState() = 0 2020-03-02 09:44:06.303 2862-2862/? D/[TELESERVICE][AsusPhoneUtils]: tryToNotifyOffDataRoamingOption(), bRoaming = false, slot = 0 2020-03-02 09:44:06.303 31995-31995/? I/CarrierServices: [2] csb.onReceive: Received SERVICE_STATE intent, clearing cached cell info 2020-03-02 09:44:06.304 2862-13619/? D/PhoneInterfaceManager: [PhoneIntfMgr] isUserDataEnabled: subId=1 phoneId=0 2020-03-02 09:44:06.304 2862-3180/? D/PhoneInterfaceManager: [PhoneIntfMgr] isUserDataEnabled: subId=1 phoneId=0 2020-03-02 09:44:06.304 2585-2585/? D/KeyguardUpdateMonitor: received broadcast android.intent.action.SERVICE_STATE 2020-03-02 09:44:06.304 2585-2585/? V/KeyguardUpdateMonitor: action android.intent.action.SERVICE_STATE serviceState={mVoiceRegState=0(IN_SERVICE), mDataRegState=0(IN_SERVICE), mChannelNumber=6200, duplexMode()=1, mCellBandwidths=[10000, 10000], mVoiceRoamingType=home, mDataRoamingType=home, mVoiceOperatorAlphaLong=hallon, mVoiceOperatorAlphaShort=hallon, mDataOperatorAlphaLong=hallon, mDataOperatorAlphaShort=hallon, isManualNetworkSelection=false(automatic), mRilVoiceRadioTechnology=14(LTE), mRilDataRadioTechnology=14(LTE), mCssIndicator=unsupported, mNetworkId=-1, mSystemId=-1, mCdmaRoamingIndicator=-1, mCdmaDefaultRoamingIndicator=-1, mIsEmergencyOnly=false, mIsDataRoamingFromRegistration=false, mIsUsingCarrierAggregation=true, mLteEarfcnRsrpBoost=0, mNetworkRegistrationStates=[]} subId=1 2020-03-02 09:44:06.304 2862-13619/? D/PhoneInterfaceManager: [PhoneIntfMgr] isUserDataEnabled: subId=1 retVal=false 2020-03-02 09:44:06.304 2585-2585/? D/KeyguardUpdateMonitor: handleServiceStateChange(subId=1, serviceState={mVoiceRegState=0(IN_SERVICE), mDataRegState=0(IN_SERVICE), mChannelNumber=6200, duplexMode()=1, mCellBandwidths=[10000, 10000], mVoiceRoamingType=home, mDataRoamingType=home, mVoiceOperatorAlphaLong=hallon, mVoiceOperatorAlphaShort=hallon, mDataOperatorAlphaLong=hallon, mDataOperatorAlphaShort=hallon, isManualNetworkSelection=false(automatic), mRilVoiceRadioTechnology=14(LTE), mRilDataRadioTechnology=14(LTE), mCssIndicator=unsupported, mNetworkId=-1, mSystemId=-1, mCdmaRoamingIndicator=-1, mCdmaDefaultRoamingIndicator=-1, mIsEmergencyOnly=false, mIsDataRoamingFromRegistration=false, mIsUsingCarrierAggregation=true, mLteEarfcnRsrpBoost=0, mNetworkRegistrationStates=[]} 2020-03-02 09:44:06.304 2585-2585/? D/CarrierText: updateCarrierText(): 1 2020-03-02 09:44:06.304 2862-2862/? D/[TELESERVICE][AsusPhoneUtils]: [mPhoneStateListener] onServiceStateChanged, isNonRoamingInService = true 2020-03-02 09:44:06.304 2862-2862/? D/[TELESERVICE][AsusPhoneUtils]: [mPhoneStateListener] onServiceStateChanged, state.getRoaming() = false, phone.getDataRoamingEnabled() = true 2020-03-02 09:44:06.305 2862-2862/? D/[TELESERVICE][AsusPhoneUtils]: getMobileSlot(): slotId = 0 2020-03-02 09:44:06.305 2862-2862/? D/[TELESERVICE][AsusPhoneUtils]: getRoamingNotificationDB: iRoamingNotificationState = 1, ret = true 2020-03-02 09:44:06.305 2862-2862/? D/[TELESERVICE][AsusPhoneUtils]: [mPhoneStateListener] onServiceStateChanged, mobileDataOn = false 2020-03-02 09:44:06.305 2862-2862/? D/PhoneGlobals: onServiceStateChanged(): AsusPhoneUtils.sServiceState = 0, AsusPhoneUtils.sServiceState2 = 1 2020-03-02 09:44:06.305 2862-2862/? D/PhoneGlobals: handleMessage() msg.what: 102 2020-03-02 09:44:06.305 2862-2862/? D/[TELESERVICE][AsusPhoneUtils]: cancelDataRoamingAccessAllowed(): iSlotId = 0 2020-03-02 09:44:06.305 1453-1508/? D/CompatibilityInfo: mCompatibilityFlags - 0 2020-03-02 09:44:06.305 1453-1508/? D/CompatibilityInfo: applicationDensity - 460 2020-03-02 09:44:06.305 1453-1508/? D/CompatibilityInfo: applicationScale - 1.0 2020-03-02 09:44:06.305 2862-3180/? D/PhoneInterfaceManager: [PhoneIntfMgr] isUserDataEnabled: subId=1 retVal=false 2020-03-02 09:44:06.305 2862-2862/? D/PhoneGlobals: onReceive(): action = android.intent.action.SERVICE_STATE 2020-03-02 09:44:06.305 2862-2862/? D/PhoneGlobals: mReceiver: ACTION_SERVICE_STATE_CHANGED 2020-03-02 09:44:06.305 2862-2862/? D/PhoneGlobals: handleServiceStateChanged: intent = Intent { act=android.intent.action.SERVICE_STATE flg=0x1000010 (has extras) } 2020-03-02 09:44:06.305 2862-2862/? V/PhoneGlobals: handleServiceStateChanged 2020-03-02 09:44:06.305 22235-22235/? V/AsusCellBroadcast: [CellBroadcastReceiver] onReceive Intent { act=android.intent.action.SERVICE_STATE flg=0x1000010 cmp=com.android.cellbroadcastreceiver/.CellBroadcastReceiver (has extras) } , privileged=false 2020-03-02 09:44:06.305 2585-2585/? D/CarrierText: isBrazilCountryCode(): subId = 1 / simCountryISO = se / result = false 2020-03-02 09:44:06.306 1453-13885/? D/CompatibilityInfo: mCompatibilityFlags - 0 2020-03-02 09:44:06.306 1453-13885/? D/CompatibilityInfo: applicationDensity - 460 2020-03-02 09:44:06.306 1453-13885/? D/CompatibilityInfo: applicationScale - 1.0 2020-03-02 09:44:06.306 2585-2585/? D/CarrierText: subId:1 / status:Normal / ss:true 2020-03-02 09:44:06.306 2585-2585/? D/CarrierText: getRoaming:false 2020-03-02 09:44:06.306 2585-2585/? D/CarrierText: Handling (subId=1): READY hallon 2020-03-02 09:44:06.306 2585-2585/? D/CarrierText: Handling subId=1 simState=READY carrierName=hallon carrierTextForSimState=hallon mSimSlotMessage={} 2020-03-02 09:44:06.306 2585-2585/? D/CarrierText: displayText=null carrierTextForSimState=hallon 2020-03-02 09:44:06.306 2862-2862/? D/PhoneGlobals: handleServiceStateChanged: state = 0, ss.getVoiceRoaming() = false 2020-03-02 09:44:06.306 2862-2862/? D/[TELESERVICE][AsusPhoneUtils]: setHasShowedmRoamingDialog(): on = false, slotId = 0 2020-03-02 09:44:06.307 2862-2862/? D/[TELESERVICE][AsusPhoneUtils]: getMobileSlot(): slotId = 0 2020-03-02 09:44:06.307 2862-2862/? V/PhoneGlobals: subId=1,mDefaultDataSubId=1,ss roaming=false 2020-03-02 09:44:06.307 2862-2862/? V/PhoneGlobals: updateDataRoamingStatus 2020-03-02 09:44:06.307 2585-2585/? D/CarrierText: displayText--hallon 2020-03-02 09:44:06.307 2585-2585/? D/CarrierText: updateCarrierText(): 1 2020-03-02 09:44:06.308 2585-2585/? D/CarrierText: isBrazilCountryCode(): subId = 1 / simCountryISO = se / result = false 2020-03-02 09:44:06.308 2585-2951/? D/NetworkController: onReceive: intent=Intent { act=android.intent.action.SERVICE_STATE flg=0x1000010 (has extras) } 2020-03-02 09:44:06.309 2862-2862/? V/PhoneGlobals: dataAllowed=false, reasons=Data disallowed, reasons: DATA_DISABLED 2020-03-02 09:44:06.309 2862-2862/? D/PhoneGlobals: updateDataRoamingStatus dataAllowed = false, reasons = Data disallowed, reasons: DATA_DISABLED, mNoDataDueToRoaming = false 2020-03-02 09:44:06.309 2862-2862/? D/PhoneGlobals: updateDataRoamingStatus bROAMING_DISABLED_NOT_ATTACHED = false 2020-03-02 09:44:06.309 2862-2862/? D/PhoneGlobals: updateDataRoamingStatus bNOT_ATTACHED_ROAMING_DISABLED = false 2020-03-02 09:44:06.309 2862-2862/? D/PhoneGlobals: updateDataRoamingStatus bAsusRoamingDisabled = false 2020-03-02 09:44:06.309 8965-8965/? D/SimCardReceiver: onReceive actioncode: android.intent.action.SERVICE_STATE 2020-03-02 09:44:06.309 2585-2585/? D/CarrierText: subId:1 / status:Normal / ss:true 2020-03-02 09:44:06.309 2585-2585/? D/CarrierText: getRoaming:false 2020-03-02 09:44:06.309 2862-2862/? D/PhoneGlobals: handleMessage() msg.what: 11 2020-03-02 09:44:06.309 2862-2862/? D/PhoneGlobals: mHandler: EVENT_DATA_ROAMING_OK 2020-03-02 09:44:06.309 2585-2585/? D/CarrierText: Handling (subId=1): READY hallon 2020-03-02 09:44:06.309 2585-2585/? D/CarrierText: Handling subId=1 simState=READY carrierName=hallon carrierTextForSimState=hallon mSimSlotMessage={} 2020-03-02 09:44:06.309 2585-2585/? D/CarrierText: displayText=null carrierTextForSimState=hallon 2020-03-02 09:44:06.310 2585-2585/? D/CarrierText: displayText--hallon 2020-03-02 09:44:06.311 1453-13885/? D/Telecom: TelecomServiceImpl: getCallCapablePhoneAccounts callingPackage = com.asus.contacts 2020-03-02 09:44:06.311 1453-13885/? D/Telecom: TelecomServiceImpl: canReadPhoneState callingPackage = com.asus.contacts: TSI.gCCPA@W4Q 2020-03-02 09:44:06.311 1453-13885/? D/Telecom: TelecomServiceImpl: isPrivilegedDialerCalling = com.asus.contacts: TSI.gCCPA@W4Q 2020-03-02 09:44:06.312 8965-26185/? D/AsusContactsTelephonyManager: [getSimCardPhoneAccountHandle] accountHandles size = 1, slotId = 0 2020-03-02 09:44:06.314 2862-3140/? D/PhoneUtils: getPhoneForPhoneAccountHandle handle.getComponentName().equals(getPstnConnectionServiceName()) = true 2020-03-02 09:44:06.316 8965-26185/? D/PhoneCapabilityTester: sim1 isActive = true 2020-03-02 09:44:06.317 1453-4021/? D/Telecom: TelecomServiceImpl: getCallCapablePhoneAccounts callingPackage = com.asus.contacts 2020-03-02 09:44:06.318 1453-4021/? D/Telecom: TelecomServiceImpl: canReadPhoneState callingPackage = com.asus.contacts: TSI.gCCPA@W4c 2020-03-02 09:44:06.318 1453-4021/? D/Telecom: TelecomServiceImpl: isPrivilegedDialerCalling = com.asus.contacts: TSI.gCCPA@W4c 2020-03-02 09:44:06.318 8965-26185/? D/AsusContactsTelephonyManager: [getSimCardPhoneAccountHandle] accountHandles size = 1, slotId = 1 2020-03-02 09:44:06.319 2862-3140/? D/PhoneUtils: getPhoneForPhoneAccountHandle handle.getComponentName().equals(getPstnConnectionServiceName()) = true 2020-03-02 09:44:06.319 8965-26185/? D/AsusContactsTelephonyManager: [getSimCardPhoneAccountHandle] Can't find PhoneAccountHandle for slot:1 2020-03-02 09:44:06.319 8965-26185/? D/PhoneCapabilityTester: sim2 isActive = false 2020-03-02 09:44:06.449 816-846/? E/ANDR-PERF-RESOURCEQS: pending level < current->level, so apply next pending optimization 2020-03-02 09:44:06.553 3120-3144/? I/QcrilOemhookMsgTunnel: [0]processOemHookIndication length=21 2020-03-02 09:44:06.554 3120-3120/? D/QcrilMsgTunnelIfaceManager: handleMessage what = 0 2020-03-02 09:44:06.569 3120-3144/? I/QcrilOemhookMsgTunnel: [0]processOemHookIndication length=21 2020-03-02 09:44:06.570 3120-3120/? D/QcrilMsgTunnelIfaceManager: handleMessage what = 0 2020-03-02 09:44:06.670 3340-4578/? D/ClClient: Not sending keepalive. Current connection state=STOPPED 2020-03-02 09:44:07.016 844-844/? I/BufferQueueConsumer: se.tension.gateway.app/se.tension.gateway.app.TenGineActivity#0, Set Low Latency Mode = 1, IntervalNsec = 1000000000 2020-03-02 09:44:07.078 1453-3957/? V/BackupManagerConstants: getFullBackupRequiredNetworkType(...) returns 2 2020-03-02 09:44:07.078 1453-3957/? V/BackupManagerConstants: getFullBackupRequireCharging(...) returns true 2020-03-02 09:44:07.267 3120-3144/? I/QcrilOemhookMsgTunnel: [0]processOemHookIndication length=21 2020-03-02 09:44:07.267 3120-3120/? D/QcrilMsgTunnelIfaceManager: handleMessage what = 0 2020-03-02 09:44:07.285 3120-3144/? I/QcrilOemhookMsgTunnel: [0]processOemHookIndication length=21 2020-03-02 09:44:07.285 3120-3120/? D/QcrilMsgTunnelIfaceManager: handleMessage what = 0 2020-03-02 09:44:07.295 2862-3106/? I/QImsService: ImsSenderRxr : [UNSL]< UNSOL_VOPS_CHANGED false[SUB0] 2020-03-02 09:44:07.298 3120-3144/? I/QcrilOemhookMsgTunnel: [0]processOemHookIndication length=22 2020-03-02 09:44:07.299 2862-2862/? I/QImsService: ImsServiceSubHandler : Message received: what = 25 2020-03-02 09:44:07.299 2862-2862/? I/QImsService: ImsServiceSub : [0] broadcastVopsSsacIntent Vops = false , Ssac = false , PhoneId = 0 2020-03-02 09:44:07.303 2862-2862/? D/VopsReceiver: VopsReceiver VOIP_VOPS_SSAC_STATUS iPhoneId = 0, bInVops = false 2020-03-02 09:44:07.332 1453-21108/? D/AlarmManagerService: Kernel timezone updated to -60 minutes west of GMT 2020-03-02 09:44:07.338 2585-2951/? D/NetworkController.MobileSignalController(1): onServiceStateChanged voiceState=0 dataState=0 2020-03-02 09:44:07.338 2585-2951/? D/NetworkController.MobileSignalController(1): updateTelephonySignalStrength: hasService=true ss=SignalStrength: 99 0 -120 -160 -120 -160 -1 27 -79 -8 186 2147483647 0 2147483647 99 255 2147483647 gsm|lte use_rsrp_and_rssnr_for_lte_level [-126, -119, -114, -109, -100] [-113, -106, -101, -96, -89] 2020-03-02 09:44:07.351 2862-3796/? D/PhoneInterfaceManager: [PhoneIntfMgr] isUserDataEnabled: subId=1 phoneId=0 2020-03-02 09:44:07.351 2862-3796/? D/PhoneInterfaceManager: [PhoneIntfMgr] isUserDataEnabled: subId=1 retVal=false 2020-03-02 09:44:07.355 2862-2862/? D/ServiceStateProvider: subId=1 2020-03-02 09:44:07.357 31995-31995/? I/CarrierServices: [2] csb.onReceive: Received SERVICE_STATE intent, clearing cached cell info 2020-03-02 09:44:07.358 2862-2862/? D/ChangeTimeZoneReceiver: ChangeTimeZoneReceiver onReceive(): action = android.intent.action.NETWORK_SET_TIMEZONE 2020-03-02 09:44:07.358 2862-2862/? D/ChangeTimeZoneReceiver: ChangeTimeZoneReceiver onReceive(): intent.getAction() == TelephonyIntents.ACTION_NETWORK_SET_TIMEZONE, unregister mAutoTimeZoneObserver and cancel mPendingIntent 2020-03-02 09:44:07.358 2862-2862/? D/PhoneGlobals: [mPhoneStateListener] onServiceStateChanged, subId[0] = 1, phoneId = 0 2020-03-02 09:44:07.358 2862-2862/? D/PhoneGlobals: [mPhoneStateListener] onServiceStateChanged, state.getState() = 0 2020-03-02 09:44:07.358 2862-2862/? D/[TELESERVICE][AsusPhoneUtils]: tryToNotifyOffDataRoamingOption(), bRoaming = false, slot = 0 2020-03-02 09:44:07.359 2862-2862/? D/[TELESERVICE][AsusPhoneUtils]: [mPhoneStateListener] onServiceStateChanged, isNonRoamingInService = true 2020-03-02 09:44:07.360 2862-2862/? D/[TELESERVICE][AsusPhoneUtils]: [mPhoneStateListener] onServiceStateChanged, state.getRoaming() = false, phone.getDataRoamingEnabled() = true 2020-03-02 09:44:07.360 2862-2862/? D/[TELESERVICE][AsusPhoneUtils]: getMobileSlot(): slotId = 0 2020-03-02 09:44:07.360 2862-2862/? D/[TELESERVICE][AsusPhoneUtils]: getRoamingNotificationDB: iRoamingNotificationState = 1, ret = true 2020-03-02 09:44:07.360 2862-2862/? D/[TELESERVICE][AsusPhoneUtils]: [mPhoneStateListener] onServiceStateChanged, mobileDataOn = false 2020-03-02 09:44:07.360 2862-2862/? D/PhoneGlobals: onServiceStateChanged(): AsusPhoneUtils.sServiceState = 0, AsusPhoneUtils.sServiceState2 = 1 2020-03-02 09:44:07.360 2862-2862/? D/PhoneGlobals: onReceive(): action = android.intent.action.SERVICE_STATE 2020-03-02 09:44:07.360 2862-2862/? D/PhoneGlobals: mReceiver: ACTION_SERVICE_STATE_CHANGED 2020-03-02 09:44:07.360 2862-2862/? D/PhoneGlobals: handleServiceStateChanged: intent = Intent { act=android.intent.action.SERVICE_STATE flg=0x1000010 (has extras) } 2020-03-02 09:44:07.360 2862-2862/? V/PhoneGlobals: handleServiceStateChanged 2020-03-02 09:44:07.361 2862-2862/? D/PhoneGlobals: handleServiceStateChanged: state = 0, ss.getVoiceRoaming() = false 2020-03-02 09:44:07.361 2862-2862/? D/[TELESERVICE][AsusPhoneUtils]: setHasShowedmRoamingDialog(): on = false, slotId = 0 2020-03-02 09:44:07.361 2862-2862/? D/[TELESERVICE][AsusPhoneUtils]: getMobileSlot(): slotId = 0 2020-03-02 09:44:07.361 2862-2862/? V/PhoneGlobals: subId=1,mDefaultDataSubId=1,ss roaming=false 2020-03-02 09:44:07.361 2862-2862/? V/PhoneGlobals: updateDataRoamingStatus 2020-03-02 09:44:07.362 2862-2862/? V/PhoneGlobals: dataAllowed=false, reasons=Data disallowed, reasons: DATA_DISABLED 2020-03-02 09:44:07.363 2862-2862/? D/PhoneGlobals: updateDataRoamingStatus dataAllowed = false, reasons = Data disallowed, reasons: DATA_DISABLED, mNoDataDueToRoaming = false 2020-03-02 09:44:07.363 2862-2862/? D/PhoneGlobals: updateDataRoamingStatus bROAMING_DISABLED_NOT_ATTACHED = false 2020-03-02 09:44:07.363 2862-2862/? D/PhoneGlobals: updateDataRoamingStatus bNOT_ATTACHED_ROAMING_DISABLED = false 2020-03-02 09:44:07.363 2862-2862/? D/PhoneGlobals: updateDataRoamingStatus bAsusRoamingDisabled = false 2020-03-02 09:44:07.363 2862-2862/? D/PhoneGlobals: handleMessage() msg.what: 102 2020-03-02 09:44:07.363 2862-2862/? D/[TELESERVICE][AsusPhoneUtils]: cancelDataRoamingAccessAllowed(): iSlotId = 0 2020-03-02 09:44:07.363 2862-2862/? D/PhoneGlobals: handleMessage() msg.what: 11 2020-03-02 09:44:07.363 2862-2862/? D/PhoneGlobals: mHandler: EVENT_DATA_ROAMING_OK 2020-03-02 09:44:07.366 2585-2951/? D/NetworkController: onReceive: intent=Intent { act=android.intent.action.SERVICE_STATE flg=0x1000010 (has extras) } 2020-03-02 09:44:07.367 1453-1508/? D/CompatibilityInfo: mCompatibilityFlags - 0 2020-03-02 09:44:07.367 1453-1508/? D/CompatibilityInfo: applicationDensity - 460 2020-03-02 09:44:07.367 1453-1508/? D/CompatibilityInfo: applicationScale - 1.0 2020-03-02 09:44:07.367 2585-2585/? D/KeyguardUpdateMonitor: received broadcast android.intent.action.SERVICE_STATE 2020-03-02 09:44:07.368 2585-2585/? V/KeyguardUpdateMonitor: action android.intent.action.SERVICE_STATE serviceState={mVoiceRegState=0(IN_SERVICE), mDataRegState=0(IN_SERVICE), mChannelNumber=350, duplexMode()=1, mCellBandwidths=[10000, 10000], mVoiceRoamingType=home, mDataRoamingType=home, mVoiceOperatorAlphaLong=hallon, mVoiceOperatorAlphaShort=hallon, mDataOperatorAlphaLong=hallon, mDataOperatorAlphaShort=hallon, isManualNetworkSelection=false(automatic), mRilVoiceRadioTechnology=14(LTE), mRilDataRadioTechnology=14(LTE), mCssIndicator=unsupported, mNetworkId=-1, mSystemId=-1, mCdmaRoamingIndicator=-1, mCdmaDefaultRoamingIndicator=-1, mIsEmergencyOnly=false, mIsDataRoamingFromRegistration=false, mIsUsingCarrierAggregation=true, mLteEarfcnRsrpBoost=0, mNetworkRegistrationStates=[]} subId=1 2020-03-02 09:44:07.368 2585-2585/? D/KeyguardUpdateMonitor: handleServiceStateChange(subId=1, serviceState={mVoiceRegState=0(IN_SERVICE), mDataRegState=0(IN_SERVICE), mChannelNumber=350, duplexMode()=1, mCellBandwidths=[10000, 10000], mVoiceRoamingType=home, mDataRoamingType=home, mVoiceOperatorAlphaLong=hallon, mVoiceOperatorAlphaShort=hallon, mDataOperatorAlphaLong=hallon, mDataOperatorAlphaShort=hallon, isManualNetworkSelection=false(automatic), mRilVoiceRadioTechnology=14(LTE), mRilDataRadioTechnology=14(LTE), mCssIndicator=unsupported, mNetworkId=-1, mSystemId=-1, mCdmaRoamingIndicator=-1, mCdmaDefaultRoamingIndicator=-1, mIsEmergencyOnly=false, mIsDataRoamingFromRegistration=false, mIsUsingCarrierAggregation=true, mLteEarfcnRsrpBoost=0, mNetworkRegistrationStates=[]} 2020-03-02 09:44:07.368 2585-2585/? D/CarrierText: updateCarrierText(): 1 2020-03-02 09:44:07.368 2585-2585/? D/CarrierText: isBrazilCountryCode(): subId = 1 / simCountryISO = se / result = false 2020-03-02 09:44:07.368 22235-22235/? V/AsusCellBroadcast: [CellBroadcastReceiver] onReceive Intent { act=android.intent.action.SERVICE_STATE flg=0x1000010 cmp=com.android.cellbroadcastreceiver/.CellBroadcastReceiver (has extras) } , privileged=false 2020-03-02 09:44:07.369 1453-21108/? D/CompatibilityInfo: mCompatibilityFlags - 0 2020-03-02 09:44:07.369 1453-21108/? D/CompatibilityInfo: applicationDensity - 460 2020-03-02 09:44:07.369 1453-21108/? D/CompatibilityInfo: applicationScale - 1.0 2020-03-02 09:44:07.370 2585-2585/? D/CarrierText: subId:1 / status:Normal / ss:true 2020-03-02 09:44:07.370 2585-2585/? D/CarrierText: getRoaming:false 2020-03-02 09:44:07.370 2585-2585/? D/CarrierText: Handling (subId=1): READY hallon 2020-03-02 09:44:07.370 2585-2585/? D/CarrierText: Handling subId=1 simState=READY carrierName=hallon carrierTextForSimState=hallon mSimSlotMessage={} 2020-03-02 09:44:07.370 2585-2585/? D/CarrierText: displayText=null carrierTextForSimState=hallon 2020-03-02 09:44:07.371 2585-2585/? D/CarrierText: displayText--hallon 2020-03-02 09:44:07.371 8965-8965/? D/SimCardReceiver: onReceive actioncode: android.intent.action.SERVICE_STATE 2020-03-02 09:44:07.371 2585-2585/? D/CarrierText: updateCarrierText(): 1 2020-03-02 09:44:07.371 2585-2585/? D/CarrierText: isBrazilCountryCode(): subId = 1 / simCountryISO = se / result = false 2020-03-02 09:44:07.372 2585-2585/? D/CarrierText: subId:1 / status:Normal / ss:true 2020-03-02 09:44:07.372 2585-2585/? D/CarrierText: getRoaming:false 2020-03-02 09:44:07.372 2585-2585/? D/CarrierText: Handling (subId=1): READY hallon 2020-03-02 09:44:07.372 2585-2585/? D/CarrierText: Handling subId=1 simState=READY carrierName=hallon carrierTextForSimState=hallon mSimSlotMessage={} 2020-03-02 09:44:07.372 2585-2585/? D/CarrierText: displayText=null carrierTextForSimState=hallon 2020-03-02 09:44:07.375 2585-2585/? D/CarrierText: displayText--hallon 2020-03-02 09:44:07.376 1453-4021/? D/Telecom: TelecomServiceImpl: getCallCapablePhoneAccounts callingPackage = com.asus.contacts 2020-03-02 09:44:07.376 1453-4021/? D/Telecom: TelecomServiceImpl: canReadPhoneState callingPackage = com.asus.contacts: TSI.gCCPA@W4o 2020-03-02 09:44:07.376 1453-4021/? D/Telecom: TelecomServiceImpl: isPrivilegedDialerCalling = com.asus.contacts: TSI.gCCPA@W4o 2020-03-02 09:44:07.377 8965-26195/? D/AsusContactsTelephonyManager: [getSimCardPhoneAccountHandle] accountHandles size = 1, slotId = 0 2020-03-02 09:44:07.380 2862-3140/? D/PhoneUtils: getPhoneForPhoneAccountHandle handle.getComponentName().equals(getPstnConnectionServiceName()) = true 2020-03-02 09:44:07.384 8965-26195/? D/PhoneCapabilityTester: sim1 isActive = true 2020-03-02 09:44:07.385 1453-4021/? D/Telecom: TelecomServiceImpl: getCallCapablePhoneAccounts callingPackage = com.asus.contacts 2020-03-02 09:44:07.386 1453-4021/? D/Telecom: TelecomServiceImpl: canReadPhoneState callingPackage = com.asus.contacts: TSI.gCCPA@W40 2020-03-02 09:44:07.386 1453-4021/? D/Telecom: TelecomServiceImpl: isPrivilegedDialerCalling = com.asus.contacts: TSI.gCCPA@W40 2020-03-02 09:44:07.386 8965-26195/? D/AsusContactsTelephonyManager: [getSimCardPhoneAccountHandle] accountHandles size = 1, slotId = 1 2020-03-02 09:44:07.389 2862-3140/? D/PhoneUtils: getPhoneForPhoneAccountHandle handle.getComponentName().equals(getPstnConnectionServiceName()) = true 2020-03-02 09:44:07.390 8965-26195/? D/AsusContactsTelephonyManager: [getSimCardPhoneAccountHandle] Can't find PhoneAccountHandle for slot:1 2020-03-02 09:44:07.390 8965-26195/? D/PhoneCapabilityTester: sim2 isActive = false 2020-03-02 09:44:08.018 842-1559/? V/AudioFlinger: releaseWakeLock_l() AudioOut_1D 2020-03-02 09:44:08.019 842-1559/? V/AudioFlinger: thread 0xe6c83f40 type 0 TID 1559 going to sleep 2020-03-02 09:44:08.025 842-1563/? V/AudioFlinger: releaseWakeLock_l() AudioOut_2D 2020-03-02 09:44:08.025 842-1563/? V/AudioFlinger: thread 0xe6783140 type 0 TID 1563 going to sleep 2020-03-02 09:44:08.026 842-1561/? V/AudioFlinger: releaseWakeLock_l() AudioOut_25 2020-03-02 09:44:08.026 842-1561/? V/AudioFlinger: thread 0xe6b03bc0 type 0 TID 1561 going to sleep 2020-03-02 09:44:08.500 26134-26162/? I/TENGINE: Creating thread: LoadEntry 2020-03-02 09:44:08.501 26134-26198/? I/TENGINE: Destroying quad: splash_tengine 2020-03-02 09:44:08.502 26134-26198/? I/TENGINE: Creating light: Ambient 2020-03-02 09:44:08.517 26134-26162/? I/TENGINE: Destroying thread: LoadEntry 2020-03-02 09:44:08.519 26134-26162/? I/TENGINE: [GUI] App 2020-03-02 09:44:08.519 26134-26162/? E/TENGINE: Line: 1101 - xaml/App.xaml(1): Unknown member Application.StartupUri 2020-03-02 09:44:08.520 26134-26162/? I/TENGINE: 'xaml/App.xaml' loaded 2020-03-02 09:44:08.522 26134-26162/? I/TENGINE: 'xaml/MainWindow.xaml' loaded 2020-03-02 09:44:08.885 26134-26162/? I/TENGINE: Creating thread: LoadEntry 2020-03-02 09:44:08.891 26134-26199/? I/TENGINE: Creating texture: textures/android/menu_background.pvr 2020-03-02 09:44:08.892 26134-26199/? I/TENGINE: Creating quad: menu_background 2020-03-02 09:44:08.892 26134-26199/? I/TENGINE: Creating quad: SampleQuad_Network 2020-03-02 09:44:08.892 26134-26199/? I/TENGINE: Creating quad: SampleQuad_Media 2020-03-02 09:44:08.892 26134-26199/? I/TENGINE: Creating quad: SampleQuad_WebApi 2020-03-02 09:44:08.893 26134-26199/? I/TENGINE: Creating quad: SampleQuad_FileWatcher 2020-03-02 09:44:08.893 26134-26199/? I/TENGINE: Creating quad: SampleQuad_Location 2020-03-02 09:44:08.893 26134-26199/? I/TENGINE: Creating quad: SampleQuad_Noesis 2020-03-02 09:44:08.893 26134-26199/? I/TENGINE: Creating quad: SampleQuad_FFMpeg 2020-03-02 09:44:08.906 26134-26162/? I/TENGINE: Destroying thread: LoadEntry 2020-03-02 09:44:09.499 796-25725/? I/SSC_HAL: handle_sns_std_sensor_event:396, [SSC_HAL] ACCEL, ts:1692155.983354 s X:0.00 Y:0.11 Z:9.70 2020-03-02 09:44:09.601 1453-1509/? V/WindowOrientationListener: [SensorN] Result: currentRotation=0, proposedRotation=-1, oldProposedRotation=-1, predictedRotation=-1, timeDeltaMS=66.66698, isAccelerating=false, isFlat=true, isSwinging=false, isOverhead=false, isTouched=false, timeUntilSettledMS=0.0, timeUntilAccelerationDelayExpiredMS=0.0, timeUntilFlatDelayExpiredMS=500.0, timeUntilSwingDelayExpiredMS=0.0, timeUntilTouchDelayExpiredMS=0.0, now=1692156.050020627, mTouchEndedTimestamp=1692133.487025079 2020-03-02 09:44:10.474 816-846/? E/ANDR-PERF-MPCTL: Request does not exist, nothing released 2020-03-02 09:44:10.852 26134-26162/? I/TENGINE: Creating thread: LoadEntry 2020-03-02 09:44:10.853 26134-26203/? I/TENGINE: Destroying quad: SampleQuad_Network 2020-03-02 09:44:10.853 26134-26203/? I/TENGINE: Destroying quad: SampleQuad_Media 2020-03-02 09:44:10.853 26134-26203/? I/TENGINE: Destroying quad: SampleQuad_WebApi 2020-03-02 09:44:10.853 26134-26203/? I/TENGINE: Destroying quad: SampleQuad_FileWatcher 2020-03-02 09:44:10.853 26134-26203/? I/TENGINE: Destroying quad: SampleQuad_Location 2020-03-02 09:44:10.854 26134-26203/? I/TENGINE: Destroying quad: SampleQuad_Noesis 2020-03-02 09:44:10.854 26134-26203/? I/TENGINE: Destroying quad: SampleQuad_FFMpeg 2020-03-02 09:44:10.854 26134-26203/? I/TENGINE: Destroying quad: menu_background 2020-03-02 09:44:10.854 26134-26203/? I/TENGINE: Destroying texture: menu_background 2020-03-02 09:44:10.855 26134-26203/? I/TENGINE: Creating light: Directional 2020-03-02 09:44:10.868 26134-26162/? I/TENGINE: Destroying thread: LoadEntry 2020-03-02 09:44:11.816 1453-1995/? I/BatteryService: health = 2, mPlugType = 2, mUsbAbnormal = 0 2020-03-02 09:44:11.820 2889-2889/? I/AlwaysOn:BatteryStatusMonitor: onReceive(): [BATTERY] - action=android.intent.action.BATTERY_CHANGED 2020-03-02 09:44:11.821 2889-2889/? D/FirmwareManager: ACTION_BATTERY_CHANGED level: 35, mPadLevel: 0, mPadPresent: 0, mState: 0, mNeedCheckUpdatePower: true 2020-03-02 09:44:11.821 2889-6780/? I/AlwaysOn:BatteryStatusMonitor: BatteryStatus: (percentage=35, status=2, plug=2) ... 2020-03-02 09:44:11.823 2889-2889/? D/PowerSaverService: extraBatteryHealth:2 changed:false extraStatus:2 2020-03-02 09:44:11.823 2585-2585/? D/KeyguardUpdateMonitor: received broadcast android.intent.action.BATTERY_CHANGED 2020-03-02 09:44:11.823 2889-2889/? D/PowerSaverService: changed:false mCurrentBatteryLevel:35 level:35 statusChange:false plugChange:false mExtraPlugged:2 extraPlugged:2 2020-03-02 09:44:11.823 2585-2585/? D/KeyguardUpdateMonitor: handleBatteryUpdate 2020-03-02 09:44:11.823 2889-2889/? D/GameGenieHandler: GameWidgetReceiver onRecevie: android.intent.action.BATTERY_CHANGED 2020-03-02 09:44:11.823 2585-2585/? D/PowerUI: oldTemp=295, mTemp=292 2020-03-02 09:44:11.823 2585-2585/? D/PowerUI: findUsbOtg =false,supportReverseCharging =0 2020-03-02 09:44:11.830 2889-2889/? D/DockManagerService: mBatteryReceiver onReceive 2020-03-02 09:44:11.841 1453-1508/? D/CompatibilityInfo: mCompatibilityFlags - 0 2020-03-02 09:44:11.841 1453-1508/? D/CompatibilityInfo: applicationDensity - 460 2020-03-02 09:44:11.841 1453-1508/? D/CompatibilityInfo: applicationScale - 1.0 |
(0006118)
jsantos 2020-03-02 16:05 |
Thanks for the log. Is this using our default GL ES renderer or custom one? |
(0006119)
jsantos 2020-03-02 16:06 |
Plus, if you could provide minimal .apk reproducing the issue (if possible with source). So far, we are not able to reproduce it here. |
(0006122)
tension_andreas 2020-03-04 08:51 |
Yes we're using your default renderer. We're looking into providing some sample |
(0006123)
jsantos 2020-03-05 10:23 |
Thanks! |
(0006133)
SKylander 2020-03-10 12:17 |
While working on providing a minimal example, I decided to take a stab at finding the cause of the error. It turns out that it was an unrelated OpenGL error from within our middleware. Namely, `glEnable(GL_TEXTURE2D);` which seems to be an invalid option in GLES. Our presumption as to why it prevented the font from rendering on certain devices is because the GL drivers of non-Samsung devices implements some kind of safe guard where it makes sure the GL error stack is empty before submitting the texture units to the GPU. Regardless if our presumptions are correct or not, fixing the bug in the middleware solved the font bug. |
(0006134)
jsantos 2020-03-10 14:24 (Last edited: 2020-03-10 14:25) |
That's interesting. The only point where we call glGetError() in Noesis (in Release) is to detect a bug in AMD drivers. We are flushing the error stack there. Not sure if we should do this test only in Desktop by the way.// Check that TexStorage is not bugged (AMD Catalyst 13.90) if (TexStorage2D_ != 0) { GLuint name; V(glGenTextures(1, &name)); V(glBindTexture(GL_TEXTURE_2D, name)); while (glGetError() != GL_NO_ERROR); uint8_t data; TexStorage2D_(GL_TEXTURE_2D, 1, GL_RGBA8, 2, 2); glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, 1, 1, GL_RGBA, GL_UNSIGNED_BYTE, &data); if (glGetError() != GL_NO_ERROR) { mExtensions[Extension::ARB_texture_storage].supported = false; TexStorage2D_ = 0; while (glGetError() != GL_NO_ERROR); } V(glDeleteTextures(1, &name)); } Anyway, glad to know you solved it! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
878 | [NoesisGUI] Unity3D | minor | N/A | 2016-04-28 23:33 | 2020-03-09 19:08 |
Reporter: | kguner | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | high | OS Version: | |||
Status: | resolved | Product Version: | 1.2.6f2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.0 | ||
Target Version: | |||||
Platform: | Any | ||||
Summary: | DropShadows | ||||
Description: |
I would like to use Dropshadows but effects are not yet implemented. Would it be possible to implement this? |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0003868)
jsantos 2016-05-02 21:25 |
We have plans to implement this at some point in the 1.3 branch. For now you have to manually emulate it by rendering the same path displaced by the desired amount. Yes, I know it is not the same (you can't emulate the blurring for example) but it quite efficient for text for example. Could you tell me more about where do you need to apply this effect? |
(0003869)
kguner 2016-05-02 22:13 |
Yes it is for Text. My game is a Movie Studio Tycoon type game. In the game the users will make movies, and for each move a "Trailer" will be generated. There will be dynamically generated "Cut Scenes" overlayed with text (Movie Title & cast/crew names). Dropshadow is just one of the effects I would like to implement. Here is an example: http://i.giphy.com/l4HnSo5emSSUSQSVq.gifwpf |
(0003878)
jsantos 2016-05-06 19:12 |
I see, so you need the blurring effect. I assume the hack used here http://www.noesisengine.com/forums/viewtopic.php?f=12&t=485 won't work for you, right? |
(0003879)
kguner 2016-05-06 22:04 |
Yes, I would need the blurring effect. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1526 | [NoesisGUI] C++ SDK | feature | N/A | 2019-07-27 04:47 | 2020-03-09 19:07 |
Reporter: | stonstad | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.0 | ||
Product Build: | Resolution: | duplicate | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.0 | ||
Target Version: | 3.0.0 | ||||
Platform: | Any | ||||
Summary: | Add Support for BlurEffect | ||||
Description: |
See ... https://www.noesisengine.com/forums/viewtopic.php?f=3&t=57&p=9291&hilit=blur+camera#p9291 and https://docs.microsoft.com/en-us/dotnet/api/system.windows.media.effects.blureffect?view=netframework-4.8 With a built-in blur effect developers can create modal windows with behind window blur using a single camera (instead of the current two camera approach). Having a second camera with Noesis view rendering consumes about 10-12 FPS -- it would great to reduce this overhead. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1577 | [NoesisGUI] Unity3D | crash | always | 2019-10-27 20:19 | 2020-03-03 11:46 |
Reporter: | C4ustic | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.5 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.0 | ||
Target Version: | 3.0.0 | ||||
Platform: | Windows | ||||
Summary: | NoesisGUI crashes Unity during ReloadAssembly | ||||
Description: |
Unity crashes often with the same call stack. After it has crashed and been restarted it is stable again until you reimport NoesisGUI assets. Reimporting .xaml assets usually works but reimporting .cs files with NoesisGUI code behind almost always crashes . |
||||
Tags: | |||||
Steps To Reproduce: | I just reimport all .cs code behind files, or if this gets triggered on startup. | ||||
Additional Information: | |||||
Attached Files: |
Editor.log (3,046,390 bytes) 2019-10-27 20:19 https://www.noesisengine.com/bugs/file_download.php?file_id=1124&type=bug error.log (81,642 bytes) 2019-10-27 20:19 https://www.noesisengine.com/bugs/file_download.php?file_id=1125&type=bug crash.dmp (1,200,036 bytes) 2019-10-27 20:19 https://www.noesisengine.com/bugs/file_download.php?file_id=1126&type=bug |
||||
Notes | |
(0006001)
mikmueller 2019-11-14 13:13 |
I can approve this issue. Also happens with Unity 2018.4.11 |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1629 | [NoesisGUI] Unity3D | minor | always | 2020-02-25 08:53 | 2020-02-25 13:05 |
Reporter: | riveranb | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.4 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.0 | ||
Target Version: | 3.0.0 | ||||
Platform: | Any | ||||
Summary: | Get exceptions when using TextBox in MenuItem or overflow ToolBar | ||||
Description: |
Uses TextBox in a ToolBar with "ToolBar.OverflowMode"="AsNeeded" or inside MenuItem, I get the exceptions in Unity when that TextBox is in overflow mode. And TextBox seems still working well. example xaml snippet <ContextMenu> ... <MenuItem> <MenuItem.Header> <Border> <TextBox Width="50" Height="20"/> </Border> </MenuItem.Header> </MenuItem> </ContextMenu> |
||||
Tags: | Unity | ||||
Steps To Reproduce: |
Create TextBox inside MenuItem Try it in Unity editor |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1379 | [NoesisGUI] C# SDK | feature | N/A | 2018-12-21 17:45 | 2020-02-19 19:35 |
Reporter: | ai_enabled | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.0 | ||
Target Version: | 3.0.0 | ||||
Platform: | Any | ||||
Summary: | New approach for loading ResourceDictionary similar to WPF's Application.Resources | ||||
Description: |
This feature will allow us to reduce the MergedDictionaries cross-referencing bloat we have in our ResourceDictionaries by referencing all of them in a single ResourceDictionary similar to how WPF's Application.Resources works. Supposedly, it will also improve loading times, performance and memory usage due to fewer resources duplication. Feature explanation: In WPF it's possible to reference any resource from Style1.xaml from Style2.xaml if they're both referenced from the Application ResourceDictionary (via MergedDictionaries). So Style2.xaml doesn't need to have a MergedDictionaries entry for Style1.xaml. (please see the attached WPF project source demonstrating this approach) However, it's impossible to use with NoesisGUI due to API limitations. When NoesisGUI loading Resources.xaml via GUI.LoadXaml(pathToFile) it starts loading all the merged MergedDictionaries one by one - Style1.xaml, then Style2.xaml. And here an exception happens as Style2.xaml references some static resource from Style1.xaml and NoesisGUI cannot locate it. A special API is required to allow this scenario. For example: <code> var applicationResourceDictionary = GUI.LoadApplicationResourcesXaml("Resources.xaml"); GUI.SetApplicationResources(applicationResourceDictionary); </code> Regards! |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
WpfSampleMergingRes.7z (5,673 bytes) 2018-12-21 17:45 https://www.noesisengine.com/bugs/file_download.php?file_id=952&type=bug |
||||
Notes | |
(0006098)
sfernandez 2020-02-19 19:35 (Last edited: 2020-02-19 19:35) |
GUI.LoadApplicationResources(string filename) will load a dictionary that can have static resource references to previous dictionaries in the list of MergedDictionaries. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1558 | [NoesisGUI] Unity3D | major | always | 2019-10-03 06:30 | 2020-02-18 17:56 |
Reporter: | nokola | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.5 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 3.0.0 | ||||
Platform: | Any | ||||
Summary: | Performance regression: RegisterNativeTypes takes 0.5 seconds on newer 8-core phone | ||||
Description: |
Android: In Assets\NoesisGUI\Plugins\API\Core\Extend.cs, Init(), the RegisterNativeTypes() code takes 0.5 seconds on xiaomi redmi note 7 phone: long start = DateTime.Now.Ticks; RegisterNativeTypes(); Debug.Log("RegisterNativeTypes: " + (DateTime.Now.Ticks - start) / 10_000); This (perhaps...or maybe something else) makes a noticeable glitch during app load on Android compared to 2.2.4. I suspect Noesis.Gui.Init() gets called too early or there's more code in RegisterNativeTypes(). Could be something else. I expect on slower phones the cost of RegisterNativeTypes() to be significantly higher (second or two.) On my PC the cost is ~240ms Core i7. |
||||
Tags: | Unity | ||||
Steps To Reproduce: |
Add this code to Assets\NoesisGUI\Plugins\API\Core\Extend.cs, Init(), the RegisterNativeTypes() code takes 0.5 seconds on xiaomi redmi note 7 phone: long start = DateTime.Now.Ticks; RegisterNativeTypes(); Debug.Log("RegisterNativeTypes: " + (DateTime.Now.Ticks - start) / 10_000); Run on Android and check logcat |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0005975)
sfernandez 2019-10-03 11:18 |
Hi, I've been doing some tests with our samples, comparing 2.2.4 with 2.2.5 version and there is no difference with respect to that function. The times are the same, around 700ms in a Nexus 5X, and 300ms in first generation Core i7 PC. What numbers did you get with 2.2.4 compared to 2.2.5? Could you please use Stopwatch to do those measurements? Those numbers are terrible, though, and it is something we should investigate. |
(0005976)
nokola 2019-10-03 17:31 |
You're right - 2.2.4 is similar timing regarding the RegisterNativeTypes() function. Maybe there's slowdown somewhere else, or I'm making it up. I've noticed a longer black screen after installing 2.2.5, then profiled in Editor and found RegisterNativeTypes() taking a significant time. That's when I assumed it was this function responsible (because I haven't seen it show up in profiling before, thus assumed it's regression without further testing.) I tried profiling startup time on Android device with Unity 2018.4.10f. Unfortunately, Unity uses ~5GB of RAM for the first 2-3 seconds of the app and crashes. I haven't been able to pinpoint what's the "hot path" on Android device yet. I can only profile in Editor currently, which makes it harder to trace function calls, also much faster on PC than phone. If you can get profiling on device, and see if there's another hot path during startup that will be awesome. I'll try something with the native Android profilers (not through Unity.) Sorry no specific info at the moment (apart from the function above!) |
(0005977)
nokola 2019-10-03 17:54 |
I did some more testing - there seems to be *no* performance regression during startup from 2.2.4 to 2.2.5. Not sure why RegisterNativeTypes() started showing up - maybe because I updated to new Unity (from 2017 to 2018) and profiler started showing more info. Either way, reducing cost for RegisterNativeTypes() startup will be a very good win! :) |
(0005978)
sfernandez 2019-10-04 11:30 (Last edited: 2019-10-04 11:32) |
Great to know there is no performance regression on your side either... from our latest changes I couldn't figure out anything affecting startup times. Regarding RegisterNativeTypes() we found an alternative implementation that will dramatically reduce the loading times (in PC from 300ms to 20ms approx.). It will be included in our next version. |
(0005979)
nokola 2019-10-04 16:51 |
Nice! Also good job on speeding up the release cadence - it's good to see smaller but more often version releases! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1624 | [NoesisGUI] Unity3D | crash | sometimes | 2020-02-04 21:56 | 2020-02-10 18:06 |
Reporter: | nizesh | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | feedback | Product Version: | 2.2.4 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Windows | ||||
Summary: | UnityEditor crashes due to Noesis.dll caused an Access Violation | ||||
Description: | I'm running into this issue where the Unity Editor crashes. The error log says that Noesis.dll caused an Access Violation. The strange thing though is that it works just fine in a Debug mode. The crash happens only in the Play mode or the binary run. | ||||
Tags: | C#, Unity | ||||
Steps To Reproduce: |
Click Play button. Issue some queries Unity Editor receives result from server Unity Editor crashes entirely |
||||
Additional Information: | |||||
Attached Files: |
Editor.log (28,365 bytes) 2020-02-04 21:56 https://www.noesisengine.com/bugs/file_download.php?file_id=1158&type=bug error.log (4,897 bytes) 2020-02-04 21:56 https://www.noesisengine.com/bugs/file_download.php?file_id=1159&type=bug crash.dmp (1,254,223 bytes) 2020-02-05 15:16 https://www.noesisengine.com/bugs/file_download.php?file_id=1160&type=bug |
||||
Notes | |
(0006088)
sfernandez 2020-02-05 10:32 |
Could you please also add the .dmp file for the crash? That way we can see the code related to the crash. |
(0006090)
nizesh 2020-02-05 15:17 |
Thanks for responding. I've attached the .dmp file too. Hopefully, that can give you more detail log view |
(0006091)
nizesh 2020-02-07 18:00 |
Any update on this issue so far? |
(0006092)
sfernandez 2020-02-10 10:20 |
Hi, do you have a deterministic way of reproducing this crash? The callstack of the crash has no sense to me and I don't understand what could be the source of the problem. It would help me a lot to have a way to reproduce it, a small sample project or if you can share your own project (in a private note if you want). Thanks for your feedback. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1619 | [NoesisGUI] C++ SDK | feature | always | 2020-01-16 12:46 | 2020-01-16 12:46 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | OS: | ||||
Priority: | normal | OS Version: | |||
Status: | new | Product Version: | 2.2.6 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | TextBox.TextDecorations not implemented | ||||
Description: |
Missing TextDecorations property in TextBox. https://docs.microsoft.com/en-us/dotnet/api/system.windows.controls.textbox.textdecorations?view=netframework-4.8 |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1322 | [NoesisGUI] Unity3D | minor | have not tried | 2018-10-30 12:20 | 2020-01-14 01:18 |
Reporter: | ivan_b | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.0 | ||
Target Version: | 3.0.0 | ||||
Platform: | Any | ||||
Summary: | Implementation of IMultiValueConverter | ||||
Description: | It would be nice to have IMultiValueConverter implemented in Noesis | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0005275)
admin 2018-10-30 13:00 |
---------------------------------------------------------------------- (0005261) jsantos (manager) - 2018-09-14 15:13 https://www.noesisengine.com/bugs/view.php?id=1322#c5261 ---------------------------------------------------------------------- Thanks! |
(0005276)
admin 2018-10-30 13:00 |
Our hosting company corrupted our database without a backup. We are manually reconstructing all the issues. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
791 | [NoesisGUI] Unity3D | minor | N/A | 2016-01-02 22:30 | 2020-01-14 01:18 |
Reporter: | Scherub | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.0.0 | ||
Target Version: | 3.0.0 | ||||
Platform: | Any | ||||
Summary: | IMultiValueConverter is missing | ||||
Description: | As mentioned in my previous issue 0000790 I tried using a IMultiConverter to solve a problem but unfortunately that interface doesn't exist. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0003431)
sfernandez 2016-01-07 11:37 |
You are right, MultiBinding and IMultiValueConverter are not supported yet by Noesis, and we didn't plan to include them soon. I'll add them to Trello pending tasks and will evaluate when we can implement them. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1592 | [NoesisGUI] Unity3D | crash | always | 2019-11-30 23:02 | 2020-01-07 20:21 |
Reporter: | stonstad | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.5 | ||
Product Build: | Resolution: | unable to reproduce | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.6 | ||
Target Version: | 2.2.6 | ||||
Platform: | Any | ||||
Summary: | Listbox Event Routing Causes Unity Crash | ||||
Description: |
With the enclosed project load "default" scene. Play/Stop/Play until crash occurs. The offending logic is in Bug1Control.cs. Reproduduction project, crash logs, and dmp included. A manifestation of this issue with a similar but somewhat different stack trace is an open issue in Stellar Conquest. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
Crash_2019-11-30_215044902.zip (230,623 bytes) 2019-11-30 23:02 https://www.noesisengine.com/bugs/file_download.php?file_id=1130&type=bug |
||||
Notes | |
(0006025)
stonstad 2019-11-30 23:05 |
Encl. link to reproduction project. See Bug1Control.cs. http://stellarconquest.blob.core.windows.net/$root/NoesisBugs2.zip |
(0006053)
sfernandez 2019-12-31 00:46 (Last edited: 2019-12-31 12:20) |
I was unable to reproduce the crash after many many Play/Stop/Play... tries. And attached crash dump and logs are very similar to ticket 0001591, they also show in Editor.log lots of asserts in the render device inside Unity's code: Assertion failed on expression: 'SUCCEEDED(hr)' (Filename: C:\buildslave\unity\build\Runtime/GfxDevice/d3d11/D3D11Window.cpp Line: 186) d3d11: failed to create 2D texture id=875 width=83 height=17 mips=7 dxgifmt=28 [D3D error was 887a0005] (Filename: C:\buildslave\unity\build\Runtime/GfxDevice/d3d11/TexturesD3D11.cpp Line: 496) d3d11: failed to create 2D texture shader resource view id=875 [D3D error was 80070057] (Filename: C:\buildslave\unity\build\Runtime/GfxDevice/d3d11/TexturesD3D11.cpp Line: 460) d3d11: Failed to create 2D texture in GfxDeviceD3D11 (Filename: C:\buildslave\unity\build\Runtime/GfxDevice/d3d11/TexturesD3D11.cpp Line: 605) d3d11: Failed to create 2D texture in GfxDeviceD3D11 (Filename: C:\buildslave\unity\build\Runtime/GfxDevice/d3d11/TexturesD3D11.cpp Line: 605) d3d11: failed to create buffer (target 0x1 mode 0 size 96) [0x887A0005] d3d11: failed to create buffer (target 0x2 mode 0 size 12) [0x887A0005] Assertion failed on expression: 'SUCCEEDED(hr)' (Filename: C:\buildslave\unity\build\Runtime/GfxDevice/d3d11/D3D11Window.cpp Line: 186) d3d11: failed to create 2D texture id=877 width=77 height=17 mips=7 dxgifmt=28 [D3D error was 887a0005] (Filename: C:\buildslave\unity\build\Runtime/GfxDevice/d3d11/TexturesD3D11.cpp Line: 496) d3d11: failed to create 2D texture shader resource view id=877 [D3D error was 80070057] (Filename: C:\buildslave\unity\build\Runtime/GfxDevice/d3d11/TexturesD3D11.cpp Line: 460) d3d11: Failed to create 2D texture in GfxDeviceD3D11 (Filename: C:\buildslave\unity\build\Runtime/GfxDevice/d3d11/TexturesD3D11.cpp Line: 605) ... The dump shows it finally crashes trying to initialize our render device code. @jsantos Could you confirm this is not a problem in our render device? |
(0006055)
stonstad 2020-01-01 21:03 |
I have not seen this behavior since it was originally reported. I want to say my GPU was in a bad state, somehow, and it is operating system, hardware, or Unity related. |
(0006068)
jsantos 2020-01-07 20:21 |
I think this is device corruption. Thanks for your feedback. I am going to close this. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1612 | [NoesisGUI] Unity3D | crash | always | 2020-01-01 21:00 | 2020-01-07 10:26 |
Reporter: | stonstad | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.6 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.6 | ||
Target Version: | 2.2.6 | ||||
Platform: | Any | ||||
Summary: | BaseComponent_Release() - Editor Crash During Playback | ||||
Description: |
Unity 2019.2.8f1. Write to location 0000000000000000 caused an access violation. Context: RDI: 0x0000000000000000 RSI: 0x0000022c208a4580 RAX: 0x0000022c24040030 RBX: 0x0000022c2450d990 RCX: 0x0000022c208a4580 RDX: 0x0000000000000001 RIP: 0x0000000000000000 RBP: 0x000000a20a2ee6c0 SegCs: 0x0000000000000033 EFlags: 0x0000000000010202 RSP: 0x000000a20a2ee628 SegSs: 0x000000000000002b R8: 0x0000000000000004 R9: 0x0000000000000001 R10: 0x0000000000008000 R11: 0x00007ffd6060e910 R12: 0x0000022c24943c60 R13: 0x000000a20a2ee750 R14: 0x0000022c2330d2d0 R15: 0x0000022c6f8043a0 Bytes at CS:EIP: ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? Mono DLL loaded successfully at 'C:\Program Files\Unity\Hub\Editor\2019.2.8f1\Editor\Data\MonoBleedingEdge\EmbedRuntime\mono-2.0-bdwgc.dll'. Stack Trace of Crashed Thread 16136: ERROR: SymGetSymFromAddr64, GetLastError: 'The specified module could not be found.' (Address: 000001D3DFDBAD90) ERROR: SymGetModuleInfo64, GetLastError: 'A dynamic link library (DLL) initialization routine failed.' (Address: 000001D3DFDBAD90) 0x000001D3DFDBAD90 ((<unknown>)) (function-name not available) 0x0000022C2B198147 (Assembly-CSharp) Noesis.NoesisGUI_PINVOKE.BaseComponent_Release() 0x0000022C2B198023 (Assembly-CSharp) Noesis.BaseComponent.Release() 0x0000022C2DEA5B33 (Assembly-CSharp) Noesis.Extend.ReleasePending() 0x0000022C2DEA4573 (Assembly-CSharp) Noesis.Extend.Update() 0x0000022C2DEA4313 (Assembly-CSharp) Noesis.View.Update() 0x0000022C2DE96EFB (Assembly-CSharp) NoesisView.LateUpdate() |
||||
Tags: | |||||
Steps To Reproduce: |
Encl. editor and error logs. Editor crash dump. I don't have repro steps yet, as this is my first test with 2.2.6. I was cyclingthrough screens in Stellar Conquest and testing functionality. |
||||
Additional Information: | |||||
Attached Files: |
Crash_2020-01-01_195529081.zip (449,403 bytes) 2020-01-01 21:00 https://www.noesisengine.com/bugs/file_download.php?file_id=1142&type=bug Crash_2020-01-01_203612344.zip (416,292 bytes) 2020-01-01 21:38 https://www.noesisengine.com/bugs/file_download.php?file_id=1143&type=bug Extend.cs (239,238 bytes) 2020-01-03 17:28 https://www.noesisengine.com/bugs/file_download.php?file_id=1145&type=bug |
||||
Notes | |
(0006056)
stonstad 2020-01-01 21:07 |
Changing reproducible status to 'always'. If I quickly flip between UIs the behavior happens in a few tries. I don't have any additional telemetry to share yet. This is a new behavior in 2.2.6. |
(0006057)
stonstad 2020-01-01 21:25 |
I'm unable to proceed with other testing, as the crash is very repeatable and happens in as little as one or two screen clicks. I'm rolling back to 2.2.5. If you have a new version you would like me to try please feel free to send over an updated DLL. |
(0006058)
stonstad 2020-01-01 21:38 |
Encl. editor and error log w/ crash dump that does not show missing DLL error. That was a separate issue on my end. The Noesis behavior and crash stacktrace remains the same. Thanks. |
(0006059)
sfernandez 2020-01-02 13:05 (Last edited: 2020-01-02 13:07) |
Hi, I'm trying to reproduce the crashes with the copy of the game code we have from last summer but I'm getting JSON deserialization errors when logging, probably something that changed in the server. Newtonsoft.Json.JsonSerializationException: Error resolving type specified in JSON 'StellarConquest.Model.Authentication.CheckedResponse`1[[System.Collections.Generic.List`1[[StellarConquest.Model.Authentication.AuthenticatedPlayer, StellarConquest.Model]], mscorlib]], StellarConquest.Model'. Path '$type', line 1, position 218. ---> Newtonsoft.Json.JsonSerializationException: Could not find type 'StellarConquest.Model.Authentication.CheckedResponse`1[[System.Collections.Generic.List`1[[StellarConquest.Model.Authentication.AuthenticatedPlayer, StellarConquest.Model]], mscorlib]]' in assembly 'StellarConquest.Model, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. at Newtonsoft.Json.Serialization.DefaultSerializationBinder.GetTypeFromTypeNameKey (Newtonsoft.Json.Serialization.DefaultSerializationBinder+TypeNameKey typeNameKey) [0x00093] in <97722d3abc9f4cf69f9e21e6770081b3>:0 at (wrapper delegate-invoke) System.Func`2[Newtonsoft.Json.Serialization.DefaultSerializationBinder+TypeNameKey,System.Type].invoke_TResult_T(Newtonsoft.Json.Serialization.DefaultSerializationBinder/TypeNameKey) at Newtonsoft.Json.Utilities.ThreadSafeStore`2[TKey,TValue].AddValue (TKey key) [0x00000] in <97722d3abc9f4cf69f9e21e6770081b3>:0 at Newtonsoft.Json.Utilities.ThreadSafeStore`2[TKey,TValue].Get (TKey key) [0x00010] in <97722d3abc9f4cf69f9e21e6770081b3>:0 at Newtonsoft.Json.Serialization.DefaultSerializationBinder.BindToType (System.String assemblyName, System.String typeName) [0x0000d] in <97722d3abc9f4cf69f9e21e6770081b3>:0 at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.ResolveTypeName (Newtonsoft.Json.JsonReader reader, System.Type& objectType, Newtonsoft.Json.Serialization.JsonContract& contract, Newtonsoft.Json.Serialization.JsonProperty member, Newtonsoft.Json.Serialization.JsonContainerContract containerContract, Newtonsoft.Json.Serialization.JsonProperty containerMember, System.String qualifiedTypeName) [0x00096] in <97722d3abc9f4cf69f9e21e6770081b3>:0 --- End of inner exception stack trace --- at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.ResolveTypeName (Newtonsoft.Json.JsonReader reader, System.Type& objectType, Newtonsoft.Json.Serialization.JsonContract& contract, Newtonsoft.Json.Serialization.JsonProperty member, Newtonsoft.Json.Serialization.JsonContainerContract containerContract, Newtonsoft.Json.Serialization.JsonProperty containerMember, System.String qualifiedTypeName) [0x000c9] in <97722d3abc9f4cf69f9e21e6770081b3>:0 at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.ReadMetadataProperties (Newtonsoft.Json.JsonReader reader, System.Type& objectType, Newtonsoft.Json.Serialization.JsonContract& contract, Newtonsoft.Json.Serialization.JsonProperty member, Newtonsoft.Json.Serialization.JsonContainerContract containerContract, Newtonsoft.Json.Serialization.JsonProperty containerMember, System.Object existingValue, System.Object& newValue, System.String& id) [0x0015d] in <97722d3abc9f4cf69f9e21e6770081b3>:0 at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject (Newtonsoft.Json.JsonReader reader, System.Type objectType, Newtonsoft.Json.Serialization.JsonContract contract, Newtonsoft.Json.Serialization.JsonProperty member, Newtonsoft.Json.Serialization.JsonContainerContract containerContract, Newtonsoft.Json.Serialization.JsonProperty containerMember, System.Object existingValue) [0x000bc] in <97722d3abc9f4cf69f9e21e6770081b3>:0 at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal (Newtonsoft.Json.JsonReader reader, System.Type objectType, Newtonsoft.Json.Serialization.JsonContract contract, Newtonsoft.Json.Serialization.JsonProperty member, Newtonsoft.Json.Serialization.JsonContainerContract containerContract, Newtonsoft.Json.Serialization.JsonProperty containerMember, System.Object existingValue) [0x0006d] in <97722d3abc9f4cf69f9e21e6770081b3>:0 at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize (Newtonsoft.Json.JsonReader reader, System.Type objectType, System.Boolean checkAdditionalContent) [0x000d9] in <97722d3abc9f4cf69f9e21e6770081b3>:0 at Newtonsoft.Json.JsonSerializer.DeserializeInternal (Newtonsoft.Json.JsonReader reader, System.Type objectType) [0x00053] in <97722d3abc9f4cf69f9e21e6770081b3>:0 at Newtonsoft.Json.JsonSerializer.Deserialize (Newtonsoft.Json.JsonReader reader, System.Type objectType) [0x00000] in <97722d3abc9f4cf69f9e21e6770081b3>:0 at Newtonsoft.Json.JsonConvert.DeserializeObject (System.String value, System.Type type, Newtonsoft.Json.JsonSerializerSettings settings) [0x0002d] in <97722d3abc9f4cf69f9e21e6770081b3>:0 at Newtonsoft.Json.JsonConvert.DeserializeObject[T] (System.String value, Newtonsoft.Json.JsonSerializerSettings settings) [0x00000] in <97722d3abc9f4cf69f9e21e6770081b3>:0 at StellarConquest.Services.ServiceClient+<GetPlayers>d__12.MoveNext () [0x000d9] in E:\Proyectos\Clients\Stellar Conquest\Assets\Scripts\Web Services\ServiceClient.cs:172 UnityEngine.Debug:Log(Object) StellarConquest.Services.<GetPlayers>d__12:MoveNext() (at Assets/Scripts/Web Services/ServiceClient.cs:178) Could you please provide updated code or assembly? In the meantime I found an error in our code that is probably the cause of the crashes. Go to NoesisGUI/Plugins/API/Core/Extend.cs line 4084 and change it to: IntPtr cPtr = new IntPtr(info.ptr); |
(0006060)
stonstad 2020-01-02 17:53 |
The proposed code change seems to prevent the editor crash behavior. It throws this exception, however -- KeyNotFoundException: The given key was not present in the dictionary. System.Collections.Generic.Dictionary`2[TKey,TValue].get_Item (TKey key) (at <599589bf4ce248909b8a14cbe4a2034e>:0) Noesis.Extend.AddDestroyedExtends () (at Assets/NoesisGUI/Plugins/API/Core/Extend.cs:4094) Noesis.Extend.Update () (at Assets/NoesisGUI/Plugins/API/Core/Extend.cs:4319) Noesis.View.Update (System.Double timeInSeconds) (at Assets/NoesisGUI/Plugins/API/Core/View.cs:269) NoesisView.LateUpdate () (at Assets/NoesisGUI/Plugins/NoesisView.cs:822) I can provide a copy of the project and source code -- but it may not be something I can do today. If there are code changes and/or DLLs you would like me to try please let me know. |
(0006061)
sfernandez 2020-01-02 18:31 |
Does that exception continue to be thrown after re-opening your Unity project or it was just one time after the first recompilation? I don't see how can the key not be present in the dictionary if it is being added at the same time to both _weakExtends list and _weakExtendsHash dictionary. |
(0006062)
stonstad 2020-01-02 21:02 (Last edited: 2020-01-02 21:04) |
(nevermind)... my find all references was acting up. ** ignore: I'm reviewing 2.2.6 Extend.cs and I don't see where _weakExtendsHash is added to -- could this be why indexing into it later fails? i.e. there a line that adds an element to the dictionary? ** updated It feels like a race condition. Twice I was able to recreate the exception by flipping through screens. This was after upgrade/shutdown/restart of the editor. |
(0006063)
sfernandez 2020-01-03 16:26 (Last edited: 2020-01-03 17:28) |
Could you please try again with the new attached Extend.cs? |
(0006064)
stonstad 2020-01-03 23:42 |
No issues so far with the updated Extend.cs. It appears stable and working. If I encounter anything I'll be sure to share it here. |
(0006065)
stonstad 2020-01-05 00:26 |
8+ hours of testing with no runtime crash or editor errors/warnings. |
(0006066)
sfernandez 2020-01-05 14:07 |
Those are great news, thanks a lot for your feedback. |
(0006067)
jsantos 2020-01-05 14:47 |
Time to close this and release! Thanks! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1614 | [NoesisGUI] Unity3D | major | always | 2020-01-03 13:56 | 2020-01-03 13:56 |
Reporter: | Gwynneth | Platform: | |||
Assigned To: | OS: | ||||
Priority: | normal | OS Version: | |||
Status: | new | Product Version: | 2.2.5 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Windows | ||||
Summary: | DynamicResource on TextBox's SelectionBrush, CaretBrush and Foreground will continuously log errors | ||||
Description: | I've build a custom TextBox control which works properly in WPF. It makes use of DynamicResource bindings for all its brushes. In Noesis every interaction with the TextBox and probably every re-render logs the following error: [Error]: "[noesis] Freezable object cannot be made unmodifiable". This happens for the SelectionBrush, CaretBrush and Foreground properties. It does look like that at least the Foreground brush does get properly updated even though the error is being logged. | ||||
Tags: | DynamicResource, TextBox | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1591 | [NoesisGUI] Unity3D | crash | always | 2019-11-30 21:43 | 2019-12-31 00:48 |
Reporter: | stonstad | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.5 | ||
Product Build: | Resolution: | unable to reproduce | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.6 | ||
Target Version: | 2.2.6 | ||||
Platform: | Any | ||||
Summary: | Unity Crash w/ Vanilla Noesis Installation if Noesis View Component Not Instantiated | ||||
Description: |
I'm enclosing a project that crashes on play. Load the default scene that has a camera, light and nothing else. It's a vanilla Unity project. The short of it is that there is a fatal Unity crash if the Noesis DLL is included but no Noesis view component is instantiated within the hierarchy, and play is pressed. Unity 2019.2.11.f1 |
||||
Tags: | |||||
Steps To Reproduce: | Reproduction project included w/ log. Crash .dmp not generated, apparently. Resolution is to add a NoesisView component before hittting play. | ||||
Additional Information: | |||||
Attached Files: |
Editor.log (63,648 bytes) 2019-11-30 21:43 https://www.noesisengine.com/bugs/file_download.php?file_id=1129&type=bug |
||||
Notes | |
(0006024)
stonstad 2019-11-30 21:44 (Last edited: 2019-11-30 21:46) |
Encl. NoesisBugs.zip. Unity project for reproduction. http://stellarconquest.blob.core.windows.net/$root/Noesis%20Bugs1.zip |
(0006026)
sfernandez 2019-12-02 17:12 (Last edited: 2019-12-02 17:45) |
Hi, I'm not able to reproduce the crashes with the attached project. I can play the empty scene several times just fine, reimport the included xaml and play the scene again... everything seems fine. In the attached Editor.log I see a lot of errors coming from Unity itself: Assertion failed on expression: 'SUCCEEDED(hr)' (Filename: C:\buildslave\unity\build\Runtime/GfxDevice/d3d11/D3D11Window.cpp Line: 186) d3d11: failed to create 2D texture id=629 width=83 height=17 mips=7 dxgifmt=28 [D3D error was 887a0005] (Filename: C:\buildslave\unity\build\Runtime/GfxDevice/d3d11/TexturesD3D11.cpp Line: 496) d3d11: failed to create 2D texture shader resource view id=629 [D3D error was 80070057] (Filename: C:\buildslave\unity\build\Runtime/GfxDevice/d3d11/TexturesD3D11.cpp Line: 460) d3d11: failed to create buffer (target 0x1 mode 0 size 96) [0x887A0005] d3d11: failed to create buffer (target 0x2 mode 0 size 12) [0x887A0005] d3d11: failed to create 2D texture id=631 width=4 height=4 mips=1 dxgifmt=28 [D3D error was 887a0005] (Filename: C:\buildslave\unity\build\Runtime/GfxDevice/d3d11/TexturesD3D11.cpp Line: 496) ... d3d11: failed to create buffer (target 0x1 mode 4 size 147456) [0x887A0005] d3d11: failed to create buffer (target 0x2 mode 4 size 16384) [0x887A0005] d3d11: attempt to lock null buffer Crash!!! I don't think this has anything to do with Noesis, aren't you able to reproduce this without Noesis package being part of the project? |
(0006028)
stonstad 2019-12-02 17:38 |
I can't reproduce it at all today. I opened the same test project and what caused a repeatable error before now doesn't. Sorry sfernandez. I agree -- it must be Unity. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1603 | [NoesisGUI] Unity3D | crash | always | 2019-12-17 15:57 | 2019-12-31 00:20 |
Reporter: | stonstad | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.5 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.6 | ||
Target Version: | 2.2.6 | ||||
Platform: | Any | ||||
Summary: | Bad XAML Causes Crash on Unity Editor Start | ||||
Description: |
Referencing an unknown variable in XAML multitriggers causes crash on Assembly reload and editor start. encl. stack dump, and log Stack Trace of Crashed Thread 22560: 0x00007FFB02367EB6 (Noesis) DispatcherObject_GetStaticType 0x00007FFB02365BB4 (Noesis) DependencyObject_GetStaticType 0x00007FFB023665B0 (Noesis) DependencyObject_GetStaticType 0x00007FFB02375EF2 (Noesis) TriggerBase_GetStaticType 0x00007FFB0242DBA8 (Noesis) MultiTrigger_GetStaticType 0x00007FFB02481E72 (Noesis) TemplateBindingExpression_GetStaticType ... |
||||
Tags: | |||||
Steps To Reproduce: |
Bad XAML. PART_Grid does not exist. <ControlTemplate x:Key="StandardButtonTemplate" TargetType="Button"> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="35"/> <ColumnDefinition Width="*"/> <ColumnDefinition Width="35"/> </Grid.ColumnDefinitions> <Grid.RowDefinitions> <RowDefinition Height="70"/> </Grid.RowDefinitions> <Rectangle x:Name="PART_Image_L" Grid.Column="0" Fill="{StaticResource buttonup_l}"/> <Rectangle x:Name="PART_Image_M" Grid.Column="1" Fill="{StaticResource buttonup_m}"/> <Rectangle x:Name="PART_Image_R" Grid.Column="2" Fill="{StaticResource buttonup_r}"/> <ContentPresenter x:Name="PART_ContentPresenter" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="{DynamicResource _ContentPresenterMargin}" Opacity="1" RenderTransformOrigin="0.5, 0.5"/> </Grid> <ControlTemplate.Triggers> <MultiTrigger> <MultiTrigger.Conditions> <Condition Property="IsMouseOver" Value="False"/> <Condition Property="IsFocused" Value="False"/> <Condition Property="IsPressed" Value="False"/> </MultiTrigger.Conditions> <MultiTrigger.Setters> <Setter TargetName="PART_Image_L" Property="Fill" Value="{StaticResource buttonup_l}"/> <Setter TargetName="PART_Image_M" Property="Fill" Value="{StaticResource buttonup_m}"/> <Setter TargetName="PART_Image_R" Property="Fill" Value="{StaticResource buttonup_r}"/> <Setter TargetName="PART_ContentPresenter" Property="Opacity" Value="0.75"/> <Setter TargetName="PART_Grid" Property="Background" Value="Red"/> </MultiTrigger.Setters> </MultiTrigger> ... Not a blocker or issue for us. |
||||
Additional Information: | |||||
Attached Files: |
Crashes.zip (533,822 bytes) 2019-12-17 15:57 https://www.noesisengine.com/bugs/file_download.php?file_id=1137&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1607 | [NoesisGUI] Unity3D | crash | always | 2019-12-27 03:12 | 2019-12-30 12:31 |
Reporter: | nokola | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.5 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.6 | ||
Target Version: | 2.2.6 | ||||
Platform: | Any | ||||
Summary: | ArgumentException when assigning Image.Source = new TextureSource(texture) more than once | ||||
Description: |
[Exception] ArgumentException: An item with the same key has already been added. Key: 553260848 System.Collections.Generic.Dictionary`2[TKey,TValue].TryInsert() <7ba07f088431485bb722f3b3373e87ee>:0 System.Collections.Generic.Dictionary`2[TKey,TValue].Add() <7ba07f088431485bb722f3b3373e87ee>:0 Texture.WrapTexture() Assets/NoesisGUI/Plugins/NoesisTexture.cs:21 19: Noesis.Texture tex = new Noesis.Texture(texturePtr, true); -->21: Textures.Add(texturePtr.ToInt64(), texture); *************************************** ISSUE HERE 23: return tex; Noesis.TextureSource..ctor() Assets/NoesisGUI/Plugins/NoesisTextureSource.cs:12 10: } -->12: public TextureSource(UnityEngine.Texture2D texture): this(Texture.WrapTexture(texture, 13: EnsureNativePointer(texture), texture.width, texture.height, texture.mipmapCount)) 14: { ReverseSelectControl.SetEffectImage() Assets/XAMLs/FantasiaPhone/UnityShared/ReverseSelectControl.xaml.cs:261 259: _effectThumbnail.Release(); 260: _effectThumbnail = CreateThumbnailFromBitmap(effectFullSize, _origThumbnail.Width, _origThumbnail.Height); -->261: img100.Source = new TextureSource(_effectThumbnail.Bitmap); 263: UpdateViewExceptReverseMask(); EffectPage.UpdateMaskControlEffectIfNeeded() Assets/XAMLs/FantasiaPhone/UnityShared/EffectPage.xaml.cs:2410 2408: if (_isShowingActions) 2409: { -->2410: _maskControl.SetEffectImage(_updated); 2411: } 2412: } EffectPage+<WorkerCoroutine>d__32.MoveNext() Assets/XAMLs/FantasiaPhone/UnityShared/EffectPage.xaml.cs:436 434: { 435: tipControl.HideTip(); -->436: UpdateMaskControlEffectIfNeeded(); 437: progress.Visibility = Visibility.Collapsed; 438: imageFrame.Display.HideProgress(); SetupCoroutine.InvokeMoveNext() C:/buildslave/unity/build/Runtime/Export/Coroutines.cs:17 |
||||
Tags: | |||||
Steps To Reproduce: |
1. Create <Image Name="img100" .../> in XAML and assign texture source in code more than once: img100.Source = new TextureSource(_effectThumbnail.Bitmap); Expected: all OK Actual: exception above |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1608 | [NoesisGUI] Unity3D | minor | have not tried | 2019-12-28 14:35 | 2019-12-30 12:22 |
Reporter: | Gwynneth | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Windows | ||||
Summary: | StringFormat produces different symbols when using [, ] or | in the binding of a default ComboBox. | ||||
Description: | StringFormat produces different symbols when using [, ] or | in a binding for the default ComboBox. Using a custom ComboBox does not have this problem. | ||||
Tags: | |||||
Steps To Reproduce: |
Use an ItemTemplate like the following with the default ComboBox: <ComboBox.ItemTemplate> <DataTemplate"> <TextBlock Text="{Binding Name, StringFormat='{}[Tag] |{0}| [Tag]'}" /> </DataTemplate> </ComboBox.ItemTemplate> The brackets will show as arrows and the pipe symbols will be double pipe symbols. |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0006048)
sfernandez 2019-12-30 10:21 (Last edited: 2019-12-30 10:22) |
Those are the glyphs in our default font, you will see the same using them in a plain TextBlock:<TextBlock Text="[Tag] | something | [Tag]"/> But if you set a different FontFamily like Arial the result should be fine: <TextBlock Text="[Tag] | something | [Tag]" FontFamily="Arial"/> |
(0006049)
Gwynneth 2019-12-30 11:07 |
That explains why it works with my custom controls. Is there a reason though why Noesis uses different glyphs in its font? Now that I know this it is easy to work around, but I reckon it could be confusing for more people. Especially since it is not documented as far as I know? Anyways, I'll leave it up to you to decide whether or not you'd like to make any changes or mark this as resolved. Now that I know the cause of this previously unknown behavior I can rest easy. |
(0006050)
sfernandez 2019-12-30 12:06 |
We are using ModeNine (https://www.dafont.com/modenine.font) as our default font. We decided for that font because it is monospaced (good for showing debug stats) and it is a very small file (small memory footprint) as it gets embedded in our native library. |
(0006052)
jsantos 2019-12-30 12:22 |
This is changing in 3.0 by the way, we are no longer going to embed that font by default. Thanks for your feedback |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1347 | [NoesisGUI] Unity3D | minor | always | 2018-11-21 13:20 | 2019-12-30 12:20 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.1.0f1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.6 | ||
Target Version: | 2.2.6 | ||||
Platform: | Any | ||||
Summary: | Unity bug when scrolling on touchpad | ||||
Description: | https://www.noesisengine.com/forums/viewtopic.php?f=3&t=941&p=5128 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1587 | [NoesisGUI] Unity3D | minor | always | 2019-11-24 14:47 | 2019-12-30 12:19 |
Reporter: | stonstad | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.5 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.6 | ||
Target Version: | 2.2.6 | ||||
Platform: | Any | ||||
Summary: | NoesisView Garbage Generation Scenario | ||||
Description: |
I tracked down the source of a 8 kb per frame garbage allocation to NoesisView.cs. It turns out the cause is something one could argue is developer error, but it is *definitely* a pitfall that should be avoided. These empty try/catches in Update() are dangerous to the extreme for GC allocations and they can be avoided: try { if (Input.GetAxis("Noesis_Vertical") > 0.5f) gamepadButtons |= GamepadButtons.Up; } catch (Exception) {} try { if (Input.GetAxis("Noesis_Vertical") < -0.5f) gamepadButtons |= GamepadButtons.Down; } catch (Exception) {} try { if (Input.GetAxis("Noesis_Horizontal") > 0.5f) gamepadButtons |= GamepadButtons.Right; } catch (Exception) {} try { if (Input.GetAxis("Noesis_Horizontal") < -0.5f) gamepadButtons |= GamepadButtons.Left; } catch (Exception) {} try { if (Input.GetButton("Noesis_Accept")) gamepadButtons |= GamepadButtons.Accept; } catch (Exception) {} try { if (Input.GetButton("Noesis_Cancel")) gamepadButtons |= GamepadButtons.Cancel; } catch (Exception) {} try { if (Input.GetButton("Noesis_Menu")) gamepadButtons |= GamepadButtons.Menu; } catch (Exception) {} try { if (Input.GetButton("Noesis_View")) gamepadButtons |= GamepadButtons.View; } catch (Exception) {} try { if (Input.GetButton("Noesis_PageLeft")) gamepadButtons |= GamepadButtons.PageLeft; } catch (Exception) {} try { if (Input.GetButton("Noesis_PageRight")) gamepadButtons |= GamepadButtons.PageRight; } catch (Exception) {} try { if (Input.GetAxis("Noesis_PageUp") > 0.5f) gamepadButtons |= GamepadButtons.PageUp; } catch (Exception) {} try { if (Input.GetAxis("Noesis_PageDown") > 0.5f) gamepadButtons |= GamepadButtons.PageDown; } catch (Exception) {} try { float v = Input.GetAxisRaw("Noesis_Scroll"); if (Math.Abs(v) > 0.05f) _uiView.Scroll(v); } catch (Exception) {} try { float v = Input.GetAxisRaw("Noesis_HScroll"); if (Math.Abs(v) > 0.05f) _uiView.HScroll(v); } catch (Exception) {} A developer may choose to remove any one of these input labels for any number of reasons and Noesis will silently allocate multiple KB of garbage for each frame rendered. These thrown exceptions are caught silently. Since Unity does NOT report exceptions while a debugger is attached it is highly likely a developer will never know this is happening. The best case scenario is that they will just think, "Noesis creates garbage," when it usually doesn't. As a proposed solution, NoesisView could check for the existence of these inputs on Awake() and then disable reading them in Update() if they were not previously defined. This design completely eliminates the need for try/catches in the Update loop and prevents possible GC allocation. This has the added benefit of allowing developers to eliminate Noesis inputs as they may find necessary to accommodate gameplay controls. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
GC Allocations.PNG (13,372 bytes) 2019-11-24 14:47 https://www.noesisengine.com/bugs/file_download.php?file_id=1127&type=bug NoesisView.cs (44,122 bytes) 2019-12-30 12:19 https://www.noesisengine.com/bugs/file_download.php?file_id=1141&type=bug |
||||
Notes | |
(0006006)
stonstad 2019-11-24 14:53 |
NoesisView.UpdateMouse() also has an empty/try catch that is capable of allocating garbage. Easily avoided by checking for existence of input on Awake(). Or at minimum just throw an exception so we are defensive here and developers won't be unaware that per frame garbage is being allocated. |
(0006009)
jsantos 2019-11-25 18:11 |
We are aware of this, and that's the reason we added a checkbox in the View to disable input from gamepads. But, you are totally right, it is better to detect each mapping on Awake() and then use that information in every frame. Thanks for this ticket! |
(0006010)
stonstad 2019-11-25 23:50 |
If you'd like a PR I'd be happy to share. I'm thinking Hashset<string> would have negligible impact... |
(0006011)
jsantos 2019-11-26 13:56 |
I think I prefer a bunch of booleans but I am not sure. Thanks for the offer. I will write again here whenever I start working on it. |
(0006037)
stonstad 2019-12-16 18:11 |
One of the gotchas to any design that minimizes the exception throwing invocations -- is that at some point in the future a controller may be connected. The validation logic would need to rerun to allow the connected controller to function. I can't speak for other developers, but it would be easy for me to call a Refresh method on a view to rescan for valid inputs once the game detects a controller. You could also check for controller connected events -- but my experience is that those workflows are historically buggy in Unity, and it may be easier to offload that to the developer. |
(0006038)
jsantos 2019-12-16 18:21 |
Even if the controller is not connected, Input.GetButton() shouldn't throw an exception because as far as I understand the exception is raised when the mapping is not in the list. So the check done at init time should be valid forever, am I right? |
(0006039)
stonstad 2019-12-16 18:48 |
Oy, you're right! |
(0006051)
jsantos 2019-12-30 12:19 |
Fixed in the imminent 2.2.6. I have attached the new NoesisView.cs |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1610 | [NoesisGUI] Unity3D | major | have not tried | 2019-12-28 14:58 | 2019-12-28 14:58 |
Reporter: | Gwynneth | Platform: | |||
Assigned To: | OS: | ||||
Priority: | normal | OS Version: | |||
Status: | new | Product Version: | 2.2.5 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Windows | ||||
Summary: | Type casting in a binding does not work | ||||
Description: | When using type casting in a binding the binding fails which will get logged by Noesis as an error (with Log Verbosity set to Binding). Noesis will also warn about not being able to find the bound property on the cast object. | ||||
Tags: | |||||
Steps To Reproduce: |
Create a binding in which an object is cast to a specific type to access its properties. Generically this is done as follows: Path=Obj1.(ns1:TypeObj1.Obj2).(ns2:TypeObj2.Obj3)...(nsN:TypeObjN.BindedProp) Specifically, I created a data template and used the binding below on a custom TextBlock. The binding will not work and Noesis will complain about OverviewViewModel not containing the property 'TextSettings'. TextSettings="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type ComboBox}}, Path=DataContext.(viewModels:OverviewViewModel.TextSettings).ActiveSettings}" When exposing the viewmodel differently in a typed manner (in this case OverviewView.ViewModel is of type OverviewViewModel), the binding works: TextSettings="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type OverviewView}}, Path=Viewmodel.TextSettings.ActiveSettings}" |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1609 | [NoesisGUI] Unity3D | minor | have not tried | 2019-12-28 14:45 | 2019-12-28 14:46 |
Reporter: | Gwynneth | Platform: | |||
Assigned To: | OS: | ||||
Priority: | normal | OS Version: | |||
Status: | new | Product Version: | 2.2.5 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Windows | ||||
Summary: | Use of an interface as DataType in a DataTemplate logs unknown type error messages | ||||
Description: | Use of an interface as DataType in a DataTemplate logs unknown type error messages | ||||
Tags: | |||||
Steps To Reproduce: |
Create a data template making use of something similar to the following syntax: <DataTemplate x:Key="DataTemplate.ComboBox.Item.Profile" DataType="{x:Type interfaces:IProfile}"> The data template will work but Noesis will show the following error message: Unknown type 'interfaces:IProfile'. Unable to set DataTemplate.DataType. Setting the DataType to an actual implementation of the interface works without error messages. |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1606 | [NoesisGUI] Unity3D | feature | always | 2019-12-21 10:24 | 2019-12-21 10:25 |
Reporter: | chrisjbampton | Platform: | |||
Assigned To: | OS: | ||||
Priority: | normal | OS Version: | |||
Status: | new | Product Version: | 2.2.5 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | GridViewColumn BindingExpressionBase | ||||
Description: |
The GridViewColumn class is missing a (BindingExpressionBase) DisplayMemberPathProperty. This means you cannot directly create bindings in C# to GridViewColumns. More details here: https://www.noesisengine.com/forums/viewtopic.php?f=3&t=1868 |
||||
Tags: | |||||
Steps To Reproduce: |
Steps to reproduce here: https://www.noesisengine.com/forums/viewtopic.php?f=3&t=1868 |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1600 | [NoesisGUI] C++ SDK | crash | always | 2019-12-12 20:37 | 2019-12-20 17:40 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.5 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.6 | ||
Target Version: | 2.2.6 | ||||
Platform: | Any | ||||
Summary: | Layout freeze | ||||
Description: |
The following xaml freezes NoesisGUI during layout loop because of continuous changes to the over element:<Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity" xmlns:ei="http://schemas.microsoft.com/expression/2010/interactions"> <Button Background="Red" BorderThickness="0" HorizontalAlignment="Center" VerticalAlignment="Center" Padding="0"> <Border> <TextBlock x:Name="ShortcutName" Background="Black" Text="Ctrl+Z" Visibility="Visible" /> </Border> <i:Interaction.Triggers> <i:EventTrigger EventName="MouseEnter"> <ei:ChangePropertyAction PropertyName="Visibility" TargetName="ShortcutName" Value="Collapsed" /> </i:EventTrigger> <i:EventTrigger EventName="MouseLeave"> <ei:ChangePropertyAction PropertyName="Visibility" TargetName="ShortcutName" Value="Visible" /> </i:EventTrigger> </i:Interaction.Triggers> </Button> </Grid> |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1599 | [NoesisGUI] Unity3D | major | always | 2019-12-12 14:09 | 2019-12-20 17:40 |
Reporter: | stonstad | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.5 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.6 | ||
Target Version: | 2.2.6 | ||||
Platform: | Any | ||||
Summary: | Unity Hard Loop/Lock on Visual Tree Update | ||||
Description: |
Updated: -- User Error, Please Ignore I don't know how to provide the telemetry you need for this one -- your guidance/help on getting you what you need is requested. I have a UI that causes Unity to hard lock (loop?) with high processor utilization. Breakpoints don't fire and I am forced to terminate Unity. A freeze occurs after the UI is initialized and a subsequent change is made. Sometimes the UI disappears, but most of the time it is a lock. The visual tree is as follows: Grid Grid Grid ViewBox Grid (which forces a specific size based on user's preferred UI 'size') Grid Grid Grid HeaderedContentControl Grid StackPanel ScrollViewer WrapPanel UserControl w/ LayoutTransform & ScaleTransform Grid Image 1 Image 2 Text 1 StackPanel Image 1 Image N Grid (Focused 9-Slice Grid w/ Image) Grid (Unfocused 9-Slice Grid w/ Image) Grid (Over 9-Slice Grid w/ Image) Grid (Down 9-Slice Grid w/ Image) There are 75+ UserControl instances in that wrap panel. I found that if the focused grid had negative margin (so that it extends outside of its parent) I get a hard lock every time the scrollviewer hits 0. Clearing the wrap panel can also cause a hard lock. This could be Unity, it could be me. I'm not aware of anything I am doing to cause a layout cycle, but hey, I've done incorrect things before. What kind of information can I provide to help us diagnose if this is a Noesis thing? Encl. screenshots of UI and unresponsive process. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
Skills.PNG (3,131,612 bytes) 2019-12-12 14:09 https://www.noesisengine.com/bugs/file_download.php?file_id=1132&type=bug Skills2.PNG (19,320 bytes) 2019-12-12 14:09 https://www.noesisengine.com/bugs/file_download.php?file_id=1133&type=bug |
||||
Notes | |
(0006034)
stonstad 2019-12-12 14:23 |
I found the code that causes the hard lock. Commenting it out resolves the behavior. The UserControl cited above has this logic: Button.MouseEnter += (sender2, e2) => { if (Button.IsFocused) _FocusedLayer.Visibility = Visibility.Visible; else _OverLayer.Visibility = Visibility.Visible; }; Changing what is visible inside the button is most likely firing a layout event which in turn is firing a MouseEnter/MouseLeave event, and it loops indefinitely. I am going to try to resolve this with different logic. If you think this is actually a bug to investigate let me know, otherwise I'll reply back once I have my offending logic eliminated. |
(0006035)
stonstad 2019-12-12 14:33 |
Setting IsHitTestVisible to false for UIElements which change on MouseOver resolves the behavior. Seems very much like user error on my part. Please do feel free to close this unless you feel further investigation is warranted. |
(0006036)
sfernandez 2019-12-16 12:46 |
I think this is in fact a bug in Noesis because we shouldn't freeze in an infinite loop no matter what layout and triggers you decide to use. We should be able to detect those scenarios and break the layout loop. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1604 | [NoesisGUI] Unity3D | major | always | 2019-12-17 16:48 | 2019-12-19 17:53 |
Reporter: | stonstad | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.5 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.6 | ||
Target Version: | 2.2.6 | ||||
Platform: | Any | ||||
Summary: | Keyboard/Joystick Selection Fails If Intermediary UI Element Collapsed | ||||
Description: |
Given N focusable controls, if a control with index > 1 and < N is collapsed, keyboard and gamepad focus cannot move beyond the collapsed element. Tab selection works but keyboard (and gamepad) selection does not work. In the attached video, the following is shown: 1. All buttons are displayed. Gamepad selection and focus may traverse all visible buttons. 2. Buttons are collapsed in the middle of the container. 3. Selection may not proceed beyond the element preceding the collapsed buttons. 4. However, tab focus and selection still works. Video: http://stellarconquest.blob.core.windows.net/$root/Selection%20Bug.mp4 Encl. Identity Selection Control.xaml We are submitting this as major because it is currently a release blocker for the XBOX platform and SC Alpha 2 release. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
IdentitySelectionControl.cs (22,813 bytes) 2019-12-17 16:48 https://www.noesisengine.com/bugs/file_download.php?file_id=1138&type=bug IdentitySelectionControl.xaml (34,626 bytes) 2019-12-17 16:48 https://www.noesisengine.com/bugs/file_download.php?file_id=1139&type=bug |
||||
Notes | |
(0006043)
stonstad 2019-12-18 20:35 |
To clarify, I see this with containers having both collapsed and disabled user controls. Please let us know if you need anything at all to better test/recreate/resolve this behavior. |
(0006044)
sfernandez 2019-12-19 12:20 (Last edited: 2019-12-19 12:22) |
I'm investigating the issue, and so far with basic examples like a stackpanel with buttons and even your xaml after commenting your BorderControl and RenderControl, if I hide elements in the xaml, gamepad navigation works as expected. I will try to change the visibility in runtime from code like you do to see if that is the problem. |
(0006045)
sfernandez 2019-12-19 12:38 |
I've been able to reproduce it by changing visibility in code. I'll let you know what I found. |
(0006046)
stonstad 2019-12-19 16:32 |
Thank goodness, thank you sir! |
(0006047)
sfernandez 2019-12-19 17:53 |
The problem was that directional navigation was not correctly discarding element sub-trees that were hidden/disabled, it was only checking the Visibility/IsEnabled on the individual controls. Until we release the version (that should be very soon) you can workaround the bug by Collapsing the Buttons not the parent container. Sorry for the inconvenience. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1602 | [NoesisGUI] Unity3D | minor | always | 2019-12-16 12:24 | 2019-12-18 13:36 |
Reporter: | Gwynneth | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.5 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.6 | ||
Target Version: | 2.2.6 | ||||
Platform: | Windows | ||||
Summary: | Separator does not render | ||||
Description: | Using the Separator control in XAML does not render the control in Unity. In WPF it does render. Setting different properties on the Separator control does not seem to have any effect. | ||||
Tags: | Separator | ||||
Steps To Reproduce: | Create a project, add a UserControl with a Separator defined in it. See attached screenshots and sample project. | ||||
Additional Information: | |||||
Attached Files: |
Unity-Separator.png (34,074 bytes) 2019-12-16 12:24 https://www.noesisengine.com/bugs/file_download.php?file_id=1134&type=bug WPF-Separator.png (13,826 bytes) 2019-12-16 12:24 https://www.noesisengine.com/bugs/file_download.php?file_id=1135&type=bug Separator-XAML-code.png (44,546 bytes) 2019-12-16 12:24 https://www.noesisengine.com/bugs/file_download.php?file_id=1136&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1605 | [NoesisGUI] C# SDK | minor | N/A | 2019-12-17 17:14 | 2019-12-17 17:18 |
Reporter: | stonstad | Platform: | |||
Assigned To: | OS: | ||||
Priority: | normal | OS Version: | |||
Status: | new | Product Version: | 2.2.5 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Add RemoveStoryboard for WPF/XAML Parity | ||||
Description: |
Noesis does not support RemoveStoryboard: https://docs.microsoft.com/en-us/dotnet/api/system.windows.media.animation.removestoryboard?view=netframework-4.8 RemoveStoryboard is commonly used in control template triggers, as shown below: <MultiTrigger> <MultiTrigger.Conditions> <Condition Property="IsMouseOver" Value="False"/> <Condition Property="IsFocused" Value="True"/> <Condition Property="IsPressed" Value="False"/> </MultiTrigger.Conditions> <MultiTrigger.Setters> <Setter TargetName="PART_Image" Property="Source" Value="{DynamicResource _FocusedImage}"/> <Setter TargetName="PART_Image" Property="Opacity" Value="1"/> </MultiTrigger.Setters> <MultiTrigger.EnterActions> <BeginStoryboard x:Name="PART_Focus_Storyboard"> <Storyboard> <DoubleAnimation Storyboard.TargetName="PART_Image" Storyboard.TargetProperty="(Rectangle.Opacity)" From="0.5" To="1.0" Duration="0:0:0.5" RepeatBehavior="Forever" AutoReverse="True"/> </Storyboard> </BeginStoryboard> </MultiTrigger.EnterActions> <MultiTrigger.ExitActions> <RemoveStoryboard BeginStoryboardName="PART_Focus_Storyboard"/> </MultiTrigger.ExitActions> </MultiTrigger> Please correct me if I am wrong -- without RemoveStoryboard there is no mechanism to end an animation on trigger exit. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
error message.PNG (28,979 bytes) 2019-12-17 17:15 https://www.noesisengine.com/bugs/file_download.php?file_id=1140&type=bug |
||||
Notes | |
(0006040)
stonstad 2019-12-17 17:18 |
Please consider this a candidate for removal. StopStoryboard works great as an alternative. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1598 | [NoesisGUI] C++ SDK | feature | N/A | 2019-12-12 00:55 | 2019-12-12 00:58 |
Reporter: | jsantos | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 2.2.5 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Increase performance by rendering primitives front to back | ||||
Description: |
We experimented with this in NoesisGUI 2.1, using the zBuffer to discard non-visible pixels but we didn't find a good way to make this faster in all scenarios. The fact that our PPAA algorithm is using alpha-blending is not helping. Also increasing the size of dynamic geometry to include a fake z coordinate in every vertex was making performance worse. The alternative was disabling our batching algorithm, but this is not definitely a good idea in older APIs like D3D11 or OpenGL (probably good on Vulkan or D3D12). We need to investigate this more. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1597 | [NoesisGUI] C++ SDK | minor | always | 2019-12-09 19:27 | 2019-12-09 19:28 |
Reporter: | jsantos | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.5 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.6 | ||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Warning in GLRenderContext.mm.cpp | ||||
Description: | NoesisApp.lib is not building in Debug because there are two warnings in GLRenderContext.mm.cpp | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0006033)
jsantos 2019-12-09 19:28 |
Fixed in 2.2.6Index: GLRenderContext.mm.cpp =================================================================== --- GLRenderContext.mm.cpp (revision 8517) +++ GLRenderContext.mm.cpp (working copy) @@ -510,7 +510,9 @@ flags |= WGL_CONTEXT_DEBUG_BIT_ARB; #endif - bool createContextNoError = strstr(extensions, "WGL_ARB_create_context_no_error") != 0; + #ifndef NS_DEBUG + bool createContextNoError = strstr(extensions, "WGL_ARB_create_context_no_error") != 0; + #endif for (int i = 0; i < NS_COUNTOF(versions) && mContext == 0; i++) { @@ -833,7 +835,9 @@ flags |= GLX_CONTEXT_DEBUG_BIT_ARB; #endif - bool createContextNoError = strstr(extensions, "GLX_ARB_create_context_no_error") != 0; + #ifndef NS_DEBUG + bool createContextNoError = strstr(extensions, "GLX_ARB_create_context_no_error") != 0; + #endif for (uint32_t i = 0; i < NS_COUNTOF(versions) && context == 0; i++) { |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1588 | [NoesisGUI] Unity3D | minor | always | 2019-11-24 20:59 | 2019-12-05 20:00 |
Reporter: | stonstad | Platform: | |||
Assigned To: | OS: | ||||
Priority: | normal | OS Version: | |||
Status: | new | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | MouseEnter Events Fire When NoesisView.MouseEnabled Disabled | ||||
Description: |
I have UI elements which are visible while the cursor is locked and hidden. To prevent UI events from firing I am setting NoesisView.EnableMouse = false. I am finding that the invisible cursor still interacts with these visible UI elements via MouseEnter event. They occur even when NoesisView.EnableMouse is false. Here is the strange thing -- it happens only if EnableMouse is set via code. If I change this boolean property via the NoesisView.cs Editor UI, events do not fire, as expected. I looked at NoesisView.cs and I don't even know how this is possible. I put debug statements in NoesisView -- private void UpdateInputs() { if (_enableMouse) { Debug.Log(name + " " + "Mouse Enabled"); UpdateMouse(); } I can confirm that with API calls and the checkbox via the editor, this setting flips properly. However, while I can see that the setting is NOT checked and I get NO debug output from the above, MouseEnter events STILL fire. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0006007)
stonstad 2019-11-24 21:00 (Last edited: 2019-11-24 21:00) |
Also disabled touch and gamepad input at the same time as mouse -- and if flipped via code, I can confirm no change in behavior -- still seeing MouseEnter events fire. |
(0006032)
stonstad 2019-12-05 20:00 |
This behavior does not reproduce in a separate project that is designed to just show the error. I'll report back after I find success reproducing it in a separate project. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1594 | [NoesisGUI] C++ SDK | crash | always | 2019-12-05 14:20 | 2019-12-05 18:32 |
Reporter: | Joren | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.5 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.6 | ||
Target Version: | 2.2.6 | ||||
Platform: | Any | ||||
Summary: | Crash with InlineUIContainer inside a style | ||||
Description: |
As posted on the forums, together with a repro. https://www.noesisengine.com/forums/viewtopic.php?f=3&t=1866 |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1465 | [NoesisGUI] C++ SDK | feature | have not tried | 2019-05-11 18:57 | 2019-11-26 19:53 |
Reporter: | mingingmingler | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Allow 3D world-view-projection transforms in MVVM, independent of screen space for high performance spatial UI | ||||
Description: |
Hi, I've been dabbling with spatial UI in Noesis. I have a need to render many spatial elements at the same time, each with their own storyboards. I first started doing it the render texture method. The performance of doing this isn't good, and the visual quality can suffer when the camera gets close to the element. So it's not desirable. I decided it'd be far better to render the geometry directly into the world. So I tried something else - each spatial element now has its own view, and manages its own world view projection matrix. Before I tell Noesis to render each spatial view, I tell the grpahics device that I'm about to render a spatial element, and I pass it the element's world view projection. Now, when Noesis sets the buffers for this view, I override batch.projMtx directly with the new matrix. The result is I get wonderful graphics quality, and the performance is better than using tons of render textures. But it's still not as good as it could be. Because each view is rendered separately, it doesn't take advantage of batching across all the views, and performance can suffer when each element has text in it. I can't achieve what I want with the Noesis Projection attached property. Try as I might, I just can't work around the way Noesis handles a Matrix3DProjection behind the scenes. So I believe the best solution would be, for example, to have a single Noesis scene/view, which has an ItemsControl bound to a collection of SpatialElement view models, which contain their own world-view-projection matrices. Then in the DataTemplate, we can assign this matrix to the root element, where Noesis would render the element (applying the transform directly to the vertices?) while ignoring any screen space projection that is applied behind the scenes. To be able to do this via MVVM would be incredibly powerful. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0005675)
jsantos 2019-05-14 20:56 |
you nailed this. We are working on this feature for the next major version. We are going to deprecate the current implementation of the Projection property in favor of having real 3D. |
(0005677)
mingingmingler 2019-05-15 01:09 |
That's exciting, thanks for getting back to me! |
(0005678)
realesmedia 2019-05-15 14:32 |
Hi in version 2.3 there will be support for 3D primitives (mesh, line ...)? I want to implement 3D Gizmo (manipulators) on Noesis))) |
(0005679)
jsantos 2019-05-15 22:01 |
We are working in a feature to inject 3D geometries inside a XAML. For example, to have a button that is a 3D-mesh. But the render must be done by the engine (Unity, Unreal, custom). That's something Noesis won't do, apart from calling a callback at the right time. |
(0005682)
realesmedia 2019-05-16 14:26 |
ok thank |
(0006012)
jsantos 2019-11-26 19:51 (Last edited: 2019-11-26 19:53) |
Many internal changes are coming in the next major version about this. Externally, the API has been improved to support setting a projection matrix to the view. /// Sets the projection matrix that transforms the coordinates of each primitive to a /// non-normalized homogeneous space where (0, 0) is at the lower-left corner and /// (width, height) is at the upper-right cornet after projection virtual void SetProjectionMatrix(const Matrix4& projection) = 0; Also we added, this overload to IRenderer to allow rendering each eye in VR /// Renders UI into the current render target and viewport. This function overrides the default /// view projection matrix. Can be used for example to render each eye in VR virtual void Render(const Matrix4& projection, bool flipY = false) = 0; Each view, by default, is initialized to a perspective transform that behaves like the identity (like Noesis 2.2) at the near plane but includes perspective when elements are rotated in 3D using the new Transform3D property <Rectangle> <Rectangle.Transform3D> <CompositeTransform3D RotateY="45"/> </Rectangle.Transform3D> </Rectangle> <Rectangle> <Rectangle.Transform3D> <MatrixTransform3D Matrix="{Binding NodeMatrix}"/> </Rectangle.Transform3D> </Rectangle> We also added support to rotate in XamlPlayer with ALT + right button drag. We are preparing a document explaining all this. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1567 | [NoesisGUI] C# SDK | major | random | 2019-10-14 13:03 | 2019-11-25 12:02 |
Reporter: | Vince_1990 | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 2.2.5 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Windows | ||||
Summary: | Opening 2 Windows / RenderContexts in Main() crahses. | ||||
Description: |
See topic below for info and test project. https://www.noesisengine.com/forums/viewtopic.php?f=3&t=1821 |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1585 | [NoesisGUI] C++ SDK | feature | always | 2019-11-22 09:00 | 2019-11-25 08:26 |
Reporter: | staffan | Platform: | |||
Assigned To: | OS: | ||||
Priority: | normal | OS Version: | |||
Status: | new | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Inner scrollviewer captures all manipulation events | ||||
Description: | When trying to create a nested ScrollViewer, the innermost will capture all touch/manipulation events, making it impossible to Scroll the outer ScrollViewer | ||||
Tags: | |||||
Steps To Reproduce: | create a vertical stack of horizontal ScrollViewers and wrap it in a vertical ScrollViewer | ||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0006005)
jsantos 2019-11-23 16:30 |
This is also a problem for WPF right? We have plans to move away from WPF and implement manipulations like in UWP. |
(0006008)
staffan 2019-11-25 08:26 |
Yes it's also a problem in wpf |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1581 | [NoesisGUI] C++ SDK | minor | always | 2019-11-03 18:05 | 2019-11-18 15:28 |
Reporter: | firelight | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.0.0 | ||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Windows | ||||
Summary: | GLRenderDevice.cpp sscanf on MSVC | ||||
Description: |
I'm not sure what compile flags you use, but the second sscanf line in GlRenderDevice::DetectGLVersion won't compile with W4 WX. It uses _sscanf_s underneath the hood, which needs a size for characters (%c). To fix, if (sscanf(version, "OpenGL ES-%c%c %d.%d", profile, 1, profile + 1, 1, &major, &minor) Good day |
||||
Tags: | |||||
Steps To Reproduce: | Build app framework with W4 WX. | ||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0006002)
jsantos 2019-11-17 20:17 |
Thanks for reporting this. Are you compiling OpenGL ES with Visual Studio? We don't so that's the reason we observe that warning. |
(0006003)
firelight 2019-11-17 21:03 |
Using Core GL 4.4 with glad. I had to heavily massage the file to get it to render ;) BTW, if I may ask, I'm getting quite low performance with the default static demo. Your provided test renderer re-generates vbos all the time. Is that by design or simply the reason why you encourage writing your own renderer? What I mean is, do your APIs allow storing vbos (and vaos for me) so they aren't re-generated? Also the tutorial mentions this : " Greater performance can be achieved if your application implements a way to invalidate its required states. This is faster because you avoid getting the current state from the driver." Do you know what the API is to "invalidate required states". Google hasn't provided much details on this. Cheers & thx |
(0006004)
jsantos 2019-11-18 15:27 |
I am going to close this bug because that line is only being compiled for OpenGL ES in our repository and we are only using gcc or clang for that. Regarding the performance, please open a new thread at the forums to follow up the conversation. We are not regenerating the VBOs per frame, they are being updated dynamically and that should be quite fast. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1546 | [NoesisGUI] Unity3D | major | always | 2019-08-26 06:57 | 2019-11-17 18:04 |
Reporter: | bungarra | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.3 | ||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | PS4 Controller "Noesis_Accept" does not work. | ||||
Description: | clicking on a button with a PS4 controller does not register, the click event has been called but does not execute the function on the button, have tested with other controllers and it works as well as mouse and keyboard. | ||||
Tags: | C#, Unity | ||||
Steps To Reproduce: | plug in a ps4 controller and use on every example scene | ||||
Additional Information: | |||||
Attached Files: |
NoesisView.cs (44,719 bytes) 2019-08-29 02:58 https://www.noesisengine.com/bugs/file_download.php?file_id=1104&type=bug |
||||
Notes | |
(0005939)
sfernandez 2019-08-26 11:01 |
Is this happening even if you apply the workaround in https://www.noesisengine.com/bugs/view.php?id=1524#c5907? |
(0005940)
bungarra 2019-08-27 02:34 |
Yes, I have applied these workarounds, everything works fine on the Xbox controller just not the PS4 |
(0005944)
jsantos 2019-08-28 18:32 |
I tried with a PS4 controller and was able to reproduce the issue. The problem is that the axis and buttons in this controller are not compatible with the default mapping we provide with our samples, we configured the Input Manager with a Xbox controller in mind. If you want support for more controllers you need to configure them following our mapping. I am not sure what's the best way to do this, I would say the current Input implementation in Unity is quite trivial and incomplete and probably extra work is needed. This is not a bug. Ok with closing this? |
(0005946)
bungarra 2019-08-29 02:58 |
We have created a system using unity new Input system, which maps the controllers correctly, the problem is that it doesn't call the click event on any of the buttons. the Noesis_Accept doesn't call the accept button on any PS4 controller but works with Xbox, Switch and generic Logitech. I have uploaded the noesisView edited without input system. |
(0005948)
jsantos 2019-08-29 10:27 (Last edited: 2019-08-29 10:27) |
That's happening because 'Noesis_Scroll' or 'Noesis_HScroll' are still being triggered with the incorrect input in the following lines:line 692: try { float v = Input.GetAxisRaw("Noesis_Scroll"); if (Math.Abs(v) > 0.05f) _uiView.Scroll(v); } catch (Exception) {} line 693: try { float v = Input.GetAxisRaw("Noesis_HScroll"); if (Math.Abs(v) > 0.05f) _uiView.HScroll(v); } catch (Exception) {} I fixed it here, by properly adjusting all the axis for the PS4 controller. If you comment out that code, I am sure it will work for you. But I am not sure what's the right solution. Is that new Input System already stable? |
(0005949)
bungarra 2019-08-29 10:43 |
We are using 2.2.4 which has these added in, I have also attached a gif of it working with an xbox and not working with the PS4. The noesis View is still using the old system in regards to the new lines, the only thing that has changed is the Accept call, but does not deviate away from your system and still calls the accept button. |
(0005950)
jsantos 2019-08-29 10:46 |
Comment out those lines and you will see it works (it should :) ). Problem is, our default Input System settings is incorrectly mapping the axis for the PS4 Controller because it is configured for Xbox controller. Yesterday, I attached a PS4 controller, properly configured it and everything was working, |
(0005951)
bungarra 2019-08-29 10:53 |
Removing the lines fixed thank you :). |
(0005952)
jsantos 2019-08-29 10:55 |
Yes, but the right solution is not removing the lines. It is properly configuring the axis for the PS4 controller. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1584 | [NoesisGUI] C# SDK | trivial | always | 2019-11-13 11:30 | 2019-11-13 11:30 |
Reporter: | Vince_1990 | Platform: | |||
Assigned To: | OS: | ||||
Priority: | normal | OS Version: | |||
Status: | new | Product Version: | 2.2.5 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Changing WindowStyle / WindowState freezes window. | ||||
Description: | Thread Ref: https://www.noesisengine.com/forums/viewtopic.php?f=3&t=1857 | ||||
Tags: | C# | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1582 | [NoesisGUI] C++ SDK | minor | always | 2019-11-08 16:52 | 2019-11-08 16:59 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.5 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.6 | ||
Target Version: | 2.2.6 | ||||
Platform: | Any | ||||
Summary: | Changing Grid.Row/Column while measuring the Grid ignores the changes | ||||
Description: | From forum topic: https://www.noesisengine.com/forums/viewtopic.php?f=3&t=1850 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1580 | [NoesisGUI] C++ SDK | minor | N/A | 2019-11-03 17:59 | 2019-11-03 17:59 |
Reporter: | firelight | Platform: | |||
Assigned To: | OS: | ||||
Priority: | normal | OS Version: | |||
Status: | new | Product Version: | 3.0.0 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Gather NsApp and NsRender headers in single folder | ||||
Description: |
It would be nice if the headers were gathered in a single NsApp and NsRender include folder. My use-case : - external linkage with the app framework as a starting point for an integration. I understand it isn't the recommended way, and I plan to fully replace the app framework. From a new user perspective however, it is a great way to get up to speed and explore what noesis has to offer. Good day |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1574 | [NoesisGUI] C++ SDK | minor | always | 2019-10-18 17:07 | 2019-10-21 16:36 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.5 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.6 | ||
Target Version: | 2.2.6 | ||||
Platform: | Any | ||||
Summary: | Opacity groups disappear when overlap bottom screen edge | ||||
Description: |
The following xaml does not render the ellipse:<Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <Ellipse Fill="Blue" Opacity="0.5" VerticalAlignment="Bottom" Width="200" Height="300" Margin="0,0,0,-10"/> </Grid> If negative bottom margin is removed, then the ellipse renders just fine. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1565 | [NoesisGUI] Unity3D | block | always | 2019-10-12 18:06 | 2019-10-21 16:36 |
Reporter: | nokola | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.5 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.6 | ||
Target Version: | 2.2.6 | ||||
Platform: | Any | ||||
Summary: | Regression from 2.2.*: Image not visible if clipped outside of screen with opacity less than 1 | ||||
Description: |
An image in XAML isn't visible when following conditions are met: 1) its opacity is < 1 2) the parent canvas Clip height is such that canvas goes beyond screen bottom edge 3) image TranslateY is such that image's bottom edge is outside the screen See attached minimal project to reproduce |
||||
Tags: | |||||
Steps To Reproduce: |
1. Open attached project, open SampleScene 2. Run in editor -> all OK 3. In CopyPastePage.xaml, uncomment line to change canvas opacity to 0.6 (from 1): <!-- ATTENTION: to reproduce image disappearing change opacity to < 1, like 0.6 --> <!-- <Canvas IsHitTestVisible="False" Visibility="Visible" x:Name="panelClone" Opacity="0.6"> --> <Canvas IsHitTestVisible="False" Visibility="Visible" x:Name="panelClone" Opacity="0.9"> 4. Run again Expected: all OK Actual: image disappears This is a blocker for us, because we are working on a paint app and if the customer rotates their canvas to have one edge exit the screen, the whole image disappears. |
||||
Additional Information: | |||||
Attached Files: |
NoesisCanvasImageIssue.7z (2,962,764 bytes) 2019-10-12 18:06 https://www.noesisengine.com/bugs/file_download.php?file_id=1116&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1576 | [NoesisGUI] C++ SDK | minor | always | 2019-10-18 17:59 | 2019-10-18 18:25 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.5 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.6 | ||
Target Version: | 2.2.6 | ||||
Platform: | Any | ||||
Summary: | StoryboardCompletedTrigger does not work if used inside a template | ||||
Description: |
The following xaml does not execute the action specified for the StoryboardCompletedTrigger:<Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity" xmlns:ei="http://schemas.microsoft.com/expression/2010/interactions"> <Grid.Resources> <Storyboard x:Key="anim"> <ColorAnimation Storyboard.TargetName="rect" Storyboard.TargetProperty="Fill.Color" To="Green"/> </Storyboard> <ControlTemplate x:Key="controlTemplate" TargetType="Control"> <StackPanel x:Name="root" Background="Silver"> <Button Content="Start Anim"> <i:Interaction.Triggers> <i:EventTrigger EventName="Click"> <ei:ControlStoryboardAction Storyboard="{StaticResource anim}"/> </i:EventTrigger> <ei:StoryboardCompletedTrigger Storyboard="{StaticResource anim}"> <ei:ChangePropertyAction TargetName="rect" PropertyName="Height" Value="50"/> </ei:StoryboardCompletedTrigger> </i:Interaction.Triggers> </Button> <Rectangle x:Name="rect" Fill="Red" Height="20" Margin="10"/> </StackPanel> </ControlTemplate> </Grid.Resources> <Control Width="200" Height="100" Template="{StaticResource controlTemplate}"/> </Grid> |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1575 | [NoesisGUI] C++ SDK | minor | always | 2019-10-18 17:58 | 2019-10-18 18:25 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.5 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.6 | ||
Target Version: | 2.2.6 | ||||
Platform: | Any | ||||
Summary: | ControlStoryboardAction cannot use Storyboard defined in application resources | ||||
Description: | If a Storyboard was defined in Application.Resources then ControlStoryboardAction can't play it. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1573 | [NoesisGUI] C++ SDK | tweak | always | 2019-10-18 15:06 | 2019-10-18 15:06 |
Reporter: | SUMO_LWakeford | Platform: | |||
Assigned To: | OS: | ||||
Priority: | normal | OS Version: | |||
Status: | new | Product Version: | 2.2.1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Noesis::DependencyObject::InternalGetValue is expensive. | ||||
Description: |
Noesis::DependencyObject::InternalGetValue consumes quite a relatively high amount of CPU resources. It's slow because it has to recurse through many layers of indirection to recover the correct value, and it is called a lot because recalculating the layout of objects requires retrieving the values of many depencency properties. After a discussion with Sergio Fernandez and Jesús de Santos García it appears there is room to improve the performance of this function. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1562 | [NoesisGUI] Unity3D | major | always | 2019-10-04 17:23 | 2019-10-18 13:57 |
Reporter: | nokola | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 2.2.5 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Performance: Startup cost of NoesisXaml.OnEnable is 0000387:0001300 msec | ||||
Description: |
Opening this issue, to track startup performance, for sure related to https://noesisengine.com/bugs/view.php?id=1558, however I expect there may be something else too. I managed to obtain a performance trace! I'm willing to test intermediate versions if you have with fixes. Please see attached perf trace. |
||||
Tags: | |||||
Steps To Reproduce: |
Build an app with il2cpp Android. 1. Profile the cost of NoesisXaml.OnEnable() [or use my perf trace] 2. In perf trace, go to step 5 that takes 2100ms in my case 3. Change Unity view in second window from Timeline to Hierarchy, expand data. You'll see NoeisXaml.OnEnable() using 1300ms. |
||||
Additional Information: | |||||
Attached Files: |
noesis_225_profile.data (4,891,776 bytes) 2019-10-04 17:23 https://www.noesisengine.com/bugs/file_download.php?file_id=1113&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1570 | [NoesisGUI] C++ SDK | minor | have not tried | 2019-10-16 05:13 | 2019-10-17 10:17 |
Reporter: | tkawa | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.3 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.6 | ||
Target Version: | 2.2.6 | ||||
Platform: | Any | ||||
Summary: | About Style of generated TextBlocks from DisplayMemberBinding | ||||
Description: |
Follow up from https://www.noesisengine.com/forums/viewtopic.php?f=3&t=1824 A Style defined in ListView.Resource is doesn't apply to generated TextBlocks from DisplayMemberBinding. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1559 | [NoesisGUI] Unity3D | minor | always | 2019-10-03 13:27 | 2019-10-17 10:17 |
Reporter: | easylaser | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.5 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.6 | ||
Target Version: | 2.2.6 | ||||
Platform: | Any | ||||
Summary: | GridViewColumn bindings not working when inside a template | ||||
Description: | When a ListView is defined inside a ControlTemplate, the bindings specified in the GridViewColumn.Header are not working. | ||||
Tags: | |||||
Steps To Reproduce: |
<Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <Grid.Resources> <Grid x:Key="ctx"> <TextBlock Text="Offset"/> <TextBlock Text="Color"/> </Grid> <GradientStopCollection x:Key="list"> <GradientStop Offset="1" Color="Red"/> <GradientStop Offset="2" Color="Green"/> <GradientStop Offset="3" Color="Blue"/> </GradientStopCollection> <DataTemplate x:Key="cellEmpty"> <Decorator/> </DataTemplate> <Style x:Key="headerEmpty" TargetType="{x:Type GridViewColumnHeader}"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type GridViewColumnHeader}"> <Decorator/> </ControlTemplate> </Setter.Value> </Setter> </Style> <ControlTemplate x:Key="ctrlTemplate" TargetType="Control"> <Grid> <TabControl> <TabItem Header="Rect"> <Rectangle Margin="20" Fill="Salmon"/> </TabItem> <TabItem Header="List"> <ListView ItemsSource="{StaticResource list}" ScrollViewer.PanningMode="VerticalOnly"> <ListView.View> <GridView> <GridViewColumn Width="4" HeaderContainerStyle="{StaticResource headerEmpty}" CellTemplate="{StaticResource cellEmpty}"/> <GridViewColumn Header="{Binding Children[0].Text}"> <GridViewColumn.CellTemplate> <DataTemplate> <TextBlock Text="{Binding Offset}" HorizontalAlignment="Right" Margin="10,0"/> </DataTemplate> </GridViewColumn.CellTemplate> </GridViewColumn> <GridViewColumn Header="{Binding Children[1].Text}"> <GridViewColumn.CellTemplate> <DataTemplate> <TextBlock Text="{Binding Color}" HorizontalAlignment="Center" Margin="10,0"> <TextBlock.Foreground> <SolidColorBrush Color="{Binding Color}"/> </TextBlock.Foreground> </TextBlock> </DataTemplate> </GridViewColumn.CellTemplate> </GridViewColumn> </GridView> </ListView.View> </ListView> </TabItem> </TabControl> </Grid> </ControlTemplate> </Grid.Resources> <Grid x:Name="LayoutRoot" DataContext="{StaticResource ctx}"> <Control Width="400" Height="400" Template="{StaticResource ctrlTemplate}"/> </Grid> </Grid> |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1499 | [NoesisGUI] C# SDK | minor | have not tried | 2019-06-19 19:39 | 2019-10-17 10:16 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.3 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.6 | ||
Target Version: | 2.2.6 | ||||
Platform: | Any | ||||
Summary: | GridViewColumnHeader Click event not raised | ||||
Description: | https://www.noesisengine.com/forums/viewtopic.php?f=3&t=1450 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
937 | [NoesisGUI] Unity3D | minor | always | 2016-08-26 03:48 | 2019-10-17 10:16 |
Reporter: | XaeroDegreaz | Platform: | |||
Assigned To: | sfernandez | OS: | Windows | ||
Priority: | normal | OS Version: | 10 | ||
Status: | resolved | Product Version: | 1.2.6f5 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.6 | ||
Target Version: | 2.2.6 | ||||
Platform: | Any | ||||
Summary: | Click events are not registered on GridViewColumnHeader objects. | ||||
Description: |
I'm trying to latch on to the click events of GridViewColumnHeader objects for sorting data in a ListView. The click even does not fire under normal circumstances. If I set the GridViewColumnHeader.ClickMode to "Press" then it will work every 2nd mouse click. It seems to work 100% of the time with Hover. I've tried other mouse events but nothing seems to be working reliably. I read the post at http://www.noesisengine.com/forums/viewtopic.php?f=3&t=168&p=936&hilit=clickmode#p936 but it is quite dated and I'm not sure if there was a resolution or not. |
||||
Tags: | |||||
Steps To Reproduce: |
XAML: <ListView x:Name="gameList" Margin="10,10,10,482"> <ListView.View> <GridView x:Name="gridView"> <GridViewColumn DisplayMemberBinding="{Binding Host}"> <GridViewColumn.Header> <GridViewColumnHeader Tag="Host">Host</GridViewColumnHeader> </GridViewColumn.Header> </GridViewColumn> <GridViewColumn DisplayMemberBinding="{Binding GameName}"> <GridViewColumn.Header> <GridViewColumnHeader Tag="Game Name">Game Name</GridViewColumnHeader> </GridViewColumn.Header> </GridViewColumn> <GridViewColumn DisplayMemberBinding="{Binding Players}"> <GridViewColumn.Header> <GridViewColumnHeader Tag="Players">Players</GridViewColumnHeader> </GridViewColumn.Header> </GridViewColumn> </GridView> </ListView.View> </ListView> C#: var gridView = (GridView) gameList.FindName( "gridView" ); foreach ( var column in gridView.Columns ) { var c = (GridViewColumn) column; var h = (GridViewColumnHeader) c.Header; h.Click+= ( sender, args ) => { throw new System.NotImplementedException(); }; } |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0004098)
XaeroDegreaz 2016-08-26 04:23 |
I was able to get it to work by using ClickMode=Press and explicitly calling ReleaseMouseCapture() on the sender: var gridView = (GridView) gameList.FindName( "gridView" ); var cols = gridView.Columns.Cast<GridViewColumn>().ToList(); cols.ForEach( c => { GridViewColumnHeader h = (GridViewColumnHeader) c.Header; h.ClickMode = ClickMode.Press; h.Click += ( sender, args ) => { Debug.Log( sender ); ((GridViewColumnHeader)sender).ReleaseMouseCapture(); }; } ); |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1566 | [NoesisGUI] Website | minor | always | 2019-10-12 21:45 | 2019-10-13 13:28 |
Reporter: | nokola | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Forum ">" navigation character appears as square (font load fails) | ||||
Description: |
Go to https://noesisengine.com/forums/viewforum.php?f=11&sid=b3d42c14e98798a9793d5577fae36820 Forum font will not load, making the ">" character after Board Index appear as squares. OS: Windows 10 web Console shows these errors: Access to font at 'https://www.noesisengine.com/forums/styles/canvas/theme/bower_components/mdi/fonts/materialdesignicons-webfont.woff2?v=1.2.64' from origin 'https://noesisengine.com' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. viewforum.php?f=11&sid=b3d42c14e98798a9793d5577fae36820:564 GET https://www.noesisengine.com/forums/styles/canvas/theme/bower_components/mdi/fonts/materialdesignicons-webfont.woff2?v=1.2.64 net::ERR_FAILED viewforum.php?f=11&sid=b3d42c14e98798a9793d5577fae36820:1 Access to font at 'https://www.noesisengine.com/forums/styles/canvas/theme/bower_components/mdi/fonts/materialdesignicons-webfont.woff?v=1.2.64' from origin 'https://noesisengine.com' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. viewforum.php?f=11&sid=b3d42c14e98798a9793d5577fae36820:1 GET https://www.noesisengine.com/forums/styles/canvas/theme/bower_components/mdi/fonts/materialdesignicons-webfont.woff?v=1.2.64 net::ERR_FAILED viewforum.php?f=11&sid=b3d42c14e98798a9793d5577fae36820:1 Access to font at 'https://www.noesisengine.com/forums/styles/canvas/theme/bower_components/mdi/fonts/materialdesignicons-webfont.ttf?v=1.2.64' from origin 'https://noesisengine.com' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. viewforum.php?f=11&sid=b3d42c14e98798a9793d5577fae36820:1 GET https://www.noesisengine.com/forums/styles/canvas/theme/bower_components/mdi/fonts/materialdesignicons-webfont.ttf?v=1.2.64 net::ERR_FAILED Browser: Chrome Version 77.0.3865.120 (Official Build) (64-bit) (LATEST) |
||||
Tags: | |||||
Steps To Reproduce: | See description | ||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0005992)
sfernandez 2019-10-13 13:28 |
Thanks for reporting this. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1548 | [NoesisGUI] C# SDK | feature | always | 2019-08-27 14:59 | 2019-10-11 10:33 |
Reporter: | darthmaule2 | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.3 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.6 | ||
Target Version: | 2.2.6 | ||||
Platform: | Any | ||||
Summary: | Need the ability to Invoke calls onto the UI thread in the managed SDK | ||||
Description: |
Most UI frameworks provide mechanisms for running code on the UI thread… we think we can implement something like that ourselves, but think the solution would be much better if it was baked into the framework. Essentially, we would like an implementation of the ThreadSwitcher described in these blogs: https://devblogs.microsoft.com/oldnewthing/20190328-00/?p=102368 https://devblogs.microsoft.com/oldnewthing/20190329-00/?p=102373 You can see that ThreadSwitcher is implemented using the CoreDispatcher class for UWP, the Dispatcher for WPF, etc… we need a Dispatcher for Noesis Managed SDK that we can call BeginInvoke on and a way to tell if we are on the UI thread or not. I don’t fully understand all the classes involved, but I noticed that Noesis doesn’t set SynchronizationContext.Current at startup, so I think an implementation of a custom SynchronizationContext would also be part of this solution. |
||||
Tags: | C# | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1470 | [NoesisGUI] C# SDK | feature | have not tried | 2019-05-21 08:39 | 2019-10-11 10:33 |
Reporter: | darthmaule2 | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.6 | ||
Target Version: | 2.2.6 | ||||
Platform: | Any | ||||
Summary: | CheckAccess not implemented by Noesis.DependencyObject | ||||
Description: |
// BDMTODO: // CheckAccess determines whether the calling thread has access to this DispatcherObject. // but is not implemented by Noesis.DependencyObject. Is there another way? //if (targetElement.CheckAccess()) //{ |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1557 | [NoesisGUI] C++ SDK | feature | always | 2019-09-30 06:54 | 2019-10-11 10:32 |
Reporter: | tkawa | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.5 | ||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.6 | ||
Target Version: | 2.2.6 | ||||
Platform: | Windows | ||||
Summary: | Support FontSizeConverter to convert string to float | ||||
Description: |
Follow up from https://www.noesisengine.com/forums/viewtopic.php?f=3&t=1817 I'd like to bind FontSize and specify "pt". In WPF, it can convert from string to double by FontSizeConverter(). XAML <TextBlock FontSize="{Binding FontSize}"... /> cpp float GetFontSize() const{ NsString fontSizeString = "20pt"; float fontSize; //Convert from NsString to float return fontSize; } |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0005989)
sfernandez 2019-10-10 12:34 |
I've been doing some tests in WPF and it looks like WPF doesn't allow that either. I have a TextBlock with its FontSize bound to a string property in my ViewModel and WPF doesn't know how to convert it: <TextBlock Text="This text's size is bound to a string" FontSize="{Binding TextSize}"/> public class ViewModel { public string TextSize { get; set; } } DataContext = new ViewModel { TextSize = "30pt" }; I was surprised by this behavior because I though WPF will use TypeConverter attribute specified in the FontSize property, but I found that bindings ignore that attribute and only use TargetProperty.PropertyType to decide which dynamic converter it should create. In this situation is creating a SystemConvertConverter that just calls Convert.ChangeType from String to Double which is trying to parse a double from the string, and is failing because of the "pt" suffix. At the end FontSizeConverter is only used when parsing the xaml, and we already support that, should we close this? |
(0005990)
tkawa 2019-10-11 05:25 |
I see it. I had thought that it have to bind as float. It was solved by returning NsString. Thank you very much!! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1560 | [NoesisGUI] C++ SDK | minor | N/A | 2019-10-03 18:52 | 2019-10-07 13:12 |
Reporter: | steveh | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.6 | ||
Target Version: | 2.2.6 | ||||
Platform: | Any | ||||
Summary: | SupportsFocusEngagement is not a recognised attribute in the Noesis.Gui.Extensions Blend extension | ||||
Description: |
Hi guys, I'm trying to prevent a custom list box from stealing focus when I press gamepad_accept. The focus stealing is coming from focus engagement. I've managed to disable it by setting noesis:Element.SupportsFocusEngagement="False" on the custom list box, but this is not a recognised dependency property in Noesis.Gui.Extensions Blend extension. This stops the XAML from being loaded in Blend as it throws an error. Any chance we can update the extension to recognise this attribute? Cheers, -Steven |
||||
Tags: | NuGet | ||||
Steps To Reproduce: |
1. Add a Reference to Noesis.Gui.Extensions app (I had the matching 2.2.1 version of the extension, but I've just updated to 2.2.5 and it still isn't solved). 2. Create a ListBox 3. Add noesis:Element.SupportsFocusEngagement=False to the listbox. 4. Notice that Blend does not recognize the attribute and it stops updating the viewport until the error is resolve (i.e. by removing the attribute). |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0005983)
sfernandez 2019-10-07 13:12 |
Resolved for 2.2.6 version, can be tested using pre-release NuGet: https://www.nuget.org/packages/Noesis.GUI.Extensions/2.2.6-beta1 |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1561 | [NoesisGUI] C++ SDK | minor | have not tried | 2019-10-04 16:19 | 2019-10-07 10:23 |
Reporter: | LarianStudios | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.5 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.6 | ||
Target Version: | 2.2.6 | ||||
Platform: | Any | ||||
Summary: | CommandConverter does not support prefixes | ||||
Description: |
Can't use a custom command in xaml that is registered in a class that requires using a prefix: "local.MyClass.MyCommand" |
||||
Tags: | |||||
Steps To Reproduce: |
<Grid x:Class="MyNamespace.MyClass" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="clr-namespace:MyNamespace"> <Grid.CommandBindings> <CommandBinding Command="local:MyClass.MyCommand" Executed="OnMyCommand" /> </Grid.CommandBindings> <Button Command="local:MyClass.MyCommand" Content="Raise Command"/> </Grid> |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0005980)
sfernandez 2019-10-04 16:54 |
Fixed in trunk revision 8390. |
(0005981)
jsantos 2019-10-06 03:01 |
Trunk is quite unstable right now, could we integrate this into 2.2 sergio? |
(0005982)
sfernandez 2019-10-07 10:23 |
Sure, it is integrated into 2.2 branch in revision 8391. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1521 | [NoesisGUI] Unity3D | crash | unable to reproduce | 2019-07-19 17:07 | 2019-09-27 17:48 |
Reporter: | stonstad | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 2.2.4 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Noesis.dll Runtime Crash / Breakpoint (Box_TickBarPlacement) | ||||
Description: |
Unity Editor by Unity Technologies [version: Unity 2019.1.8f1_7938dd008a75] Noesis.dll caused a Breakpoint (0x80000003) in module Noesis.dll at 0033:7a20903f. Stack Trace of Crashed Thread 7752: 0x00007FFD7A20903F (Noesis) Box_TickBarPlacement 0x00007FFD7A2180F1 (Noesis) Box_TickBarPlacement 0x00007FFD7A218544 (Noesis) Box_TickBarPlacement 0x00007FFD7A218289 (Noesis) Box_TickBarPlacement 0x00007FFD7A217E9A (Noesis) Box_TickBarPlacement 0x00007FFD7A21623A (Noesis) Box_TickBarPlacement 0x00007FFD7A2093A6 (Noesis) Box_TickBarPlacement 0x00007FFD7A204682 (Noesis) Box_TickBarPlacement 0x00007FFD7A5A3BEF (Noesis) Box_TickBarPlacement 0x00007FFD7A5A157D (Noesis) Box_TickBarPlacement 0x00007FF627E0D347 (Unity) PAL_Memory_Free 0x00007FF627E1324B (Unity) PAL_Memory_Free 0x00007FF627E13615 (Unity) PAL_Memory_Free 0x00007FF6289C6867 (Unity) PAL_Memory_Free 0x00007FFE0EFA7974 (KERNEL32) BaseThreadInitThunk 0x00007FFE11D3A271 (ntdll) RtlUserThreadStart |
||||
Tags: | |||||
Steps To Reproduce: | This occurred randomly as I played the game via the Unity editor. In this particular run view memory clean-up was disabled. | ||||
Additional Information: | |||||
Attached Files: |
Crash_2019-07-19_145918903.zip (357,665 bytes) 2019-07-19 17:07 https://www.noesisengine.com/bugs/file_download.php?file_id=1087&type=bug |
||||
Notes | |
(0005909)
stonstad 2019-07-27 04:29 |
I haven't seen this error repeat since it initially happened on 7/19. I am OK with us closing and reopening if it reoccurs in the future. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1538 | [NoesisGUI] Unity3D | crash | always | 2019-08-16 00:30 | 2019-09-27 17:47 |
Reporter: | stonstad | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.3 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.5 | ||
Target Version: | 2.2.5 | ||||
Platform: | Any | ||||
Summary: | Unity Crash on Project Load | ||||
Description: |
I'm getting a repeatable crash on Unity editor startup ... during project load. It appears to be related to an assertion from Noesis. Editor.Log: Assertion failed on expression: 'g_ThreadedGfxDevice' Noesis.PropertyMetadata:.ctor(Object) (at Assets\NoesisGUI\Plugins\API\Proxies\PropertyMetadataExtend.cs:33) StellarConquest.Presentation.Unity.UI.ViewboxGridControl:.cctor() (at Assets\User Interface\Controls\Viewbox Grid Control\ViewBoxGridControl.cs:10) [C:\buildslave\unity\build\Runtime/GfxDevice/GfxDevice.cpp line 148] (Filename: Assets/NoesisGUI/Plugins/API/Proxies/PropertyMetadataExtend.cs Line: 33) The offending line of code is this: public static readonly DependencyProperty ScalingEnabledProperty = DependencyProperty.Register("ScalingEnabled", typeof(bool), typeof(ViewboxGridControl), new PropertyMetadata(true)); If I move the line of code the stack trace line number changes, too. So I think this is the line. I am attaching log, dump files, and the Noesis user control that seems to cause the crash. I am going to look to see if I can stop the crash. I might be doing something crazy -- I'll take a look. I thought this might be useful since it's a fatal editor crash. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
Crash_2019-08-15_222455133.zip (138,372 bytes) 2019-08-16 00:30 https://www.noesisengine.com/bugs/file_download.php?file_id=1098&type=bug ViewBoxGridControl.cs (2,102 bytes) 2019-08-16 00:30 https://www.noesisengine.com/bugs/file_download.php?file_id=1099&type=bug ViewboxGridControl.xaml (401 bytes) 2019-08-16 00:30 https://www.noesisengine.com/bugs/file_download.php?file_id=1100&type=bug Works.cs (2,243 bytes) 2019-08-16 00:45 https://www.noesisengine.com/bugs/file_download.php?file_id=1101&type=bug |
||||
Notes | |
(0005923)
stonstad 2019-08-16 00:33 |
Commenting out the dependency property and turning the property setter/getter to no-ops resolves the behavior. I'm investigating further... |
(0005924)
stonstad 2019-08-16 00:45 (Last edited: 2019-08-16 00:59) |
Things I tried to prevent crash that does *not* work 1) comment out all code in constructor, including loaded event. 2) make get/set no-op. 3) rename to ScalingEnabledProperty to ScalingEnabled2Property. 4) use different constructor for dependency property to avoid using PropertyMetadata(true) parameter. Result: crash occurs in DependencyPropertyExtend, Line 13 instead. Things I tried that *does* prevent the crash 1) comment out the dependency property, ScalingEnabledProperty. See works.cs for what code looks like that does work every time. What is strange is that this worked fine for several days (2+ weeks?) and now it is happening every time I load/start Unity. My only workaround right now is to remove the DependencyProperty ScalingEnabledProperty. |
(0005926)
stonstad 2019-08-16 01:00 |
Maybe bool needs to be added as a valid property type? |
(0005932)
sfernandez 2019-08-21 14:33 (Last edited: 2019-08-21 14:39) |
It seems a problem with the loading of Noesis library while starting Unity. Could you please try the following code for your ViewboxGridControl? using Noesis; using System.Collections.Generic; using Vector2 = UnityEngine.Vector2; using Grid = Noesis.Grid; namespace StellarConquest.Presentation.Unity.UI { public partial class ViewboxGridControl : Grid { static ViewboxGridControl() { Noesis.GUI.Init(); ScalingEnabledProperty = DependencyProperty.Register("ScalingEnabled", typeof(bool), typeof(ViewboxGridControl), new PropertyMetadata(true)); } public static readonly DependencyProperty ScalingEnabledProperty = null; // DependencyProperty.Register("ScalingEnabled", typeof(bool), typeof(ViewboxGridControl), new PropertyMetadata(true)); ... } } If this fixes the problem then I need to understand why this class is used without Noesis being initialized. Are you using that class from code in a MonoBehavior? |
(0005933)
stonstad 2019-08-21 20:56 |
OK, perfect. Your analysis is spot on. The change worked, and helped me identify the cause. The class contains a static property, ViewBoxGridControl.DefaultAspectRatioIndex. MonoBehavior code referred to this variable which, when accessed, caused the static initializer for ViewBoxGridControl to be called, which includes initialization of the dependency property. I moved the constant to a better location and all is well. Candidate for closure -- thank you for helping me understand this. |
(0005934)
jsantos 2019-08-22 01:25 |
Thanks for the feedback stonstad. I wonder if we could detect this scenario sergio, like having asserts if Noesis API is trying to be used without initialization. Not sure how many entries and how many asserts would be needed. And we don't want this code to be present in the non-editor build. |
(0005937)
sfernandez 2019-08-23 01:13 |
Yes, we should be more robust against this scenario. I'll move this ticket for the next release so we can think about how to solve it. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1276 | [NoesisGUI] Unreal | minor | always | 2018-04-05 14:48 | 2019-09-12 13:33 |
Reporter: | GeorgeR | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.1.0f1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Unknown type "PathGeometry" | ||||
Description: |
LogNoesis: Warning: /Game/Frontier/UI/Themes/Generic.Generic(590): Unknown type 'PathGeometry'. Is PathGeometry really not supported? |
||||
Tags: | |||||
Steps To Reproduce: | 1. Import the provided file | ||||
Additional Information: |
This is what produces the error: <Path Stroke="{TemplateBinding Foreground}" StrokeThickness="{TemplateBinding StrokeThickness}" Canvas.Left="8" Canvas.Top="8"> <Path.Data> <PathGeometry> <PathFigure StartPoint="40, 0"> <ArcSegment RotationAngle="0" SweepDirection="Clockwise" Size="40, 40" Point="{Binding Path=Angle, Converter={StaticResource AngleToPointConverter}, RelativeSource={RelativeSource FindAncestor, AncestorType=ProgressBar}}" IsLargeArc="{Binding Path=Angle, Converter={StaticResource AngleIsTooLargeConverter}, RelativeSource={RelativeSource FindAncestor, AncestorType=ProgressBar}}" /> </PathFigure> </PathGeometry> </Path.Data> </Path> |
||||
Attached Files: |
Generic.xaml (77,433 bytes) 2018-04-05 14:48 https://www.noesisengine.com/bugs/file_download.php?file_id=919&type=bug |
||||
Notes | |
(0005176)
jsantos 2018-04-09 18:24 |
PathGeometry is not implemented so far. We recommend converting to Path, even if we supported Geometries (that we will in the future) Path is always a more efficient. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1553 | [NoesisGUI] Unity3D | block | always | 2019-09-10 16:45 | 2019-09-10 19:46 |
Reporter: | JinFox | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.4 | ||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Empty project with unity package 2.2.4 does not boot on Android | ||||
Description: |
Hello, I have tried to do a test build of the new version from an empty project. Each time, after the build i get the Unity splashscreen then black screen with nothing on it. I have tried to logcat but there is no error and no warning (as if the process was stuck on an infinite loop potentially). Here is what I have tested so far : - I tested both version unity 2019.2.4f1 and 2019.1.14f1 - I have tested to build with the Hello World scene and the ControlGallery - We have tested on another computer with different architecture (just in case) - we have also tested to disable Multithreaded rendering without success. For all the different tests scenario, an empty project was used with just the unitypackage installed and then directly built for Android (a windows/standalone build works) Thank you Regards, |
||||
Tags: | |||||
Steps To Reproduce: |
1 - Create a new Unity Project 2 - import Noesis2.2.4 unitypackage 3 - open a scene from the samples 4 - Click on File>Build settings... 5 - add current scene to build. 6 - switch to Android Platform 7 - build or "build & run" 8 - see the error on the mobile device |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0005960)
jsantos 2019-09-10 16:50 |
Make sure you are not using Vulkan renderer. It is yet not supported. |
(0005962)
JinFox 2019-09-10 17:50 |
I have indeed disabled Vulkan and it now worked. I didn't know it was using Vulkan by default. Is Unity 2019.2.x is the minimum supported version or should it also be supported for 2019.1.14? You can now close this issue, sorry for the inconvenience. |
(0005963)
sfernandez 2019-09-10 19:46 |
NoesisGUI is compatible with Unity 2017 LTS and later. NoesisGUI 2.2.2 added support for Unity 2019.1, and NoesisGUI 2.2.4 added support for Unity 2019.2. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1544 | [NoesisGUI] Unity3D | major | always | 2019-08-22 18:45 | 2019-08-23 17:36 |
Reporter: | samc | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.3 | ||
Product Build: | Resolution: | duplicate | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Windows | ||||
Summary: | Unity plugin modifies packages | ||||
Description: | The plugin is attempting to modify packages that include true type font files. Unity packages are read only and should never be manipulated by other plugins. | ||||
Tags: | Unity | ||||
Steps To Reproduce: |
1) Create a new unity project 2) Add some packages such as pro-builder, pro grids, etc. 3) Add Noesis 4) Observe that Noesis is generating assets and trying to place them beside package assets. |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1545 | [NoesisGUI] Unity3D | block | always | 2019-08-22 20:33 | 2019-08-23 17:01 |
Reporter: | samc | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.3 | ||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Windows | ||||
Summary: | Unity 2019.1.14f1 HDRP new project doesn't render, causes errors | ||||
Description: |
Noesis samples don't work in Unity2019.1.14f1 and there are errors after importing the noesis package. Also tested in 2019.2.2f1 and it has the same behavior |
||||
Tags: | Unity | ||||
Steps To Reproduce: |
Create a new unity project using Unity 2019.1.14f1 Select "High Definition RP" for the template Import the Noesis 2.2.3 package Check the console and you'll see errors such as: Read only asset Packages/com.unity.render-pipelines.high-definition/Runtime/Core/Debugging/Prefabs/Fonts/Perfect DOS VGA 437.asset has no meta file. UnityEditor.AssetDatabase:CreateAsset(Object, String) NoesisPostprocessor:ImportFont(String, Boolean) (at Assets/NoesisGUI/Plugins/Editor/NoesisPostprocessor.cs:139) NoesisPostprocessor:ImportAssets(String[], UpdateProgress) (at Assets/NoesisGUI/Plugins/Editor/NoesisPostprocessor.cs:72) NoesisPostprocessor:ImportAllAssets(UpdateProgress) (at Assets/NoesisGUI/Plugins/Editor/NoesisPostprocessor.cs:28) NoesisUpdater:CheckVersion() (at Assets/NoesisGUI/Plugins/Editor/NoesisUpdater.cs:76) UnityEditor.EditorApplication:Internal_CallUpdateFunctions() Open a Noesis Sample scene, "Buttons" for example Click play Observe: - you can hear sounds and mouse clicks register, but nothing is rendered on screen |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0005936)
jsantos 2019-08-22 23:30 |
Just updated the title mentioning HDRP |
(0005938)
jsantos 2019-08-23 17:01 |
For now, I am going to close this, because it is not a bug. https://www.noesisengine.com/forums/viewtopic.php?f=3&t=1669 Let's continue the discussion at the forums. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
885 | [NoesisGUI] Unity3D | minor | always | 2016-05-04 22:26 | 2019-08-23 13:14 |
Reporter: | roland.tomczak | Platform: | |||
Assigned To: | jsantos | OS: | Windows | ||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 1.2.6f2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.4 | ||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Wrong GetTouchPosition (Parent) result in GotTouchCapture callback | ||||
Description: |
I've defined a custom draggable control. I've various handlers on touch events : - In TouchDown event handler, I capture the touch device - In GotTouchCapture event handler, I start the dragging process. I store the initial position ( e.GetTouchPoint ( this.Parent ) ). => e.GetTouchPoint ( this.Parent ) returns a wrong value. I don't have the issue when calling GetTouchPoint in the TouchDown event handler. |
||||
Tags: | |||||
Steps To Reproduce: |
private void OnTouchDown(object sender, TouchEventArgs e) { if (m_nCapturedTouchDevice == -1) { // THIS RETURNS THE RIGHT POSITION : m_ptTouchDownPosition = e.GetTouchPoint(this.Parent); // Capture the touch this.CaptureTouch( (uint) e.TouchDevice); } } private void OnGotTouchCapture(object sender, TouchEventArgs e) { // Handle a pointer capture // THIS RETURNS A WRONG POSITION : var ptWrongPosition = e.GetTouchPoint(this.Parent); OnPointerCaptured(m_ptTouchDownPosition); // Set the captured touch device m_nCapturedTouchDevice = e.TouchDevice; } |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1537 | [NoesisGUI] Documentation | text | N/A | 2019-08-14 14:11 | 2019-08-23 01:10 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.3 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.4 | ||
Target Version: | 2.2.4 | ||||
Platform: | Any | ||||
Summary: | Improve Gamepad mapping documentation | ||||
Description: |
There is no reference in documentation tutorial https://www.noesisengine.com/docs/Gui.Core.SDKGuide.html#gamepad about how gamepad keys are automatically mapped to keyboard keys:Key_GamepadLeft : Key_Left Key_GamepadUp : Key_Up Key_GamepadRight : Key_Right Key_GamepadDown : Key_Down Key_GamepadAccept : Key_Space Key_GamepadCancel : Key_Escape Key_GamepadPageUp : Key_PageUp Key_GamepadPageDown : Key_PageDown Key_GamepadPageLeft : Key_PageLeft Key_GamepadPageRight : Key_PageRight |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1508 | [NoesisGUI] Unity3D | minor | always | 2019-06-25 06:50 | 2019-08-22 19:26 |
Reporter: | horeaper | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.3 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.4 | ||
Target Version: | 2.2.4 | ||||
Platform: | Windows | ||||
Summary: | Using NoesisGUI with ProGrid together cause some errors. | ||||
Description: |
NoesisGUI 2.2.3 with Unity 2019.1.7. When ProGrid and NoesisGUI exist together, the following error happens: [code] Read only asset Packages/com.unity.progrids/Font/Asap-Regular-ProGrids.asset has no meta file. UnityEditor.AssetDatabase:CreateAsset(Object, String) NoesisPostprocessor:ImportFont(String, Boolean) (at Assets/NoesisGUI/Plugins/Editor/NoesisPostprocessor.cs:139) NoesisPostprocessor:ImportAssets(String[], UpdateProgress) (at Assets/NoesisGUI/Plugins/Editor/NoesisPostprocessor.cs:72) <>c__DisplayClass4_1:<OnPostprocessAllAssets>b__0() (at Assets/NoesisGUI/Plugins/Editor/NoesisPostprocessor.cs:107) UnityEditor.EditorApplication:Internal_CallUpdateFunctions() [/code] [code] Read only asset Packages/com.unity.progrids/Font/Asap-Medium-ProGrids.asset has no meta file. UnityEditor.AssetDatabase:CreateAsset(Object, String) NoesisPostprocessor:ImportFont(String, Boolean) (at Assets/NoesisGUI/Plugins/Editor/NoesisPostprocessor.cs:139) NoesisPostprocessor:ImportAssets(String[], UpdateProgress) (at Assets/NoesisGUI/Plugins/Editor/NoesisPostprocessor.cs:72) <>c__DisplayClass4_1:<OnPostprocessAllAssets>b__0() (at Assets/NoesisGUI/Plugins/Editor/NoesisPostprocessor.cs:107) UnityEditor.EditorApplication:Internal_CallUpdateFunctions() [/code] The solution are to remove [i]Asap-Medium-ProGrids.asset[/i] and [i]Asap-Regular-ProGrids.asset[/i] from "Library\PackageCache\com.unity.progrids@(whatever.the.version.is)\Font" directory, then reopen the project. Looks like those were generated by Noesis's font importer. |
||||
Tags: | Unity | ||||
Steps To Reproduce: |
1. Import NoesisGUI package. 2. Add ProGrid from package manager. The error will pop up. 4. Delete Asap-Medium-ProGrids.asset and Asap-Regular-ProGrids.asset in ProGrid's cache directory. Errors will go away after reopen the project. 5. Hit "Reimport All XAMLs", or re-import NoesisGUI. Errors will come back. |
||||
Additional Information: | |||||
Attached Files: |
20190625125042.png (61,764 bytes) 2019-06-25 06:50 https://www.noesisengine.com/bugs/file_download.php?file_id=1048&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1072 | [NoesisGUI] Unity3D | minor | always | 2017-05-06 10:58 | 2019-08-22 08:53 |
Reporter: | monstercho | Platform: | Android/iOS | ||
Assigned To: | jsantos | OS: | Android | ||
Priority: | normal | OS Version: | 7.1 | ||
Status: | resolved | Product Version: | 2.0.1f1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.4 | ||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Fast touch swipe on ScrollViewer scrolls even after hitting edge if you try to set scroll offset from code after swipe | ||||
Description: |
If I do a fast swipe over a scrollviewer to get high inertia it will quickly scroll to start or end of its content as expected. But if very soon after that (1-2s) I try to scroll content from code with: - scroll.ScrollToHorizontalOffset (...) - child.BringIntoView() Then I see the scrollviewer again scrolling content instead of going to the offset I give (or bringing into view the child). Tested with horizontal scrollviewers. Have not tried vertical. |
||||
Tags: | |||||
Steps To Reproduce: |
1) Open the attached project. 2) Build and run on Android or iOS 3) Fast swipe left on the numbers - the swipe should lead to high inertia scroll 4) When content is scrolled to end (number 29) start repeatedly touching the button below the numbers 5) Bug - content starts scrolling again instead of going to offset 0. Also see the wrong behavior in the the attached short video. |
||||
Additional Information: | It can also be reproduced on PC if I manually feed Unity input events to Noesis so the mouse can be used to swipe over the scrollviewer (using scrollbar gives no inertia). | ||||
Attached Files: |
NoesisScrollViewerTest 20170506.mp4 (1,803,323 bytes) 2017-05-06 10:58 https://www.noesisengine.com/bugs/file_download.php?file_id=794&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1405 | [NoesisGUI] C# SDK | minor | always | 2019-02-05 23:16 | 2019-08-22 08:53 |
Reporter: | nokola | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.1.0f1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.4 | ||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Cannot stop manipulation inertia in ListBox/ScrollViewer | ||||
Description: |
See forum https://www.noesisengine.com/forums/viewtopic.php?f=3&t=1581 I have a ListBox with list of fonts that the user can scroll through and a separate control for paging through the fonts. pagescroll.png pagescroll.png (28.25 KiB) Viewed 15 times When the user switches to another page, I replace the contents of the ListBox with another set of fonts and scroll to position 0. There are situations when a user starts scrolling the ScrollViewer using touch on phone, then realizes they want to switch to another page and quickly presses the page switch buttons. When the above happens, the ListBox keeps scrolling even though its contents are now different. How do I cancel the inertia velocity for the ListBox to "stop it in its tracks"? :) |
||||
Tags: | |||||
Steps To Reproduce: |
1. Create listbox with items and a button with text "scroll to 0" that calls call ScrollToHorizontalOffset(0) 2. Run on Android (touch device) 3. During scrolling with finger, quickly lift finger up and tap "Scroll to 0" Expected: Listbox scrolls to 0 and doesn't move Actual: Listbox scrolls to 0 and continues to scroll due to inertia from user's touch. |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
866 | [NoesisGUI] Unity3D | minor | always | 2016-04-13 21:14 | 2019-08-22 08:53 |
Reporter: | Scherub | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | low | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.4 | ||
Target Version: | 2.2.4 | ||||
Platform: | Any | ||||
Summary: | Scrolling doesn't stop if parent control is hidden | ||||
Description: |
I've stumbled over a kinda amusing error. When using gestures and scrollviewer manipulation is enabled, it scrolls to the end of the scrollviewer. If you now hide this control viewer and show it again, while telling it to jump to the front it will just continue scrolling. Of course you have to give it enough momentum for it to work. You can test it in my game in two views: 1. Accept Eula, open it, scroll down fast, click cancel, click "Register" again and you will see it scrolling. If you wait long enough it will have stopped or you can see stop it midway. 2. Level Selection: Just swipe to the right quickly, go back, enter the world again and you can see it scrolling. It's not really a problem right now. But I guess it should be fixed at some point. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1536 | [NoesisGUI] C++ SDK | minor | always | 2019-08-13 18:45 | 2019-08-22 01:29 |
Reporter: | steveh | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 2.2.1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Can't bind to array index element - "Array properties can't be boxed" | ||||
Description: |
Hi guys, trying to bind to a fixed array declared in a data model. This works fine in Blend but I hit an assert in the C++ API here: template<class T, uint32_t N> Ptr<BaseComponent> TypePropertyArray<T,N>::GetComponent(const void*) const { // Array properties can't be boxed NS_ASSERT_UNREACHABLE; } This is my data model // C# class Baz { public Baz() : i(0) {} public int i { get; set;} } class Foo { public Foo() { Bar = new Baz[2]; } public Baz Bar[]; }; // WPF <TextBlock Text="{Binding Bar[0].i}" > <TextBlock.DataContext>local:Foo</TextBlock.DataContext> </TextBlock> // C++ .h class Baz : BaseComponent { public: int i = 0; NS_DECLARE_REFLECTION(Baz, BaseComponent) } class Foo : BaseComponent { public: Foo(); Ptr<Baz> Bar[2]; private: NS_DECLARE_REFLECTION(Foo, BaseComponent) } // C++ .cpp Foo::Foo() { Bar[0] = MakePtr<Baz>(); Bar[1] = MakePtr<Baz>(); } NS_IMPLEMENT_REFLECTION(Baz) { NsMeta<Noesis::TypeId>("Local.Baz"); NsProp("i", &SelfClass::i); } NS_IMPLEMENT_REFLECTION(Foo) { NsMeta<Noesis::TypeId>("Local.Foo"); NsProp("Bar", &SelfClass::Bar); } |
||||
Tags: | |||||
Steps To Reproduce: |
1. Have a fixed array of objects derived from BaseComponent in a data model. 2. Try to bind to an index on a component. 3. Try to instance the component, see the assert fire. |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0005935)
jsantos 2019-08-22 01:29 |
Right now this is not possible, you need to use an ObservableCollection. Yeah, I know it is far from optimal and not as efficient as a static array. This scenario and more things are going to be improved in the next reflection architecture we are working on. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1422 | [NoesisGUI] C++ SDK | minor | always | 2019-03-11 20:17 | 2019-08-21 16:12 |
Reporter: | Pawel | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.4 | ||
Target Version: | 2.2.4 | ||||
Platform: | Any | ||||
Summary: | missing namespace in macro NS_IMPLEMENT_INLINE_REFLECTION_ENUM | ||||
Description: |
in macro: NS_IMPLEMENT_INLINE_REFLECTION_ENUM first line is: template<> struct TypeEnumFiller<T> \ and should be (missing namespace): template<> struct Noesis::TypeEnumFiller<T> \ |
||||
Tags: | NS_IMPLEMENT_INLINE_REFLECTION_ENUM | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1542 | [NoesisGUI] C++ SDK | crash | always | 2019-08-21 08:13 | 2019-08-21 12:16 |
Reporter: | unvestigate | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.3 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 2.2.4 | ||||
Platform: | Windows | ||||
Summary: | Crash in InlineCollection::Clear() | ||||
Description: | Adding InlineUIContainers with images to an inline collection and calling Clear() on that collection causes the app to crash. It seems to be 100% reproducible in debug configurations. In release it does not occur as reliably. | ||||
Tags: | |||||
Steps To Reproduce: |
Do something like this: Noesis::Ptr<Noesis::BitmapImage> bm = *new Noesis::BitmapImage(texturePath); Noesis::Ptr<Noesis::Image> img = *new Noesis::Image(); img->SetSource(bm); Noesis::Ptr<Noesis::InlineUIContainer> iuc = *new Noesis::InlineUIContainer(img); inlineCollection->Add(iuc); Then clear the collection. More information available in this forum post: https://www.noesisengine.com/forums/viewtopic.php?f=3&t=1786&sid=fd932eba6135173063ef13dadea33315 |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1540 | [NoesisGUI] C++ SDK | major | always | 2019-08-19 18:24 | 2019-08-19 20:42 |
Reporter: | pgrubyi | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 2.2.3 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | ListBox catches focus during ControlTab navigation instead of passing it to its children | ||||
Description: | ListBox catches focus during ControlTab navigation instead of passing it to its children | ||||
Tags: | xaml | ||||
Steps To Reproduce: |
An example of ListBox declaration: <ListBox x:Name="TimeTable" DataContext="{StaticResource GhostTable}" ItemsSource="{Binding Ghosts}" ItemContainerStyle="{StaticResource TimeRecordGhostListBoxItem}" Background="{x:Null}" BorderBrush="{x:Null}" Foreground="{x:Null}" BorderThickness="0" HorizontalAlignment="Right" RenderTransformOrigin="0.5,0.5" ScrollViewer.VerticalScrollBarVisibility="Hidden" ScrollViewer.HorizontalScrollBarVisibility="Hidden" Padding="0" Style="{DynamicResource GhostsListBoxStyle}" Margin="0,24,0,0" KeyboardNavigation.DirectionalNavigation="Cycle" KeyboardNavigation.TabNavigation="Once" KeyboardNavigation.ControlTabNavigation="Once" /> |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1450 | [NoesisGUI] Unity3D | crash | have not tried | 2019-04-16 10:57 | 2019-08-17 00:24 |
Reporter: | shawn | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.1 | ||
Product Build: | Resolution: | unable to reproduce | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Crash creating Unity render device | ||||
Description: |
From crashes posted in https://www.noesisengine.com/bugs/view.php?id=1429#c5620 In the first one the 'resource' pointer seems to be null. The second callstack refers to a crash in Unity without Noesis being involved, but it could be related to the first crash. Noesis.dll!SetDebugObjectName(ID3D11DeviceChild * resource, const char * str, ...) Line 117 C++ > [Inline Frame] Noesis.dll!NoesisApp::D3D11RenderDevice::AllocatePage(NoesisApp::D3D11RenderDevice::DynamicBuffer &) Line 870 C++ Noesis.dll!NoesisApp::D3D11RenderDevice::CreateBuffer(NoesisApp::D3D11RenderDevice::DynamicBuffer & buffer, unsigned int size, D3D11_BIND_FLAG flags, const char * label) Line 896 C++ Noesis.dll!NoesisApp::D3D11RenderDevice::CreateBuffers() Line 909 C++ Noesis.dll!NoesisApp::D3D11RenderDevice::D3D11RenderDevice(ID3D11DeviceContext * context, bool sRGB) Line 343 C++ Noesis.dll!NoesisApp::D3D11Factory::CreateDevice(ID3D11DeviceContext * context, bool sRGB) Line 21 C++ Noesis.dll!Noesis::UnityDeviceD3D11::UnityDeviceD3D11(IUnityInterfaces * unityInterfaces, bool sRGB) Line 38 C++ [Inline Frame] Noesis.dll!`anonymous-namespace'::DeviceInitialize::__l5::<lambda_19a8d8fc18ebce0158ac87709b130cfd>::operator()() Line 155 C++ Noesis.dll!<lambda_19a8d8fc18ebce0158ac87709b130cfd>::<lambda_invoker_cdecl>() Line 156 C++ Noesis.dll!`anonymous namespace'::CreateDevice() Line 207 C++ Noesis.dll!Noesis_GetRenderOffscreenCallback::__l2::<lambda>(int eventId, void * data) Line 391 C++ Unity.exe!GfxDeviceWorker::RunCommand(ThreadedStreamBuffer & stream) Line 1551 C++ [Inline Frame] Unity.exe!ProcessGfxCommands(GfxDeviceWorker &) Line 161 C++ Unity.exe!GfxDeviceWorker::RunExt(ThreadedStreamBuffer & stream) Line 491 C++ [Inline Frame] Unity.exe!GfxDeviceWorker::Run() Line 475 C++ Unity.exe!GfxDeviceWorker::RunGfxDeviceWorker(void * data) Line 454 C++ Unity.exe!Thread::RunThreadWrapper(void * ptr) Line 76 C++ Unity.exe!D3D11CommonShader::ApplyGpuProgram(const GpuProgramParameters & params, const unsigned char * buffer, bool bindCBs) Line 184 C++ > Unity.exe!GfxDeviceD3D11Base::SetShadersThreadable(GpuProgram * * programs, const GpuProgramParameters * * params, const unsigned char * const * paramsBuffer) Line 1260 C++ Unity.exe!GfxDeviceWorker::RunCommand(ThreadedStreamBuffer & stream) Line 772 C++ [Inline Frame] Unity.exe!ProcessGfxCommands(GfxDeviceWorker &) Line 161 C++ Unity.exe!GfxDeviceWorker::CallImmediate(ThreadedDisplayList * dlist) Line 363 C++ Unity.exe!GfxDeviceWorker::RunCommand(ThreadedStreamBuffer & stream) Line 2004 C++ [Inline Frame] Unity.exe!ProcessGfxCommands(GfxDeviceWorker &) Line 161 C++ Unity.exe!GfxDeviceWorker::RunExt(ThreadedStreamBuffer & stream) Line 491 C++ [Inline Frame] Unity.exe!GfxDeviceWorker::Run() Line 475 C++ Unity.exe!GfxDeviceWorker::RunGfxDeviceWorker(void * data) Line 454 C++ Unity.exe!Thread::RunThreadWrapper(void * ptr) Line 76 C++ |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0005643)
jsantos 2019-04-25 18:50 |
I think this is probably not related to Noesis. It seems to be an out of memory or driver issue in the GPU. The second crash is not related to Noesis at all and the first one is a crash that's is happening when Noesis D3D11 is initialized and a buffer of 512KB for dynamic geometry is created but the driver returns a NULL pointer. So, I think we should close this... |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1518 | [NoesisGUI] Unity3D | crash | random | 2019-07-16 00:06 | 2019-08-14 13:58 |
Reporter: | stonstad | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.3 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.4 | ||
Target Version: | 2.2.4 | ||||
Platform: | Any | ||||
Summary: | Assertion Failed, False at Vector.h 778 | ||||
Description: |
[noesis] Assertion failed: false, at vector.h(778) UnityEngine.DebugLogHandler:Internal_Log(LogType, LogOption, String, Object) UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[]) UnityEngine.Logger:Log(LogType, Object) UnityEngine.Debug:LogError(Object) NoesisUnity:UnityLog(Int32, String) (at Assets\NoesisGUI\Plugins\NoesisUnity.cs:116) Noesis.View:Noesis_View_MouseMove(HandleRef, Int32, Int32) Noesis.View:MouseMove(Int32, Int32) (at Assets\NoesisGUI\Plugins\API\Core\View.cs:114) NoesisView:UpdateMouse() (at Assets\NoesisGUI\Plugins\NoesisView.cs:595) NoesisView:UpdateInputs() (at Assets\NoesisGUI\Plugins\NoesisView.cs:721) NoesisView:LateUpdate() (at Assets\NoesisGUI\Plugins\NoesisView.cs:753) (Filename: Assets/NoesisGUI/Plugins/NoesisUnity.cs Line: 116) |
||||
Tags: | |||||
Steps To Reproduce: | Was moving mouse across XAML UI elements. Exception from NoesisView.MouseMove. | ||||
Additional Information: | |||||
Attached Files: |
Crash_2019-07-15_220007767.zip (653,862 bytes) 2019-07-16 00:06 https://www.noesisengine.com/bugs/file_download.php?file_id=1078&type=bug |
||||
Notes | |
(0005910)
stonstad 2019-07-27 04:34 |
I have not seen this error since I initially reported it on 7/15. I was using debug Noesis.dll builds. I am OK with closing this and I can report if it happens again. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1520 | [NoesisGUI] Unity3D | crash | always | 2019-07-17 19:35 | 2019-08-12 20:55 |
Reporter: | ivan_b | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.4 | ||
Target Version: | 2.2.4 | ||||
Platform: | Any | ||||
Summary: | Using sytsem fonts on iPad 2 crashes the app | ||||
Description: |
I have tried with Haiti SC, PingFang SC and Helvetica one at a time and I am always getting the same error. Those were the only fonts used and I have only used them one at a time. In the attachment is the screenshoot of the XCode project. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
WhatsApp Image 2019-07-17 at 15.12.51.jpeg (400,462 bytes) 2019-07-17 19:35 https://www.noesisengine.com/bugs/file_download.php?file_id=1081&type=bug Assets.zip (5,940 bytes) 2019-07-25 21:37 https://www.noesisengine.com/bugs/file_download.php?file_id=1093&type=bug Assets-2.zip (6,217 bytes) 2019-07-25 21:47 https://www.noesisengine.com/bugs/file_download.php?file_id=1094&type=bug |
||||
Notes | |
(0005866)
jsantos 2019-07-17 19:38 |
If you use a different system font to those 3 you mention, the crash doesn't happen? |
(0005867)
ivan_b 2019-07-17 19:49 |
Those are the only system fonts that I have tried for now. |
(0005875)
jsantos 2019-07-17 21:20 |
Could you try more system fonts to see if it is happening with ALL system fonts? Thanks |
(0005890)
ivan_b 2019-07-20 19:54 |
I have tried some other fonts but the problem remains. I have extracted the Helvetica.ttc font from /System/Library/Fonts/Core on the iPad 2 and imported it as a normal font inside the unity project. I was able to use it this way on the iPad 2. What could be my next step? |
(0005894)
jsantos 2019-07-23 03:23 |
Could you please do the following things: 1. That the device with problems is an A1395, A1396 or A1397 (can check the number in the back of the iPad) 2. Attach a minimal unity project reproducing the issue (for example a single XAML with a textblock using a system font) 3. Verify the the minimal sample works in rest of iPads but crash on iPad2. Thanks! |
(0005896)
ivan_b 2019-07-23 20:31 |
Yes, the iPad model is A1395. I will create a small project and submit it. If it is possible can I know what is the problem :)? |
(0005900)
jsantos 2019-07-24 16:19 |
I don't know what is going on because I am not able to reproduce it in the iPads we have here. I ordered an iPad2 for testing. |
(0005902)
ivan_b 2019-07-25 21:37 |
Here is the project. I have tested it on the iPad 2 and the problem is still there. I will just need to check that it works on the iPad Air. I will let you know as soon as possible. |
(0005903)
ivan_b 2019-07-25 21:47 |
I Have uploaded the wrong Assests folder. This should be the correct one. |
(0005904)
jsantos 2019-07-25 21:52 |
Thanks, please, let me know when you verify it works in the iPad Air. |
(0005913)
ivan_b 2019-07-30 21:49 |
Sorry for the late reply but I could test this only today. I can confirm that it works on the iPad Air. |
(0005917)
jsantos 2019-08-08 17:19 |
Thanks for the feedback! I will keep you posted. |
(0005922)
jsantos 2019-08-12 17:44 |
I already tested this on iPad2 and I am able to reproduce the issue. That's a good start... :) |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1489 | [NoesisGUI] C++ SDK | minor | have not tried | 2019-06-12 10:41 | 2019-08-12 18:42 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.3 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.4 | ||
Target Version: | 2.2.4 | ||||
Platform: | Any | ||||
Summary: | Can't get Touch captured element | ||||
Description: |
There is no API to get information about the captured element for a touch device. WPF touch events provide the TouchDevice (associated with a finger on the screen) being affected by the touch event, and that class expose the Captured element. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1488 | [NoesisGUI] C++ SDK | minor | have not tried | 2019-06-12 10:37 | 2019-08-12 15:50 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.3 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.4 | ||
Target Version: | 2.2.4 | ||||
Platform: | Any | ||||
Summary: | LostTouchCapture not raised after manipulations are completed | ||||
Description: | When a manipulation starts it tries to capture the touch device, but it is not releasing that capture when the manipulation finishes and raising the LostTouchCapture event. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1496 | [NoesisGUI] C# SDK | minor | have not tried | 2019-06-18 22:34 | 2019-08-09 12:43 |
Reporter: | Vince_1990 | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 2.2.3 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Windows | ||||
Summary: | Textblock inside Textblock won't render | ||||
Description: |
<TextBlock Text="Hello"> <TextBlock Text="World"/> </TextBlock> |
||||
Tags: | C# | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0005743)
sfernandez 2019-06-19 11:44 |
There is a workaround until we fix this, using Run inlines instead: https://www.noesisengine.com/forums/viewtopic.php?f=3&t=1672&p=9573&hilit=TextBlock#p9573 |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1527 | [NoesisGUI] C# SDK | crash | always | 2019-08-01 18:12 | 2019-08-07 16:35 |
Reporter: | asusralis | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.3 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.4 | ||
Target Version: | 2.2.4 | ||||
Platform: | Any | ||||
Summary: | Using the delegate version of VisualTree.HitTest crashes Unity | ||||
Description: | Reference: https://www.noesisengine.com/forums/viewtopic.php?f=3&t=1768 | ||||
Tags: | |||||
Steps To Reproduce: |
Noesis.Visual root = (Noesis.Visual)Noesis.VisualTreeHelper.GetRoot(view.Content); Noesis.HitTestResult result = null; Noesis.VisualTreeHelper.HitTest(root, (target) => { var element = target as Noesis.UIElement; if ((element != null) && (!element.IsHitTestVisible || !element.IsVisible)) { return Noesis.HitTestFilterBehavior.ContinueSkipSelfAndChildren; } else { return Noesis.HitTestFilterBehavior.Continue; } }, (target) => { result = target; return Noesis.HitTestResultBehavior.Stop; }, new Noesis.PointHitTestParameters(new Noesis.Point(Input.mousePosition.x, Screen.height - Input.mousePosition.y))); return result?.VisualHit != null; |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1529 | [NoesisGUI] C++ SDK | major | always | 2019-08-07 13:38 | 2019-08-07 14:08 |
Reporter: | asusralis | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.3 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.4 | ||
Target Version: | 2.2.4 | ||||
Platform: | Any | ||||
Summary: | Infinite layout loop if using the same Visual as Content for 2 ContentPresenters | ||||
Description: | https://www.noesisengine.com/forums/viewtopic.php?f=3&t=1771 | ||||
Tags: | |||||
Steps To Reproduce: |
<Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <Grid.Resources> <ResourceDictionary> <Grid x:Key="A"/> </ResourceDictionary> </Grid.Resources> <Border> <StackPanel> <ContentControl Grid.Row="2" Content="{DynamicResource A}" /> <ContentControl Grid.Row="2" Content="{DynamicResource A}" /> </StackPanel> </Border> </Grid> |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1523 | [NoesisGUI] C# SDK | crash | always | 2019-07-24 18:34 | 2019-07-27 04:27 |
Reporter: | ai_enabled | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 2.2.3 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Stopped on breakpoint in Noesis.dll release version | ||||
Description: |
Hi guys. That's it, the game crashed for us suddenly. I've opened the crash dump and turns out this is a simple breakpoint you've set. I'm surprised the release version DLL (which I've got from NuGet) have breakpoints! Regards! |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
Screenshot at 20-23-16.jpg (279,034 bytes) 2019-07-24 18:34 https://www.noesisengine.com/bugs/file_download.php?file_id=1090&type=bug CryoFall_Client.exe.6064.dmp.7z (4,012,760 bytes) 2019-07-24 18:34 https://www.noesisengine.com/bugs/file_download.php?file_id=1091&type=bug |
||||
Notes | |
(0005905)
jsantos 2019-07-26 00:43 |
It is not a breakpoint (we don't have breakpoints in release). It is random memory filled with 'int3' (breakpoint instruction). @sfernandez it seems to be a BindingExpression whose source is corrupted (already deleted). I assume this is not easy to reproduce, right? |
(0005906)
ai_enabled 2019-07-26 00:47 |
Hmm that's interesting to hear :-) after working for decades with managed code I'm truly surprised with such error :-) Ok good to hear breakpoints are stripped away. Yes, this is an absolutely random issue and we never saw it again. |
(0005908)
stonstad 2019-07-27 04:27 |
Is filling memory with int3 a guard or mitigation against buffer overflows and unwanted code execution? |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1525 | [NoesisGUI] C++ SDK | minor | always | 2019-07-26 10:21 | 2019-07-26 10:22 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 2.2.3 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Cannot use escaped quotes in binding StringFormat | ||||
Description: |
Escaped quotes in StringFormat work in WPF but not in Noesis. Given the following xaml the text shown in the binding is: WPF: "Michael's Profile" Noesis: "Michael's Profile, FallbackValue=UserName's Profile" |
||||
Tags: | |||||
Steps To Reproduce: |
<Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <StackPanel HorizontalAlignment="Center" VerticalAlignment="Center"> <TextBlock x:Name="txt1" Text="Michael" Foreground="Blue"/> <TextBlock Text="{Binding Text, ElementName=txt1, StringFormat={}{0}\'s Profile, FallbackValue=UserName\'s Profile}"/> </StackPanel> </Grid> |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1458 | [NoesisGUI] Unity3D | minor | always | 2019-04-29 16:41 | 2019-07-24 12:24 |
Reporter: | stonstad | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | not fixable | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 2.2.4 | ||||
Platform: | Any | ||||
Summary: | Error On Subsequent Package Import | ||||
Description: | I always get the error message shown (encl. erroronpackageimport.png) when I import a newer version of Noesis. I am currently having to delete the DLL, which causes problems for assets, which sometimes need to be rebuilt as a result. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
ErrorOnPackageImport.PNG (19,505 bytes) 2019-04-29 16:41 https://www.noesisengine.com/bugs/file_download.php?file_id=1012&type=bug Error.PNG (11,063 bytes) 2019-06-13 18:02 https://www.noesisengine.com/bugs/file_download.php?file_id=1029&type=bug |
||||
Notes | |
(0005699)
stonstad 2019-06-13 18:02 |
Confirmed this happens with 2.2.3. |
(0005700)
jsantos 2019-06-14 14:02 |
We have contacted Unity many times about this. It is an awful limitation of native plugins in Unity. If you import a new package that tries to overwrite a native library (Noesis.dll) that is being used by Unity you will get that error, the package will be imported but you will have a mix of the new package and old one and the chances of crashing are high. Aren't you getting a message (from our plugin) about restarting Unity? We try to detect that scenario and recommend restarting Unity. It is also commented in the Unity tutorial. Although I think we should put more emphasis in that: "Although not strictly necessary we recommend closing Unity and removing the folders '/Assets/NoesisGUI/Plugins and '/Assets/NoesisGUI/Samples' before installing a new version of NoesisGUI" |
(0005702)
stonstad 2019-06-14 14:41 |
I didn't get to the restart message -- I think because I chose force quit and then deleted the files. I completely accept this as a limitation of Unity and I'm able to work around it. |
(0005899)
sfernandez 2019-07-24 12:24 |
Unity limitation, can't fix. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1490 | [NoesisGUI] Unity3D | major | have not tried | 2019-06-13 18:01 | 2019-07-24 12:23 |
Reporter: | stonstad | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.3 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.4 | ||
Target Version: | 2.2.4 | ||||
Platform: | Windows | ||||
Summary: | Upgrade from 2.2.2 to 2.2.3 Crash and Corruption | ||||
Description: |
During the progress bar "Upgrading" step of 2.2.3 installation the Unity editor crashed. Upon project restart all game objects using Noesis are missing scripts and associated settings. Editor crash dump included. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
Crash_2019-06-13_155334807.zip (343,369 bytes) 2019-06-13 18:01 https://www.noesisengine.com/bugs/file_download.php?file_id=1028&type=bug |
||||
Notes | |
(0005701)
jsantos 2019-06-14 14:07 (Last edited: 2019-06-14 14:32) |
do everything work If you upgrade de package following the instructions in https://www.noesisengine.com/bugs/view.php?id=1458#c5700? |
(0005703)
stonstad 2019-06-14 14:43 |
This happened when 1) closed Unity (due to lock), 2) deleted file, 3) reopened Unity, 4) imported package. If I understand correctly, I should delete the entire folder structure and maybe this is why it happened? |
(0005712)
sfernandez 2019-06-14 16:31 |
Following the steps you described I'm not able to make Unity crash. After closing Unity, deleting Noesis.dll and opening Unity again I get an error message indicating that Noesis.dll is missing, but then I import NoesisGUI 2.2.3 again and the installation finishes fine and I can run any sample. Would it be possible to get a copy of your project so we can debug what is happening? We can make this ticket private for that matter. |
(0005713)
jsantos 2019-06-14 16:37 (Last edited: 2019-06-14 16:39) |
I don't think it makes sense getting the project for this purpose. The plugin is in bad-state (mismatch of source and noesis.dll). I think we should put more emphasis in the upgrading process. And note, that the upgrading process is not deleting Noesis.dll and upgrading again. The procedure is: 1. Close Unity. 2. Remove the plugin (/Assets/NoesisGUI/Plugins and '/Assets/NoesisGUI/Samples') 3. Launch Unity. You will get errors because Noesis is missing, that's fine 4. Import Noesis 5. Errors gone and everything should be working |
(0005714)
jsantos 2019-06-14 16:38 |
What I don't understand is why the upgrading is happening, because we detect that the dll is mismatched and recommend restarting Unity. If you restart Unity at that point (without removing noesis.dll), the upgrading process should continue and you should get the welcome screen. |
(0005715)
jsantos 2019-06-14 16:40 |
So, just to avoid confusion. If when importing a new version of Noesis, Noesis.dll is locked, we detect it, emit a message about restarting and just restarting should finish the update process and show the welcome screen. That's not happening and we need to understand why. |
(0005716)
stonstad 2019-06-14 17:00 |
In hindsight I suspect the crash during upgrade might be caused by https://www.noesisengine.com/bugs/view.php?id=1491. The non-debug 2.2.3 library crashes about once per hour, but sometimes it crashes more frequently. |
(0005898)
sfernandez 2019-07-24 12:23 |
Related to #1491. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1514 | [NoesisGUI] C++ SDK | major | always | 2019-07-04 08:54 | 2019-07-18 21:23 |
Reporter: | nikobarli | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.3 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.4 | ||
Target Version: | 2.2.4 | ||||
Platform: | Any | ||||
Summary: | [TSF] Candidate window is always shown even if the focus is not on TextBox or any input related control | ||||
Description: |
1. Create any window with empty XAML e.g. <Grid></Grid> 2. Enable Japanese Input 3. Type some text // Candidate window is shown on top-left corner of the screen (see attachment) I expect that the candidate window is not shown, because we are not focusing to any input element. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
TSFCandidateWindow.PNG (171,765 bytes) 2019-07-04 08:54 https://www.noesisengine.com/bugs/file_download.php?file_id=1063&type=bug |
||||
Notes | |
(0005810)
sfernandez 2019-07-05 17:19 (Last edited: 2019-07-05 17:20) |
The problem was that TSF was not initially disabled when initialized. You can change TSF::Init to use disabled document manager on start:void TSF::Init() { if (gInitCount++ == 0) { V(CoInitializeEx(NULL, COINIT_APARTMENTTHREADED)); V(CoCreateInstance(CLSID_TF_ThreadMgr, 0, CLSCTX_INPROC_SERVER, IID_ITfThreadMgr, (void**)&gThreadMgr)); V(gThreadMgr->Activate(&gClientId)); CreateTextBoxDocument(); CreatePassBoxDocument(); CreateDisabledDocument(); ConfigureJapaneseIME(); V(gThreadMgr->SetFocus(gDisabledDocumentMgr)); } } We will update our code for next release. |
(0005816)
nikobarli 2019-07-09 10:55 (Last edited: 2019-07-09 10:56) |
Hi, the fix you mentioned avoid the candidate window appearing on initial application startup. But, if I deactivate -> reactivate the window, the candidate window appeared again although the behavior is different (only appears when I typed the first alphabet, disappears when two or more alphabets completes a construction of one katakana/hiragana) |
(0005817)
sfernandez 2019-07-09 14:24 |
There was another disable code missing in TSF::MoveWindow:void TSF::MoveWindow(void* hWnd) { NS_LOG_TRACE("MoveWindow(hWnd=%p)", hWnd); if (gCurrentWindow == hWnd && gThreadMgr != 0) { NS_ASSERT(gTextBoxStore != 0); if (gTextBoxStore->IsEnabled()) { V(gThreadMgr->SetFocus(gTextBoxDocumentMgr)); gTextBoxStore->OnLayoutChanged(); } else if (gPassBoxStore->IsEnabled()) { V(gThreadMgr->SetFocus(gPassBoxDocumentMgr)); gPassBoxStore->OnLayoutChanged(); } else { V(gThreadMgr->SetFocus(gDisabledDocumentMgr)); } } } This should fix it, could you please confirm it works as expected in your application? |
(0005818)
nikobarli 2019-07-09 14:56 (Last edited: 2019-07-09 14:56) |
Hhhmhh, it fixed the scenario I mentioned above. But now I cannot perform kanji conversion because anytime the alphabet sequence I input forms a valid hiragana/katakana, the hiragana/katakana is immediately recognized as the final input (the candidate window immediately disappears). For example, normally I can type 'kanji' which will be shown as 'かんじ', then I use space key to select how I convert those hiraganas into a kanji e.g. 漢字 or 幹事. But now, I don't have the chance for conversion because at the point I typed 'ka', it immediately fixed my input into hiragana 'か'. |
(0005819)
sfernandez 2019-07-09 15:56 |
I can't reproduce your scenario, I can type the whole 'kanji' word and the candidate window does not close. Are you getting a call to TSF::HideKeyboard after typing 'ka'? |
(0005835)
nikobarli 2019-07-10 06:50 (Last edited: 2019-07-10 06:51) |
No, TSF::HideKeyboard is not being called. If I removed the line V(gThreadMgr->SetFocus(gDisabledDocumentMgr)); from TSF::Init() and let the following lines in TSF::MoveWindow() else { V(gThreadMgr->SetFocus(gDisabledDocumentMgr)); } then it works. Maybe the gThreadMgr->SetFocus() shouldn't be called at the Init() timing ? |
(0005840)
sfernandez 2019-07-11 12:54 |
TSF::MoveWindow would always be called when the application starts and activates the main window because we found that enabling a TSF document was not working while handling the WM_ACTIVATE message so we forced a WM_EXITSIZEMOVE message to do that. I guess then that it is safe to leave the Disable code only in the MoveWindow function if it is working for you that way. To be honest Text Service Framework documentation is so minimal and horrible that developing this is mostly by try and error if you are not able to find a similar example in the web. We will update our application framework as you suggested, thanks a lot for the feedback. |
(0005844)
nikobarli 2019-07-12 01:25 |
Hi Sergio, Ok, thanks for the support. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1388 | [NoesisGUI] Unity3D | block | unable to reproduce | 2019-01-10 19:38 | 2019-07-18 21:18 |
Reporter: | asusralis | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.1.0f1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.4 | ||
Target Version: | 2.2.4 | ||||
Platform: | Any | ||||
Summary: | XAML freezes Unity on Begin MonoManager ReloadAssembly | ||||
Description: |
Forum reference: https://www.noesisengine.com/forums/viewtopic.php?f=3&p=8910#p8910 After dealing with random freezing in Unity for a week, we think we've pinned it down to an XAML change. <ItemsControl Grid.Row="2" Grid.RowSpan="2" ItemsSource="{Binding Character.Specialty.Skills}"> <ItemsControl.ItemsPanel> <ItemsPanelTemplate> <StackPanel Orientation="Horizontal"/> </ItemsPanelTemplate> </ItemsControl.ItemsPanel> <ItemsControl.ItemTemplate> <DataTemplate> <Image Source="{Binding Icon}" Margin="5"/> </DataTemplate> </ItemsControl.ItemTemplate> </ItemsControl> Code: [JsonIgnore] public Noesis.TextureSource Icon { get { return new Noesis.TextureSource(Resources.Load<Texture2D>("Icons/Icon.1_01")); } } The icon shows, but after the instance of the game in the editor is closed and then opened again, it freezes before it can start. The last lines in the editor logs reads: Reloading assemblies for play mode. Begin MonoManager ReloadAssembly The engine will also not compile after the game has played once. It will also get stuck on Begin MonoManager ReloadAssembly. Calling the Icon property anywhere else will not freeze the editor - only after the binding is binded to the Icon property. The freeze will also not happen if the texture itself is null. |
||||
Tags: | |||||
Steps To Reproduce: | Cannot reproduce in a new project. Binding needs to bind to a TextureSource and the texture itself cannot null. No runtime freezes, but after you close the instance of the game in the editor it can either freeze by clicking play again, compiling, or importing something. | ||||
Additional Information: | |||||
Attached Files: |
Inventory.zip (12,308 bytes) 2019-05-16 12:20 https://www.noesisengine.com/bugs/file_download.php?file_id=1018&type=bug NoesisView.cs (42,094 bytes) 2019-07-16 12:06 https://www.noesisengine.com/bugs/file_download.php?file_id=1079&type=bug NoesisTexture.cs (963 bytes) 2019-07-16 12:06 https://www.noesisengine.com/bugs/file_download.php?file_id=1080&type=bug |
||||
Notes | |
(0005393)
nokola 2019-01-11 04:16 |
I have a similar problem (Unity hangs up) when assigning Texture2D to Image.Source in C#. Very open to testing a fix in a private build once you have it :) Or can wait for the public new version. |
(0005426)
sfernandez 2019-01-30 14:01 (Last edited: 2019-01-30 14:02) |
I created a test following the indications and I'm not able to reproduce the freezing. @asusralis Could you please attach Visual Studio debugger to Unity process when it is frozen, pause the process and generate a Minidump (Debug menu > Save Dump As...)? @nokola Do you have a deterministic way of reproducing the hangs? Would it be possible to share with us in private your project to see if we can reproduce it ourselves and debug it? |
(0005594)
sfernandez 2019-04-05 12:32 |
Any chance to generate a mini-dump when the Unity process is frozen? |
(0005680)
NirHasson 2019-05-16 12:20 (Last edited: 2019-05-16 12:27) |
Hi, I've stumbled with the same issue. Was able to reproduce in your Inventory sample, see attached sources. You'll have to run the sample and drag an item just to run my code that triggers image source property changed notification |
(0005681)
NirHasson 2019-05-16 12:21 |
In General, to solve it now you can use a utility class that returns cached Noesis.TextureSource for any existing UnityEngine.Texture2D |
(0005843)
asusralis 2019-07-11 23:55 |
I've ran into this problem again with a separate project. As soon as Unity froze I realized this was it! "Save Dump as..." is grayed out. How would I be able to do that? |
(0005845)
sfernandez 2019-07-12 13:10 |
In windows Task Manager, expand "Unity Editor", right click on the process "Unity Editor 2019.1.....", and then "Create dump file". It should be enabled for that inner process. |
(0005848)
asusralis 2019-07-13 06:10 |
Here it is! https://drive.google.com/open?id=1BHwP0Zj4LNxlapWST0HqFOWeTyJ5qLqS |
(0005849)
stonstad 2019-07-13 17:16 |
I'm running into an issue where, after ReloadAssembly, Unity is running but cannot be focused. I try to alt-tab to Unity but it does not gain keyboard or mouse input focus. Is this how your Unity "freezes" or is the freeze behavior different? |
(0005850)
asusralis 2019-07-15 00:28 |
That's the problem I have. This is what the task manager looks like: https://i.imgur.com/ovJeLOv.png |
(0005860)
sfernandez 2019-07-16 12:06 |
Found a workaround to avoid Unity lock-ups, it is not the final solution but will improve your productivity until we release the fix. Just overwrite the attached files. |
(0005862)
asusralis 2019-07-16 12:40 |
I think the NoesisView file is extremely different from mine - that has 1,200 lines of code, but mine has 600. The file you sent me also doesn't have NoesisView in the Noesis namespace so I have 228 errors about ambiguity. Even when I put it in the Noesis namespace there are are 9 errors: https://i.imgur.com/14U6f5Y.png The NoesisTexture seemed to not have any errors. |
(0005863)
sfernandez 2019-07-16 14:03 |
Sorry, I forgot to mention that attached files correspond to the ones found under Assets/NoesisGUI/Plugins folder. Don't overwrite NoesisView.cs inside API/Core folder. |
(0005864)
sfernandez 2019-07-16 14:07 |
Also remark that these files are for NoesisGUI 2.2.3 version. In case you are using an older version, go to NoesisGUI/Plugins/NoesisView.cs file and modify the function DestroyView() as follows: private void DestroyView() { if (_uiView != null) { lock (Noesis.Texture.Textures) { foreach (Noesis.Texture tex in Noesis.Texture.Textures) { tex.SetPrivateData(null); } Noesis.Texture.Textures.Clear(); } // ... } } |
(0005865)
asusralis 2019-07-16 14:25 |
Oh, sorry! I replaced the two files. That's awesome you found the problem! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1519 | [NoesisGUI] C++ SDK | minor | always | 2019-07-16 09:03 | 2019-07-16 10:29 |
Reporter: | nikobarli | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 2.2.3 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Windows | ||||
Summary: | Tab-control focusing using Shift-tab is different from WPF | ||||
Description: |
Follow up for https://www.noesisengine.com/forums/viewtopic.php?f=3&t=1129 and https://bugs.noesisengine.com/view.php?id=1121 Tab-control focusing using Shift-tab is different from WPF. <Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <StackPanel HorizontalAlignment="Center" VerticalAlignment="Center"> <Button Content="Button 1"/> <TabControl Margin="0,20"> <TabItem Header="Tab1"> <Button Content="Button Tab 1" Margin="20"/> </TabItem> <TabItem Header="Tab2"> <Button Content="Button Tab 2" Margin="10"/> </TabItem> </TabControl> <Button Content="Button 2"/> </StackPanel> </Grid> In WPF pressing Shift+Tab will jump from "Button 2" to "Button Tab 1", then "TabControl", and finally "Button 1"; In Noesis it will go from "Button 2" to "TabControl" and finally to "Button 1", we are incorrectly skipping the content of the TabItem when moving focus backwards. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1515 | [NoesisGUI] Unity3D | crash | always | 2019-07-09 14:40 | 2019-07-10 13:07 |
Reporter: | shawn | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.3 | ||
Product Build: | Resolution: | reopened | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.4 | ||
Target Version: | 2.2.4 | ||||
Platform: | Any | ||||
Summary: | Unity Crashed when I use control template for Slider | ||||
Description: |
I want to change the appearance of a Slider, So i dit it by use control template. I clicked Edit Template->Edit a Copy and then I changed nothing. when I back to Unity Engine and selected the xaml asset. Unity must crash |
||||
Tags: | |||||
Steps To Reproduce: |
<UserControl x:Class="Login.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity" xmlns:ei="http://schemas.microsoft.com/expression/2010/interactions" xmlns:local="clr-namespace:Login" x:Name="Root" d:DesignWidth="1280" d:DesignHeight="720" FontFamily="./#Aero Matics" Foreground="#FF488EB5" Focusable="True"> <UserControl.Resources> <ResourceDictionary> <ResourceDictionary.MergedDictionaries> <ResourceDictionary Source="Resources.xaml"/> </ResourceDictionary.MergedDictionaries> <SolidColorBrush x:Key="SliderThumb.Static.Foreground" Color="#FFE5E5E5"/> <SolidColorBrush x:Key="SliderThumb.MouseOver.Background" Color="#FFDCECFC"/> <SolidColorBrush x:Key="SliderThumb.MouseOver.Border" Color="#FF7Eb4EA"/> <SolidColorBrush x:Key="SliderThumb.Pressed.Background" Color="#FFDAECFC"/> <SolidColorBrush x:Key="SliderThumb.Pressed.Border" Color="#FF569DE5"/> <SolidColorBrush x:Key="SliderThumb.Disabled.Background" Color="#FFF0F0F0"/> <SolidColorBrush x:Key="SliderThumb.Disabled.Border" Color="#FFD9D9D9"/> <SolidColorBrush x:Key="SliderThumb.Static.Background" Color="#FFF0F0F0"/> <SolidColorBrush x:Key="SliderThumb.Static.Border" Color="#FFACACAC"/> <ControlTemplate x:Key="SliderThumbHorizontalTop" TargetType="{x:Type Thumb}"> <Grid HorizontalAlignment="Center" UseLayoutRounding="True" VerticalAlignment="Center"> <Path x:Name="grip" Data="M 0,6 C0,6 5.5,0 5.5,0 5.5,0 11,6 11,6 11,6 11,18 11,18 11,18 0,18 0,18 0,18 0,6 0,6 z" Fill="{StaticResource SliderThumb.Static.Background}" Stretch="Fill" SnapsToDevicePixels="True" Stroke="{StaticResource SliderThumb.Static.Border}" StrokeThickness="1" UseLayoutRounding="True" VerticalAlignment="Center"/> </Grid> <ControlTemplate.Triggers> <Trigger Property="IsMouseOver" Value="true"> <Setter Property="Fill" TargetName="grip" Value="{StaticResource SliderThumb.MouseOver.Background}"/> <Setter Property="Stroke" TargetName="grip" Value="{StaticResource SliderThumb.MouseOver.Border}"/> </Trigger> <Trigger Property="IsDragging" Value="true"> <Setter Property="Fill" TargetName="grip" Value="{StaticResource SliderThumb.Pressed.Background}"/> <Setter Property="Stroke" TargetName="grip" Value="{StaticResource SliderThumb.Pressed.Border}"/> </Trigger> <Trigger Property="IsEnabled" Value="false"> <Setter Property="Fill" TargetName="grip" Value="{StaticResource SliderThumb.Disabled.Background}"/> <Setter Property="Stroke" TargetName="grip" Value="{StaticResource SliderThumb.Disabled.Border}"/> </Trigger> </ControlTemplate.Triggers> </ControlTemplate> <ControlTemplate x:Key="SliderThumbHorizontalBottom" TargetType="{x:Type Thumb}"> <Grid HorizontalAlignment="Center" UseLayoutRounding="True" VerticalAlignment="Center"> <Path x:Name="grip" Data="M 0,12 C0,12 5.5,18 5.5,18 5.5,18 11,12 11,12 11,12 11,0 11,0 11,0 0,0 0,0 0,0 0,12 0,12 z" Fill="{StaticResource SliderThumb.Static.Background}" Stretch="Fill" SnapsToDevicePixels="True" Stroke="{StaticResource SliderThumb.Static.Border}" StrokeThickness="1" UseLayoutRounding="True" VerticalAlignment="Center"/> </Grid> <ControlTemplate.Triggers> <Trigger Property="IsMouseOver" Value="true"> <Setter Property="Fill" TargetName="grip" Value="{StaticResource SliderThumb.MouseOver.Background}"/> <Setter Property="Stroke" TargetName="grip" Value="{StaticResource SliderThumb.MouseOver.Border}"/> </Trigger> <Trigger Property="IsDragging" Value="true"> <Setter Property="Fill" TargetName="grip" Value="{StaticResource SliderThumb.Pressed.Background}"/> <Setter Property="Stroke" TargetName="grip" Value="{StaticResource SliderThumb.Pressed.Border}"/> </Trigger> <Trigger Property="IsEnabled" Value="false"> <Setter Property="Fill" TargetName="grip" Value="{StaticResource SliderThumb.Disabled.Background}"/> <Setter Property="Stroke" TargetName="grip" Value="{StaticResource SliderThumb.Disabled.Border}"/> </Trigger> </ControlTemplate.Triggers> </ControlTemplate> <SolidColorBrush x:Key="SliderThumb.Track.Border" Color="#FFD6D6D6"/> <SolidColorBrush x:Key="SliderThumb.Track.Background" Color="#FFE7EAEA"/> <Style x:Key="RepeatButtonTransparent" TargetType="{x:Type RepeatButton}"> <Setter Property="OverridesDefaultStyle" Value="true"/> <Setter Property="Background" Value="Transparent"/> <Setter Property="Focusable" Value="false"/> <Setter Property="IsTabStop" Value="false"/> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type RepeatButton}"> <Rectangle Fill="{TemplateBinding Background}" Height="{TemplateBinding Height}" Width="{TemplateBinding Width}"/> </ControlTemplate> </Setter.Value> </Setter> </Style> <ControlTemplate x:Key="SliderThumbHorizontalDefault" TargetType="{x:Type Thumb}"> <Grid HorizontalAlignment="Center" UseLayoutRounding="True" VerticalAlignment="Center"> <Path x:Name="grip" Data="M 0,0 C0,0 11,0 11,0 11,0 11,18 11,18 11,18 0,18 0,18 0,18 0,0 0,0 z" Fill="{StaticResource SliderThumb.Static.Background}" Stretch="Fill" SnapsToDevicePixels="True" Stroke="{StaticResource SliderThumb.Static.Border}" StrokeThickness="1" UseLayoutRounding="True" VerticalAlignment="Center"/> </Grid> <ControlTemplate.Triggers> <Trigger Property="IsMouseOver" Value="true"> <Setter Property="Fill" TargetName="grip" Value="{StaticResource SliderThumb.MouseOver.Background}"/> <Setter Property="Stroke" TargetName="grip" Value="{StaticResource SliderThumb.MouseOver.Border}"/> </Trigger> <Trigger Property="IsDragging" Value="true"> <Setter Property="Fill" TargetName="grip" Value="{StaticResource SliderThumb.Pressed.Background}"/> <Setter Property="Stroke" TargetName="grip" Value="{StaticResource SliderThumb.Pressed.Border}"/> </Trigger> <Trigger Property="IsEnabled" Value="false"> <Setter Property="Fill" TargetName="grip" Value="{StaticResource SliderThumb.Disabled.Background}"/> <Setter Property="Stroke" TargetName="grip" Value="{StaticResource SliderThumb.Disabled.Border}"/> </Trigger> </ControlTemplate.Triggers> </ControlTemplate> <ControlTemplate x:Key="SliderHorizontal" TargetType="{x:Type Slider}"> <Border x:Name="border" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" SnapsToDevicePixels="True"> <Grid> <Grid.RowDefinitions> <RowDefinition Height="Auto"/> <RowDefinition Height="Auto" MinHeight="{TemplateBinding MinHeight}"/> <RowDefinition Height="Auto"/> </Grid.RowDefinitions> <TickBar x:Name="TopTick" Fill="{TemplateBinding Foreground}" Height="4" Margin="0,0,0,2" Placement="Top" Grid.Row="0" Visibility="Collapsed"/> <TickBar x:Name="BottomTick" Fill="{TemplateBinding Foreground}" Height="4" Margin="0,2,0,0" Placement="Bottom" Grid.Row="2" Visibility="Collapsed"/> <Border x:Name="TrackBackground" BorderBrush="{StaticResource SliderThumb.Track.Border}" BorderThickness="1" Background="{StaticResource SliderThumb.Track.Background}" Height="4.0" Margin="5,0" Grid.Row="1" VerticalAlignment="center"> <Canvas Margin="-6,-1"> <Rectangle x:Name="PART_SelectionRange" Fill="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}" Height="4.0" Visibility="Hidden"/> </Canvas> </Border> <Track x:Name="PART_Track" Grid.Row="1"> <Track.DecreaseRepeatButton> <RepeatButton Command="{x:Static Slider.DecreaseLarge}" Style="{StaticResource RepeatButtonTransparent}"/> </Track.DecreaseRepeatButton> <Track.IncreaseRepeatButton> <RepeatButton Command="{x:Static Slider.IncreaseLarge}" Style="{StaticResource RepeatButtonTransparent}"/> </Track.IncreaseRepeatButton> <Track.Thumb> <Thumb x:Name="Thumb" Focusable="False" Height="18" OverridesDefaultStyle="True" Template="{StaticResource SliderThumbHorizontalDefault}" VerticalAlignment="Center" Width="11"/> </Track.Thumb> </Track> </Grid> </Border> <ControlTemplate.Triggers> <Trigger Property="TickPlacement" Value="TopLeft"> <Setter Property="Visibility" TargetName="TopTick" Value="Visible"/> <Setter Property="Template" TargetName="Thumb" Value="{StaticResource SliderThumbHorizontalTop}"/> <Setter Property="Margin" TargetName="TrackBackground" Value="5,2,5,0"/> </Trigger> <Trigger Property="TickPlacement" Value="BottomRight"> <Setter Property="Visibility" TargetName="BottomTick" Value="Visible"/> <Setter Property="Template" TargetName="Thumb" Value="{StaticResource SliderThumbHorizontalBottom}"/> <Setter Property="Margin" TargetName="TrackBackground" Value="5,0,5,2"/> </Trigger> <Trigger Property="TickPlacement" Value="Both"> <Setter Property="Visibility" TargetName="TopTick" Value="Visible"/> <Setter Property="Visibility" TargetName="BottomTick" Value="Visible"/> </Trigger> <Trigger Property="IsSelectionRangeEnabled" Value="true"> <Setter Property="Visibility" TargetName="PART_SelectionRange" Value="Visible"/> </Trigger> <Trigger Property="IsKeyboardFocused" Value="true"> <Setter Property="Foreground" TargetName="Thumb" Value="Blue"/> </Trigger> </ControlTemplate.Triggers> </ControlTemplate> <ControlTemplate x:Key="SliderThumbVerticalLeft" TargetType="{x:Type Thumb}"> <Grid HorizontalAlignment="Center" UseLayoutRounding="True" VerticalAlignment="Center"> <Path x:Name="grip" Data="M 6,11 C6,11 0,5.5 0,5.5 0,5.5 6,0 6,0 6,0 18,0 18,0 18,0 18,11 18,11 18,11 6,11 6,11 z" Fill="{StaticResource SliderThumb.Static.Background}" Stretch="Fill" Stroke="{StaticResource SliderThumb.Static.Border}"/> </Grid> <ControlTemplate.Triggers> <Trigger Property="IsMouseOver" Value="true"> <Setter Property="Fill" TargetName="grip" Value="{StaticResource SliderThumb.MouseOver.Background}"/> <Setter Property="Stroke" TargetName="grip" Value="{StaticResource SliderThumb.MouseOver.Border}"/> </Trigger> <Trigger Property="IsDragging" Value="true"> <Setter Property="Fill" TargetName="grip" Value="{StaticResource SliderThumb.Pressed.Background}"/> <Setter Property="Stroke" TargetName="grip" Value="{StaticResource SliderThumb.Pressed.Border}"/> </Trigger> <Trigger Property="IsEnabled" Value="false"> <Setter Property="Fill" TargetName="grip" Value="{StaticResource SliderThumb.Disabled.Background}"/> <Setter Property="Stroke" TargetName="grip" Value="{StaticResource SliderThumb.Disabled.Border}"/> </Trigger> </ControlTemplate.Triggers> </ControlTemplate> <ControlTemplate x:Key="SliderThumbVerticalRight" TargetType="{x:Type Thumb}"> <Grid HorizontalAlignment="Center" UseLayoutRounding="True" VerticalAlignment="Center"> <Path x:Name="grip" Data="M 12,11 C12,11 18,5.5 18,5.5 18,5.5 12,0 12,0 12,0 0,0 0,0 0,0 0,11 0,11 0,11 12,11 12,11 z" Fill="{StaticResource SliderThumb.Static.Background}" Stretch="Fill" Stroke="{StaticResource SliderThumb.Static.Border}"/> </Grid> <ControlTemplate.Triggers> <Trigger Property="IsMouseOver" Value="true"> <Setter Property="Fill" TargetName="grip" Value="{StaticResource SliderThumb.MouseOver.Background}"/> <Setter Property="Stroke" TargetName="grip" Value="{StaticResource SliderThumb.MouseOver.Border}"/> </Trigger> <Trigger Property="IsDragging" Value="true"> <Setter Property="Fill" TargetName="grip" Value="{StaticResource SliderThumb.Pressed.Background}"/> <Setter Property="Stroke" TargetName="grip" Value="{StaticResource SliderThumb.Pressed.Border}"/> </Trigger> <Trigger Property="IsEnabled" Value="false"> <Setter Property="Fill" TargetName="grip" Value="{StaticResource SliderThumb.Disabled.Background}"/> <Setter Property="Stroke" TargetName="grip" Value="{StaticResource SliderThumb.Disabled.Border}"/> </Trigger> </ControlTemplate.Triggers> </ControlTemplate> <ControlTemplate x:Key="SliderThumbVerticalDefault" TargetType="{x:Type Thumb}"> <Grid HorizontalAlignment="Center" UseLayoutRounding="True" VerticalAlignment="Center"> <Path x:Name="grip" Data="M0.5,0.5 L18.5,0.5 18.5,11.5 0.5,11.5z" Fill="{StaticResource SliderThumb.Static.Background}" Stretch="Fill" Stroke="{StaticResource SliderThumb.Static.Border}"/> </Grid> <ControlTemplate.Triggers> <Trigger Property="IsMouseOver" Value="true"> <Setter Property="Fill" TargetName="grip" Value="{StaticResource SliderThumb.MouseOver.Background}"/> <Setter Property="Stroke" TargetName="grip" Value="{StaticResource SliderThumb.MouseOver.Border}"/> </Trigger> <Trigger Property="IsDragging" Value="true"> <Setter Property="Fill" TargetName="grip" Value="{StaticResource SliderThumb.Pressed.Background}"/> <Setter Property="Stroke" TargetName="grip" Value="{StaticResource SliderThumb.Pressed.Border}"/> </Trigger> <Trigger Property="IsEnabled" Value="false"> <Setter Property="Fill" TargetName="grip" Value="{StaticResource SliderThumb.Disabled.Background}"/> <Setter Property="Stroke" TargetName="grip" Value="{StaticResource SliderThumb.Disabled.Border}"/> </Trigger> </ControlTemplate.Triggers> </ControlTemplate> <ControlTemplate x:Key="SliderVertical" TargetType="{x:Type Slider}"> <Border x:Name="border" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" SnapsToDevicePixels="True"> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="Auto"/> <ColumnDefinition MinWidth="{TemplateBinding MinWidth}" Width="Auto"/> <ColumnDefinition Width="Auto"/> </Grid.ColumnDefinitions> <TickBar x:Name="TopTick" Grid.Column="0" Fill="{TemplateBinding Foreground}" Margin="0,0,2,0" Placement="Left" Visibility="Collapsed" Width="4"/> <TickBar x:Name="BottomTick" Grid.Column="2" Fill="{TemplateBinding Foreground}" Margin="2,0,0,0" Placement="Right" Visibility="Collapsed" Width="4"/> <Border x:Name="TrackBackground" BorderBrush="{StaticResource SliderThumb.Track.Border}" BorderThickness="1" Background="{StaticResource SliderThumb.Track.Background}" Grid.Column="1" HorizontalAlignment="center" Margin="0,5" Width="4.0"> <Canvas Margin="-1,-6"> <Rectangle x:Name="PART_SelectionRange" Fill="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}" Visibility="Hidden" Width="4.0"/> </Canvas> </Border> <Track x:Name="PART_Track" Grid.Column="1"> <Track.DecreaseRepeatButton> <RepeatButton Command="{x:Static Slider.DecreaseLarge}" Style="{StaticResource RepeatButtonTransparent}"/> </Track.DecreaseRepeatButton> <Track.IncreaseRepeatButton> <RepeatButton Command="{x:Static Slider.IncreaseLarge}" Style="{StaticResource RepeatButtonTransparent}"/> </Track.IncreaseRepeatButton> <Track.Thumb> <Thumb x:Name="Thumb" Focusable="False" Height="11" OverridesDefaultStyle="True" Template="{StaticResource SliderThumbVerticalDefault}" VerticalAlignment="Top" Width="18"/> </Track.Thumb> </Track> </Grid> </Border> <ControlTemplate.Triggers> <Trigger Property="TickPlacement" Value="TopLeft"> <Setter Property="Visibility" TargetName="TopTick" Value="Visible"/> <Setter Property="Template" TargetName="Thumb" Value="{StaticResource SliderThumbVerticalLeft}"/> <Setter Property="Margin" TargetName="TrackBackground" Value="2,5,0,5"/> </Trigger> <Trigger Property="TickPlacement" Value="BottomRight"> <Setter Property="Visibility" TargetName="BottomTick" Value="Visible"/> <Setter Property="Template" TargetName="Thumb" Value="{StaticResource SliderThumbVerticalRight}"/> <Setter Property="Margin" TargetName="TrackBackground" Value="0,5,2,5"/> </Trigger> <Trigger Property="TickPlacement" Value="Both"> <Setter Property="Visibility" TargetName="TopTick" Value="Visible"/> <Setter Property="Visibility" TargetName="BottomTick" Value="Visible"/> </Trigger> <Trigger Property="IsSelectionRangeEnabled" Value="true"> <Setter Property="Visibility" TargetName="PART_SelectionRange" Value="Visible"/> </Trigger> <Trigger Property="IsKeyboardFocused" Value="true"> <Setter Property="Foreground" TargetName="Thumb" Value="Blue"/> </Trigger> </ControlTemplate.Triggers> </ControlTemplate> <Style x:Key="SliderStyle1" TargetType="{x:Type Slider}"> <Setter Property="Stylus.IsPressAndHoldEnabled" Value="false"/> <Setter Property="Background" Value="Transparent"/> <Setter Property="BorderBrush" Value="Transparent"/> <Setter Property="Foreground" Value="{StaticResource SliderThumb.Static.Foreground}"/> <Setter Property="Template" Value="{StaticResource SliderHorizontal}"/> <Style.Triggers> <Trigger Property="Orientation" Value="Vertical"> <Setter Property="Template" Value="{StaticResource SliderVertical}"/> </Trigger> </Style.Triggers> </Style> <Storyboard x:Key="Intro"> <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleX)" Storyboard.TargetName="Dialog"> <EasingDoubleKeyFrame KeyTime="0" Value="0"/> <EasingDoubleKeyFrame KeyTime="0:0:0.3" Value="0"/> <EasingDoubleKeyFrame KeyTime="0:0:0.6" Value="1"> <EasingDoubleKeyFrame.EasingFunction> <BackEase EasingMode="EaseOut" Amplitude="0.2"/> </EasingDoubleKeyFrame.EasingFunction> </EasingDoubleKeyFrame> </DoubleAnimationUsingKeyFrames> <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleY)" Storyboard.TargetName="Dialog"> <EasingDoubleKeyFrame KeyTime="0" Value="0"/> <EasingDoubleKeyFrame KeyTime="0:0:0.3" Value="0"/> <EasingDoubleKeyFrame KeyTime="0:0:0.6" Value="1"> <EasingDoubleKeyFrame.EasingFunction> <BackEase EasingMode="EaseOut" Amplitude="0.2"/> </EasingDoubleKeyFrame.EasingFunction> </EasingDoubleKeyFrame> </DoubleAnimationUsingKeyFrames> <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="Dialog"> <EasingDoubleKeyFrame KeyTime="0" Value="0"/> <EasingDoubleKeyFrame KeyTime="0:0:0.3" Value="0"/> <EasingDoubleKeyFrame KeyTime="0:0:0.6" Value="1"> <EasingDoubleKeyFrame.EasingFunction> <CubicEase EasingMode="EaseOut"/> </EasingDoubleKeyFrame.EasingFunction> </EasingDoubleKeyFrame> </DoubleAnimationUsingKeyFrames> <ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(TextElement.Foreground).(SolidColorBrush.Color)" Storyboard.TargetName="Message"> <EasingColorKeyFrame KeyTime="0" Value="Transparent"/> </ColorAnimationUsingKeyFrames> <BooleanAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.IsEnabled)" Storyboard.TargetName="LoginBtn"> <DiscreteBooleanKeyFrame KeyTime="0" Value="False"/> <DiscreteBooleanKeyFrame KeyTime="0:0:0.6" Value="True"/> </BooleanAnimationUsingKeyFrames> </Storyboard> <Storyboard x:Key="Login"> <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleX)" Storyboard.TargetName="Dialog"> <EasingDoubleKeyFrame KeyTime="0:0:0.4" Value="1"/> <EasingDoubleKeyFrame KeyTime="0:0:0.7" Value="1.2"> <EasingDoubleKeyFrame.EasingFunction> <BackEase EasingMode="EaseIn" Amplitude="0.3"/> </EasingDoubleKeyFrame.EasingFunction> </EasingDoubleKeyFrame> <EasingDoubleKeyFrame KeyTime="0:0:2" Value="1.2"/> </DoubleAnimationUsingKeyFrames> <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleY)" Storyboard.TargetName="Dialog"> <EasingDoubleKeyFrame KeyTime="0:0:0.4" Value="1"/> <EasingDoubleKeyFrame KeyTime="0:0:0.7" Value="1.2"> <EasingDoubleKeyFrame.EasingFunction> <BackEase EasingMode="EaseIn" Amplitude="0.3"/> </EasingDoubleKeyFrame.EasingFunction> </EasingDoubleKeyFrame> <EasingDoubleKeyFrame KeyTime="0:0:2" Value="1.2"/> </DoubleAnimationUsingKeyFrames> <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="Dialog"> <EasingDoubleKeyFrame KeyTime="0:0:0.4" Value="1"/> <EasingDoubleKeyFrame KeyTime="0:0:0.7" Value="0"> <EasingDoubleKeyFrame.EasingFunction> <CubicEase EasingMode="EaseIn"/> </EasingDoubleKeyFrame.EasingFunction> </EasingDoubleKeyFrame> <EasingDoubleKeyFrame KeyTime="0:0:2" Value="0"/> </DoubleAnimationUsingKeyFrames> </Storyboard> <Storyboard x:Key="ShowLoginMessage"> <ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(TextElement.Foreground).(SolidColorBrush.Color)" Storyboard.TargetName="Message"> <EasingColorKeyFrame KeyTime="0" Value="#00A3F461"/> <EasingColorKeyFrame KeyTime="0:0:0.2" Value="#FFA3F461"/> <EasingColorKeyFrame KeyTime="0:0:0.4" Value="#FF91D441"/> <EasingColorKeyFrame KeyTime="0:0:2.7" Value="#FF92D441"/> <EasingColorKeyFrame KeyTime="0:0:3.0" Value="#0092D441"/> </ColorAnimationUsingKeyFrames> </Storyboard> <Storyboard x:Key="ShowErrorMessage"> <ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(TextElement.Foreground).(SolidColorBrush.Color)" Storyboard.TargetName="Message"> <EasingColorKeyFrame KeyTime="0" Value="#00F48861"/> <EasingColorKeyFrame KeyTime="0:0:0.2" Value="#FFF48861"/> <EasingColorKeyFrame KeyTime="0:0:0.4" Value="#FFD45941"/> <EasingColorKeyFrame KeyTime="0:0:2.7" Value="#FFD45941"/> <EasingColorKeyFrame KeyTime="0:0:3.0" Value="#00D45941"/> </ColorAnimationUsingKeyFrames> </Storyboard> </ResourceDictionary> </UserControl.Resources> <Slider Style="{StaticResource SliderStyle1}" Width="150" Height="30"/> </UserControl> |
||||
Additional Information: | |||||
Attached Files: |
Crash_2019-07-09_081654312.zip (285,265 bytes) 2019-07-09 14:40 https://www.noesisengine.com/bugs/file_download.php?file_id=1064&type=bug |
||||
Notes | |
(0005820)
sfernandez 2019-07-09 18:51 |
There was a bug in DynamicResource extension when the key was null. That occurred because in the provided xaml you used x:Static to specify the key on some resources, and static extension is not supported (only in a few scenarios like enum values): <Rectangle x:Name="PART_SelectionRange" Fill="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}" Height="4.0" Visibility="Hidden"/> <Rectangle x:Name="PART_SelectionRange" Fill="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}" Visibility="Hidden" Width="4.0"/> |
(0005834)
shawn 2019-07-10 05:15 |
Thank you! but I still have a problem. if the static extension are not supported. how to write a control template for a Slider. acording to the default template. It seems that I have to write two RepeatButton and bind Command by x:Static <Track x:Name="PART_Track" Grid.Row="1"> <Track.DecreaseRepeatButton> <RepeatButton Command="{x:Static Slider.DecreaseLarge}" Style="{StaticResource RepeatButtonTransparent}"/> </Track.DecreaseRepeatButton> <Track.IncreaseRepeatButton> <RepeatButton Command="{x:Static Slider.IncreaseLarge}" Style="{StaticResource RepeatButtonTransparent}"/> </Track.IncreaseRepeatButton> <Track.Thumb> |
(0005836)
sfernandez 2019-07-10 10:17 |
Commands can be directly specified as there is a CommandConverter available which knows how to convert the string value to the corresponding Command. In our default style we have the following: <Track Grid.Row="1" x:Name="PART_Track"> <Track.DecreaseRepeatButton> <RepeatButton x:Name="DecBtn" Style="{StaticResource SliderButtonStyle}" Background="{StaticResource CheckBgBrush}" Padding="5,8,1,8" Command="Slider.DecreaseLarge"/> </Track.DecreaseRepeatButton> <Track.Thumb> <Thumb x:Name="SliderThumb" Width="10" MinHeight="20" Style="{StaticResource SliderThumbStyle}"/> </Track.Thumb> <Track.IncreaseRepeatButton> <RepeatButton Style="{StaticResource SliderButtonStyle}" Command="Slider.IncreaseLarge"/> </Track.IncreaseRepeatButton> </Track> |
(0005837)
sfernandez 2019-07-10 10:20 |
Anyway, for 2.2.4 we added support in x:Static extension to access routed commands defined in controls, so in next release the following will also be valid in Noesis:<RepeatButton Command="{x:Static Slider.DecreaseLarge}" .../> |
(0005838)
shawn 2019-07-10 11:56 |
Great! thank you so much! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1516 | [NoesisGUI] C++ SDK | minor | always | 2019-07-09 23:49 | 2019-07-10 00:37 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.3 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.4 | ||
Target Version: | 2.2.4 | ||||
Platform: | Any | ||||
Summary: | ColumnDefinition MinWidth/MaxHeight incorrectly accepting NaN values | ||||
Description: | Both ColumnDefinition and RowDefinition should define ValidateValueCallback for their properties to avoid user invalid values like NaN. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1510 | [NoesisGUI] Unity3D | crash | always | 2019-07-01 22:41 | 2019-07-09 23:53 |
Reporter: | stonstad | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.4 | ||
Product Build: | Resolution: | reopened | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.4 | ||
Target Version: | 2.2.4 | ||||
Platform: | Any | ||||
Summary: | Crash On Mouse Over | ||||
Description: |
Testing with debug/preview version of 2.2.4 shared here: https://www.noesisengine.com/bugs/view.php?id=1491. If this is a one-off caused by a diagnostic DLL or breakpoint firing please feel free to close/disregard this bug. I have a UI element that crashes consistently whenever I mouse over. The stack trace leads me to believe it is somehow associated with an easing function assigned to the screen,. ========== OUTPUTTING STACK TRACE ================== 0x00007FFE6FB422B8 (Noesis) Unbox_EasingMode 0x00007FFE6FB3A960 (Noesis) Unbox_EasingMode 0x00007FFE6F51B89A (Noesis) Unbox_EasingMode 0x00007FFE6F72CB0D (Noesis) Unbox_EasingMode 0x00007FFE6F7CFFF1 (Noesis) Unbox_EasingMode 0x00007FFE6F7CFF81 (Noesis) Unbox_EasingMode 0x00007FFE6F7CFF81 (Noesis) Unbox_EasingMode 0x00007FFE6F7CFF81 (Noesis) Unbox_EasingMode 0x00007FFE6F7CFF81 (Noesis) Unbox_EasingMode 0x00007FFE6F7CFF81 (Noesis) Unbox_EasingMode 0x00007FFE6F7CFF81 (Noesis) Unbox_EasingMode 0x00007FFE6F7CFF81 (Noesis) Unbox_EasingMode 0x00007FFE6F7CFF81 (Noesis) Unbox_EasingMode 0x00007FFE6F7CFF81 (Noesis) Unbox_EasingMode 0x00007FFE6F7CFF81 (Noesis) Unbox_EasingMode 0x00007FFE6F7CFF81 (Noesis) Unbox_EasingMode 0x00007FFE6F7CFF81 (Noesis) Unbox_EasingMode 0x00007FFE6F7CFF81 (Noesis) Unbox_EasingMode 0x00007FFE6F7CFF81 (Noesis) Unbox_EasingMode 0x00007FFE6F7CFF81 (Noesis) Unbox_EasingMode 0x00007FFE6F7CFF81 (Noesis) Unbox_EasingMode 0x00007FFE6F7CFF81 (Noesis) Unbox_EasingMode 0x00007FFE6F7CFF81 (Noesis) Unbox_EasingMode 0x00007FFE6F7CFF81 (Noesis) Unbox_EasingMode 0x00007FFE6F7CFF81 (Noesis) Unbox_EasingMode 0x00007FFE6F7CFC20 (Noesis) Unbox_EasingMode 0x00007FFE6F7D9166 (Noesis) Unbox_EasingMode 0x00007FFE6F623C3A (Noesis) Unbox_EasingMode 0x00007FFE6F623A46 (Noesis) Unbox_EasingMode 0x00007FFE6F6213A0 (Noesis) Unbox_EasingMode 0x00007FFE6F7B0BA7 (Noesis) Unbox_EasingMode 0x00007FFE6F909E0D (Noesis) Unbox_EasingMode 0x000002C59C834862 (Mono JIT Code) (wrapper managed-to-native) Noesis.View:Noesis_View_MouseMove (System.Runtime.InteropServices.HandleRef,int,int) 0x000002C59C8346EB (Mono JIT Code) [C:\Users\stons\GitHub\StellarConquest-New\StellarConquest.Presentation.Unity\Assets\NoesisGUI\Plugins\API\Core\View.cs:114] Noesis.View:MouseMove (int,int) 0x000002C59C8324FB (Mono JIT Code) [C:\Users\stons\GitHub\StellarConquest-New\StellarConquest.Presentation.Unity\Assets\NoesisGUI\Plugins\NoesisView.cs:595] NoesisView:UpdateMouse () 0x000002C59C831DDB (Mono JIT Code) [C:\Users\stons\GitHub\StellarConquest-New\StellarConquest.Presentation.Unity\Assets\NoesisGUI\Plugins\NoesisView.cs:721] NoesisView:UpdateInputs () 0x000002C59C8318E3 (Mono JIT Code) [C:\Users\stons\GitHub\StellarConquest-New\StellarConquest.Presentation.Unity\Assets\NoesisGUI\Plugins\NoesisView.cs:753] NoesisView:LateUpdate () 0x000002C59BC7B918 (Mono JIT Code) (wrapper runtime-invoke) object:runtime_invoke_void__this__ (object,intptr,intptr,intptr) 0x00007FFE608EBBCB (mono-2.0-bdwgc) [c:\users\builduser\builds\_cjcc5tm\0\vm\mono\mono\mini\mini-runtime.c:2809] mono_jit_runtime_invoke 0x00007FFE60872252 (mono-2.0-bdwgc) [c:\users\builduser\builds\_cjcc5tm\0\vm\mono\mono\metadata\object.c:2919] do_runtime_invoke 0x00007FFE6087B25F (mono-2.0-bdwgc) [c:\users\builduser\builds\_cjcc5tm\0\vm\mono\mono\metadata\object.c:2966] mono_runtime_invoke 0x00007FF72D010256 (Unity) scripting_method_invoke 0x00007FF72D00A545 (Unity) ScriptingInvocation::Invoke 0x00007FF72CFC6C32 (Unity) MonoBehaviour::CallMethodIfAvailable 0x00007FF72CFC6FD6 (Unity) MonoBehaviour::CallUpdateMethod 0x00007FF72C6ECB74 (Unity) BaseBehaviourManager::CommonUpdate<LateBehaviourManager> 0x00007FF72C6F4FD4 (Unity) LateBehaviourManager::Update 0x00007FF72CB25BF3 (Unity) `InitPlayerLoopCallbacks'::`2'::PreLateUpdateScriptRunBehaviourLateUpdateRegistrator::Forward 0x00007FF72CB0F2C8 (Unity) ExecutePlayerLoop 0x00007FF72CB0F3A6 (Unity) ExecutePlayerLoop 0x00007FF72CB13F60 (Unity) PlayerLoop 0x00007FF72B830AA0 (Unity) PlayerLoopController::UpdateScene 0x00007FF72B82DB28 (Unity) Application::TickTimer 0x00007FF72BAEC1EB (Unity) MainMessageLoop 0x00007FF72BAF5BF7 (Unity) WinMain 0x00007FF72E438B5E (Unity) __scrt_common_main_seh 0x00007FFEE8A77974 (KERNEL32) BaseThreadInitThunk 0x00007FFEEB86A271 (ntdll) RtlUserThreadStart ========== END OF STACKTRACE =========== |
||||
Tags: | |||||
Steps To Reproduce: |
Video http://clarion.blob.core.windows.net/$root/Action%207-1-2019%203-39-00%20PM.mp4 |
||||
Additional Information: | |||||
Attached Files: |
Crashes.zip (1,160,557 bytes) 2019-07-01 22:41 https://www.noesisengine.com/bugs/file_download.php?file_id=1061&type=bug Crash_2019-07-09_170857502.zip (370,077 bytes) 2019-07-09 23:10 https://www.noesisengine.com/bugs/file_download.php?file_id=1068&type=bug |
||||
Notes | |
(0005796)
stonstad 2019-07-02 00:20 |
The same behavior happens with textboxes. This must be related to the debug assembly... |
(0005805)
sfernandez 2019-07-05 12:48 |
Yes, this is an assert we already fixed for 2.2.4. I generated a new debug library that includes that fix (along with the other fixes for issue 1491). https://drive.google.com/open?id=1asJnFk8-1FIBq9dRxc6glMej8XpHgIrX |
(0005827)
stonstad 2019-07-09 22:05 |
Thanks Sergio. This works! |
(0005828)
stonstad 2019-07-09 23:09 |
Encountered a runtime crash with identical or similar stacktrace. Reopening. |
(0005829)
stonstad 2019-07-09 23:10 |
I'm using the assembly above. The stack trace looks similar or identical. Runtime breakpoint exception. AssetDatabase Save disabled Preview disabled |
(0005830)
stonstad 2019-07-09 23:14 |
This is likely caused by invalid code on my part in an initialize method. I had the following test code to try to unset a min width. Please feel free to close. _TitleLayer.ColumnDefinitions[1].MinWidth = float.NaN; // invalid _TitleLayer.ColumnDefinitions[1].Width = new GridLength(1, GridUnitType.Auto); Grid.SetColumn(_TitleTextBlock, 0); Grid.SetColumnSpan(_TitleTextBlock, 3); |
(0005832)
sfernandez 2019-07-09 23:53 |
Yes, it was an assert for an invalid ColumnDefinition.MinWidth value, but we should add validation callbacks to prevent it and correctly report them as errors. I created a ticket for that: https://www.noesisengine.com/bugs/view.php?id=1516 |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1501 | [NoesisGUI] C++ SDK | minor | always | 2019-06-20 12:16 | 2019-07-09 23:11 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.3 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.4 | ||
Target Version: | 2.2.4 | ||||
Platform: | Any | ||||
Summary: | Binding nested dictionaries don't work | ||||
Description: |
A binding like this:<DataTrigger Binding="{Binding Data[testDict][test].Value}" Value="1"> Produces the following parsing error Unable to convert 'Data[testDict][test].Value' to a valid value for property Binding |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1353 | [NoesisGUI] Documentation | minor | have not tried | 2018-11-21 13:51 | 2019-07-09 18:48 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.4 | ||
Target Version: | 2.2.4 | ||||
Platform: | Any | ||||
Summary: | Document x:Static extension | ||||
Description: |
Explain what is supported by the x:Static extension: - Enum values - DependencyProperty default values (only Noesis) |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1486 | [NoesisGUI] C++ SDK | feature | have not tried | 2019-06-10 17:35 | 2019-07-08 20:08 |
Reporter: | realesmedia | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.4 | ||
Target Version: | 2.2.4 | ||||
Platform: | Any | ||||
Summary: | TranslateZoomRotateBehavior - add zoom from mouse wheel | ||||
Description: |
Hi, TranslateZoomRotateBehavior - add zoom from mouse wheel and sensitivity property WheelSensitivity Thanks |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1487 | [NoesisGUI] C++ SDK | crash | always | 2019-06-11 10:37 | 2019-07-08 20:08 |
Reporter: | realesmedia | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.4 | ||
Target Version: | 2.2.4 | ||||
Platform: | Any | ||||
Summary: | MouseDragElementBehavior does not work if the parent element has TranslateZoomRotateBehavior, MouseDragElementBehavior, etc. | ||||
Description: |
in this case, the MouseDragElementBehavior immediately loses the mouse, because e.handled = true is not set in the OnMouseLeftButtonDown handle. |
||||
Tags: | |||||
Steps To Reproduce: |
<Grid Margin="1"> <Canvas Background="Orange" Width="Fill"> <i:Interaction.Behaviors> <ei:TranslateZoomRotateBehavior SupportedGestures="All" MinimumScale="0.51"/> </i:Interaction.Behaviors> <Border Width="100" Height="150" Background="Green"> <i:Interaction.Behaviors> <ei:MouseDragElementBehavior ConstraintToParentBounds="False" /> </i:Interaction.Behaviors> </Border> <Border Width="100" Height="150" Background="Blue" Margin="100,0,0,0"/> </Canvas> </Grid> |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1513 | [NoesisGUI] C# SDK | minor | always | 2019-07-03 19:37 | 2019-07-05 18:37 |
Reporter: | inedi | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.3 | ||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | UserControl IsTabStop not work | ||||
Description: |
<UserControl .... IsTabStop="False" > not work in noesis will be comfortable if work like WPF tab stop for user control |
||||
Tags: | xaml | ||||
Steps To Reproduce: |
<UserControl ... IsTabStop="False"> <Grid> <StackPanel Width="300" HorizontalAlignment="Right"> <TextBlock Foreground="White"> <Run Text="Stars "/> <Run Text="{Binding ExposureStars}"/> </TextBlock> <Slider Value="{Binding ExposureStars}" Minimum="0" Maximum="8" LargeChange="1" SmallChange="0.1" IsSnapToTickEnabled="True" TickFrequency="0.01"/> <TextBlock Foreground="White"> <Run Text="Figures "/> <Run Text="{Binding ExposureFigures}"/> </TextBlock> <Slider Value="{Binding ExposureFigures}" Minimum="0" Maximum="8" LargeChange="1" SmallChange="0.1" IsSnapToTickEnabled="True" TickFrequency="0.01"/> .... |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0005807)
sfernandez 2019-07-05 12:54 (Last edited: 2019-07-05 12:55) |
Sorry, but I'm not understanding what is the problem here, UserControl.IsTabStop default value is already set to False, and user controls don't get focused because of that. What are you trying to do? |
(0005808)
inedi 2019-07-05 14:57 |
user controls children's get focused if IsTabStop true and false on UserControl in WPF children's don't get focused if IsTabStop="False"on UserControl |
(0005809)
sfernandez 2019-07-05 16:32 |
I just verified that WPF allows the keyboard focus to move inside the UserControl children when pressing the Tab key, even if IsTabStop property is set to false in the UserControl. That property just indicates that the UserControl itself, if it is set to Focusable="True", will get or not the focus when pressing the Tab key, but it doesn't apply to children. If you don't want the controls inside the user control to receive tab focus you can set KeyboardNavigation.TabNavigation="None" in the UserControl. Is that what you need? |
(0005811)
inedi 2019-07-05 17:51 |
yes, thank you, i just rechecked the WPF project everything works also Noesis I lost KeyboardNavigation property in Noesis and got a different result Excuse for troubling ) |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1511 | [NoesisGUI] C++ SDK | major | always | 2019-07-02 04:01 | 2019-07-05 17:30 |
Reporter: | nikobarli | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.3 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.4 | ||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Tooltips shown without activating the hosting window, doesn't disappears when the mouse cursor leave the hosting window | ||||
Description: |
Related to issue https://www.noesisengine.com/bugs/view.php?id=1438 STR 1. Create a Noesis window with the following XAML <Button FontSize="40" Content="Button 3"> <ToolTipService.ToolTip> <TextBlock FontSize="20" Text="Hey"/> </ToolTipService.ToolTip> </Button> 2. Make sure the window is not active 3. Move the mouse to hover on top of the button -> Tool tip is shown 4. Move the mouse out-of-the window (then activate other window) -> tooltip is still shown -> expected: tooltip disappears when the mouse move out of the window |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0005797)
sfernandez 2019-07-02 12:11 |
Hi, the problem is that our Win32Display implementation is not tracking mouse position when mouse leaves the window, so the latest WM_MOUSEMOVE received is inside the window and over the Button that shows the ToolTip, keeping the tooltip visible. I made a simple test using TrackMouseEvent to generate a last MouseMove event when WM_MOUSELEAVE is received and then it works as expected: case WM_MOUSEMOVE: { if (!mTrackingMouse) { TRACKMOUSEEVENT e = { sizeof(TRACKMOUSEEVENT), TME_LEAVE, mWindowHandle, HOVER_DEFAULT }; TrackMouseEvent(&e); mTrackingMouse = true; } mMouseMove(this, GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam)); return false; } case WM_MOUSELEAVE: { mTrackingMouse = false; POINT mousePos; GetCursorPos(&mousePos); ScreenToClient(mWindowHandle, &mousePos); // make sure it is outside right-bottom border of client area if (mousePos.x > 0) mousePos.x += 1; if (mousePos.y > 0) mousePos.y += 1; mMouseMove(this, mousePos.x, mousePos.y); return true; } We will include this in the next release. |
(0005799)
nikobarli 2019-07-03 08:29 |
Hi Sergio, Thanks. I confirmed that fixed the issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1503 | [NoesisGUI] C# SDK | major | always | 2019-06-21 14:27 | 2019-07-04 18:23 |
Reporter: | ai_enabled | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | urgent | OS Version: | |||
Status: | resolved | Product Version: | 2.2.3 | ||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 2.2.4 | ||||
Platform: | Any | ||||
Summary: | Click on the currently selected listbox item will deselect it | ||||
Description: |
Hi guys, after updating to 2.2.3 I've noticed that click on the currently selected Listbox item will deselect it. Is this intended? Is there any way to restore the previous behavior? Unfortunately, in our case, it's a critical issue. Regards! |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0005758)
sfernandez 2019-06-21 17:34 |
I'm not able to reproduce that behavior in a normal ListBox. Are you using SelectionMode="Multiple"? That is the only mode that behaves as you explained. Where in your game can I test this to investigate what is happening? |
(0005759)
ai_enabled 2019-06-21 18:14 |
Thanks for the quick reply, Sergio! I've just updated to 2.2.3 and noticed the issue. Secondary click on the selected item in any listbox (skills list, structures list, etc) resulted in de-selection. SelectionMode="Multiple" is definitely not used. However, right now I cannot reproduce the issue even though it happened for two-three first launches. That's confusing as I'm certain I didn't changed anything. Ok, I will keep watching. Regards! |
(0005802)
ai_enabled 2019-07-04 14:46 (Last edited: 2019-07-04 14:46) |
I was unable to reproduce the issue again. This was really weird. Please close this ticket. Sorry for disturbing you! |
(0005803)
sfernandez 2019-07-04 18:23 |
Thanks for the update, closing this. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1509 | [NoesisGUI] C++ SDK | minor | always | 2019-06-28 13:51 | 2019-06-28 15:09 |
Reporter: | steveh | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 2.2.1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Incorrect viewbox scaling when referencing a static resource | ||||
Description: |
Hi guys, I'm seeing an inconsistency with scaling when referencing a viewbox within a staticresource. I've attached 2 files to this bug report, a working and a broken one. The broken one is scaled correctly in Visual Studio Blend, it's only when loaded through Noesis' XamlPlayer where the scaling is not as expected. Cheers |
||||
Tags: | |||||
Steps To Reproduce: |
1. Create a viewbox containing a path. Copy this and place is in a resource dictionary. 2. Create a content control. 3. Try to directly make the viewbox a child of this content control and scale the viewbox. It'll scale correctly. 4. Bind the content to the viewbox defined in the resource dictionary. Notice that the scaling is broken. |
||||
Additional Information: | |||||
Attached Files: |
Working.xaml (24,503 bytes) 2019-06-28 13:51 https://www.noesisengine.com/bugs/file_download.php?file_id=1051&type=bug Broken.xaml (24,603 bytes) 2019-06-28 13:51 https://www.noesisengine.com/bugs/file_download.php?file_id=1052&type=bug Logo.xaml (23,883 bytes) 2019-06-28 14:42 https://www.noesisengine.com/bugs/file_download.php?file_id=1053&type=bug |
||||
Notes | |
(0005774)
sfernandez 2019-06-28 14:42 (Last edited: 2019-06-28 14:42) |
Hi, thanks for the report, we will investigate what is causing this deviation from Blend and fix it. Anyway, some suggestions on how you are defining this logo that could be improved. - A Viewbox by default fills the space provided by its container, so it is not necessary to set its Width and Height properties unless you want explicitly set its size. - When defining FrameworkElement derived objects inside Resources, that object can only be used once because framework elements can only have 1 logical parent in the UI tree. - It is better to define the logo as a template that can be applied many times (see attached xaml). Please let me know if this fits better what you tried to do. |
(0005775)
steveh 2019-06-28 15:09 |
Hi, Thank you very much for the rapid response, your suggestion worked perfect! Much appreciated. -Steven |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1507 | [NoesisGUI] Unity3D | major | always | 2019-06-25 01:41 | 2019-06-28 13:44 |
Reporter: | jswigart | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | feedback | Product Version: | 2.2.3 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Windows | ||||
Summary: | Control Template not working correctly in Noesis | ||||
Description: |
I am new to Noesis and XAML, but I am mocking up a UI in Blend and testing it in Unity at the same time while I learn. I am running into an unexpected issue when trying to get a control class working. It's working as expected in blend, but in Unity, although I get no errors from Noesis, the buttons show up as normal radio buttons. Here is an archive of the complete project MapMaperUI.sln is the blend project https://www.dropbox.com/s/dqtlic91zc5d8oi/MapMaker.zip?dl=0 |
||||
Tags: | |||||
Steps To Reproduce: | Unzip and Open Unity project in Unity 2019.1.8f1, observe how the unity project does not show the radio buttons as the same large buttons that the preview in blend shows. Issue also happens in Unity 2018 before I upgraded. | ||||
Additional Information: | |||||
Attached Files: |
blend.png (20,328 bytes) 2019-06-25 01:41 https://www.noesisengine.com/bugs/file_download.php?file_id=1046&type=bug unity.JPG (41,243 bytes) 2019-06-25 01:41 https://www.noesisengine.com/bugs/file_download.php?file_id=1047&type=bug |
||||
Notes | |
(0005761)
sfernandez 2019-06-25 10:17 |
Hello, In Unity App.xaml is not available so we offer in Noesis Settings an 'Application Resources' where you can set a dictionary with the resources of the application. You can create a Resources.xaml like this: <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="clr-namespace:MapMakerUI.Assets.UI"> <ResourceDictionary.MergedDictionaries> <ResourceDictionary Source="Images_UI.xaml"/> <ResourceDictionary Source="ControlStyles.xaml"/> <ResourceDictionary Source="Templates.xaml"/> </ResourceDictionary.MergedDictionaries> </ResourceDictionary> And then include that in App.xaml and also set it in Unity's 'Application Resources' so you have the same environment in both Blend and Unity. Let me know if you need more help with this. |
(0005763)
jswigart 2019-06-25 15:18 |
Yes that got my custom controls working. Thanks. I figured it was something trivial. However, for clarity, shouldn't it be possible to make Noesis debug log the fact that it is coming across references to resources that it doesn't know how to resolve? Loading the root page is loading items that reference a template that it doesn't know exists, so I would think that would be a nice time to print a warning about being unable to resolve template x or whatever. Blend is very nicely verbose with its debug output printing. I tried running it in the broken state on all the Noesis log levels to see if I could get any hints and got nothing. |
(0005773)
sfernandez 2019-06-28 13:43 (Last edited: 2019-06-28 13:44) |
I just confirmed that WPF doesn't raise any errors or warning messages when using DynamicResouces that cannot be resolved. It is Blend the only one that gives you some warning hint (blue underline) when it thinks a DynamicResource wouldn't resolve, although it could be wrong as the resource can be added later in code. In Noesis we don't log any warning neither, because when a DynamicResource cannot be resolved the property should fallback to the default value. Using StaticResources otherwise will give you a clear error message when the resource is not found. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1502 | [NoesisGUI] C++ SDK | minor | have not tried | 2019-06-20 13:09 | 2019-06-27 17:01 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.3 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.4 | ||
Target Version: | 2.2.4 | ||||
Platform: | Any | ||||
Summary: | Weird selectable rectangle rendered in ListView headers | ||||
Description: | It happens when setting the GridViewColumn.Header to a GridViewColumnHeader object, because it is wrapping that object with another one. | ||||
Tags: | |||||
Steps To Reproduce: |
<UserControl x:Class="WpfApp1.SSC.PersonsListView" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:local="clr-namespace:WpfApp1.SSC" mc:Ignorable="d" d:DesignHeight="450" d:DesignWidth="800"> <ListView Grid.Row="2" ItemsSource="{Binding cbPersons}"> <ListView.View> <GridView> <GridViewColumn> <GridViewColumn.Header> <GridViewColumnHeader Tag="Firstname" MouseLeftButtonDown="GridViewColumnHeader_MouseLeftButtonDown">First name</GridViewColumnHeader> </GridViewColumn.Header> <GridViewColumn.CellTemplate> <DataTemplate > <TextBlock Text="{Binding Firstname}" Style="{StaticResource TextColor}" ></TextBlock> </DataTemplate> </GridViewColumn.CellTemplate> </GridViewColumn> <GridViewColumn> <GridViewColumn.Header> <GridViewColumnHeader Tag="Lastname" MouseLeftButtonDown="GridViewColumnHeader_MouseLeftButtonDown">Last name</GridViewColumnHeader> </GridViewColumn.Header> <GridViewColumn.CellTemplate> <DataTemplate> <TextBlock Text="{Binding Lastname}" Style="{StaticResource TextColor}" ></TextBlock> </DataTemplate> </GridViewColumn.CellTemplate> </GridViewColumn> </GridView> </ListView.View> </ListView> </UserControl> |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1506 | [NoesisGUI] C++ SDK | crash | always | 2019-06-22 03:12 | 2019-06-27 12:40 |
Reporter: | nikobarli | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.0b8 | ||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0 | ||
Target Version: | |||||
Platform: | Windows | ||||
Summary: | Empty Run after LineBreak crashed Noesis ? | ||||
Description: |
The following XAML crashed Noesis <TextBlock><LineBreak/><Run/></TextBlock> |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0005760)
jsantos 2019-06-24 14:16 |
Hi Niko, I am not able to reproduce this (trying 2.2.3 right now). I remember fixing something about this in 2.2 betas, would it be possible to update Noesis to a non beta version (or even better to 2.2.2 or 2.2.3) |
(0005767)
nikobarli 2019-06-27 08:10 |
Hi Jesus, I confirmed it is fixed already in 2.2.3. Thanks ! |
(0005769)
jsantos 2019-06-27 12:40 |
Great! Thanks for the feedback. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1492 | [NoesisGUI] C# SDK | feature | always | 2019-06-15 14:48 | 2019-06-27 01:31 |
Reporter: | digimbyte | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.4 | ||
Target Version: | 2.2.4 | ||||
Platform: | Any | ||||
Summary: | Thickness needs 2 arguments | ||||
Description: | Thickness currently has 1 or 4 overloads, I would like to see thickness with 2 overloads, `new thickness(width, height)` | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0005721)
sfernandez 2019-06-17 16:39 |
We were following WPF interface that only offers two versions of the constructor (1 or 4 values): https://referencesource.microsoft.com/#PresentationFramework/src/Framework/System/Windows/Thickness.cs,34 Anyway, we think it is safe to add that extension to the code so we'll do it for the next release. Although using it will mean code won't be compatible with WPF, just want to remark that. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1495 | [NoesisGUI] C++ SDK | block | always | 2019-06-18 07:44 | 2019-06-26 20:51 |
Reporter: | nikobarli | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.3 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.4 | ||
Target Version: | 2.2.4 | ||||
Platform: | Windows | ||||
Summary: | VM instance bound to a UI element is not destroyed even after the bind target is nulled. | ||||
Description: |
Follow up from https://www.noesisengine.com/forums/viewtopic.php?f=3&t=1714 So we have a code like this xaml <Grid> <ContentControl Content="{Binding CurrentItem}" /> </Grid> C++ class ItemVM : public BaseComponent, public INotifyPropertyChanged { ... } class BindingCollectionVM : public BaseComponent, public INotifyPropertyChanged { public: Ptr<ItemVM> m_item = MakePtr<ItemVM>(); // create ItemVM here void ButtonCmd() { m_item.Reset(); // Clear the item when a button is clicked _propertyChanged(this, NSS(CurrentItem)); } NS_IMPLEMENT_INLINE_REFLECTION(BindingCollectionVM, BaseComponent) { ... NsProp("CurrentItem", &BindingCollectionVM::m_item ); } We expect that when the ButtonCmd is fired, m_item is reset, then the ItemVM instance we created will be destroyed. However, it seems that the FrameworkElement still hold the reference preventing the destruction. (as for the appearance, the ItemVM is correctly disappeared from the UI after the reset) If for example, we create another instance of ItemVM and assign it to m_item, then the previous instance is correctly destroyed. void ButtonCmd() { m_item = MakePtr<ItemVM>(); _propertyChanged(this, NSS(CurrentItem)); } |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
423 | [NoesisGUI] Unity3D | major | always | 2014-06-25 03:43 | 2019-06-25 10:30 |
Reporter: | wckdspn | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | urgent | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Path object not visible | ||||
Description: | The following path object, imported from Photoshop and visible/editable in Blend, does not display in Noesis. Worse, there is no error indicating the reason. | ||||
Tags: | |||||
Steps To Reproduce: |
Include the following in some XAML file hierarchy (tested with Grid) <Path x:Name="base_shape_copy_2" Fill="#FFD3AF6B" Margin="0"> <Path.Data> <PathGeometry FillRule="Nonzero"> <PathFigure IsClosed="True" StartPoint="594.449761260126,3.28426468243492E-07"> <BezierSegment Point3="597.675826350347,3.28426468243492E-07" Point2="597.13667169928,3.28426468243492E-07" Point1="594.988915911193,3.28426468243492E-07"/> <BezierSegment Point3="749.936054083805,73.9215861017745" Point2="715.01803546304,28.8870409741563" Point1="658.164546792004,3.28426468243492E-07"/> <BezierSegment Point3="1039.48869015547,73.9215861017745" Point2="1039.48869015547,73.9215861017745" Point1="749.936054083805,73.9215861017745"/> <BezierSegment Point3="1090.4129548008,160.245708386343" Point2="1065.91169946586,160.245708386343" Point1="1045.32485461127,119.468750419294"/> <BezierSegment Point3="1161.14561361274,160.245708386343" Point2="1161.14561361274,160.245708386343" Point1="1090.4129548008,160.245708386343"/> <BezierSegment Point3="1161.14561361274,160.30266607411" Point2="1161.14561361274,160.30266607411" Point1="1161.14561361274,160.245708386343"/> <BezierSegment Point3="1192.00003101409,234.162547685711" Point2="1189.70013021488,193.03909711808" Point1="1176.81950403047,161.375369193718"/> <BezierSegment Point3="1191.91583426036,318.298545465239" Point2="1191.94389984493,290.25637718805" Point1="1192.00003101409,234.162547685711"/> <LineSegment Point="1191.91140285227,321.872640372606"/> <LineSegment Point="1191.91583426036,330.558687757043"/> <BezierSegment Point3="1192.00003101409,534.837434932679" Point2="1192.00003101409,534.837434932679" Point1="1191.94389984493,398.651603482255"/> <BezierSegment Point3="1161.14561361274,608.70206301826" Point2="1176.81950403047,607.629359898652" Point1="1189.70013021488,575.965631974291"/> <BezierSegment Point3="1161.14561361274,608.759020706028" Point2="1161.14561361274,608.759020706028" Point1="1161.14561361274,608.70206301826"/> <BezierSegment Point3="1090.4129548008,608.759020706028" Point2="1090.4129548008,608.759020706028" Point1="1161.14561361274,608.759020706028"/> <BezierSegment Point3="1039.48869015547,695.083142990596" Point2="1045.32485461127,649.535978673077" Point1="1065.91169946586,608.759020706028"/> <BezierSegment Point3="749.936054083805,695.083142990596" Point2="749.936054083805,695.083142990596" Point1="1039.48869015547,695.083142990596"/> <BezierSegment Point3="597.675826350347,768.999982289964" Point2="658.164546792004,768.999982289964" Point1="715.01803546304,740.117688118214"/> <BezierSegment Point3="594.449761260126,768.999982289964" Point2="594.988915911193,768.999982289964" Point1="597.13667169928,768.999982289964"/> <BezierSegment Point3="441.449488375477,695.083142990596" Point2="476.368984132272,740.117688118214" Point1="533.961040818469,768.999982289964"/> <BezierSegment Point3="151.898329439838,695.083142990596" Point2="151.898329439838,695.083142990596" Point1="441.449488375477,695.083142990596"/> <BezierSegment Point3="100.972587658481,611.13225769631" Point2="125.47384299342,611.13225769631" Point1="146.062164984038,649.535978673077"/> <BezierSegment Point3="30.9799739977373,611.13225769631" Point2="30.9799739977373,611.13225769631" Point1="100.972587658481,611.13225769631"/> <BezierSegment Point3="30.9799739977373,611.075300008544" Point2="30.9799739977373,611.075300008544" Point1="30.9799739977373,611.13225769631"/> <BezierSegment Point3="0.125556596386271,537.210671922962" Point2="2.42545739559651,578.338868964574" Point1="15.3046064439678,610.002596888935"/> <BezierSegment Point3="0.141805092719804,496.343530950282" Point2="0.131465140507556,520.86381553389" Point1="0.125556596386271,537.210671922962"/> <LineSegment Point="0.144759364780447,486.323724377305"/> <LineSegment Point="3.38089609641656E-08,482.792347735763"/> <BezierSegment Point3="0.155099316992696,392.656806844799" Point2="0.088628195628238,431.288358572633" Point1="3.38089609641656E-08,482.792347735763"/> <LineSegment Point="0.189073445690085,372.674151386613"/> <LineSegment Point="0.193504853781049,358.425236496951"/> <BezierSegment Point3="0.202367669962977,336.330400117412" Point2="0.199413397902334,343.355181608651" Point1="0.196459125841692,350.759681018335"/> <LineSegment Point="0.206799078053941,327.378550190063"/> <LineSegment Point="0.193504853781049,313.243550675935"/> <BezierSegment Point3="0.125556596386271,231.794057169408" Point2="0.125556596386271,231.794057169408" Point1="0.165439269204945,278.333234548866"/> <BezierSegment Point3="30.9799739977373,157.929429083827" Point2="15.3046064439678,159.002132203435" Point1="2.42545739559651,190.665860127796"/> <BezierSegment Point3="30.9799739977373,157.87247139606" Point2="30.9799739977373,157.87247139606" Point1="30.9799739977373,157.929429083827"/> <BezierSegment Point3="100.972587658481,157.87247139606" Point2="100.972587658481,157.87247139606" Point1="30.9799739977373,157.87247139606"/> <BezierSegment Point3="151.898329439838,73.9215861017745" Point2="146.062164984038,119.468750419294" Point1="125.47384299342,157.87247139606"/> <BezierSegment Point3="441.449488375477,73.9215861017745" Point2="441.449488375477,73.9215861017745" Point1="151.898329439838,73.9215861017745"/> <BezierSegment Point3="594.449761260126,3.28426468243492E-07" Point2="533.961040818469,3.28426468243492E-07" Point1="476.368984132272,28.8870409741563"/> </PathFigure> </PathGeometry> </Path.Data> </Path> |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0001383)
sfernandez 2014-06-25 14:45 |
You should be getting a warning message when xaml file is processed by NoesisAssetPostProcessor: [DX9] Assets/PathTest.xaml Ignoring unknown type 'PathGeometry' (@10,20) Even if you select the NoesisGUIPanel component, a warning box should be shown in the inspector. We don't have support for PathGeometry, PathFigure, BezierSegment, etc. The only way we support to define Path vector data is through the Path Markup Syntax. |
(0001385)
jsantos 2014-06-25 19:39 |
Does Photoshop export to XAML? |
(0001387)
wckdspn 2014-06-26 00:37 |
Sergio: The XAML that has it defined is not the one attached to the panel. Both rebuilding everything and rebuilding just the XAML file does not cause the warning to show up in the console. Jesus: No, but Blend will import a PSD. |
(0001388)
wckdspn 2014-06-26 01:03 |
So, Blend auto translates the PathGeometry into the path markup in the property field. I was able to copy that data, delete the tags, paste into the data field again, and then it filled it in at the attribute level (it then displays). It's a workable work around, though certainly not ideal. It seems to be what Blend does automatically if you import from PSD (at least in a few files which I tried), *or* when you attempt to animate the Path data. The latter appears to not be possible as a result. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1494 | [NoesisGUI] Unity3D | minor | always | 2019-06-18 02:18 | 2019-06-20 17:40 |
Reporter: | Grandpa3D | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Windows | ||||
Summary: | The Unity NorthGame package Does not work | ||||
Description: | The Unity NorthGame package that is on the GitHub repository gives many errors when it is opened. The errors are still there after including the NoesisGUI Extensions. Are there any plans to update this. | ||||
Tags: | C#, Unity | ||||
Steps To Reproduce: |
1) Open the project in Blend For Unity 2019 version 16.1.2 2) Include NoesisGUI Extensions |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0005732)
Grandpa3D 2019-06-18 05:51 |
After some more investigation it appears as if this is missing in the XAMLs: xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity" xmlns:ei="http://schemas.microsoft.com/expression/2010/interactions" |
(0005734)
sfernandez 2019-06-18 10:06 |
Could you please indicate which xaml is missing the interactivity and interactions namespaces? I reviewed all the xamls and the ones requiring those namespaces already include them. |
(0005740)
Grandpa3D 2019-06-18 20:05 |
I should have marked my changes as I made them, but I forgot to. I am including a corrected version of the package. It is error free in Blend but it still doesn't work in Unity. I believe it is due to the way events are being handled in the XAMLs. I am currently investigating this, but I am very new to Noesis so I'll have to work through the APIs. It appears as if I won't be able to upload the corrected package. It is to big a file.c Let me compare my corected version to the one on GitHub and I will send a list of the changes I made. |
(0005741)
Grandpa3D 2019-06-18 20:36 |
Here are the changes I made. Images.xaml: CORRECTED xmlns:noesis="clr-namespace:NoesisGUIExtensions"> TO xmlns:noesis="clr-namespace:NoesisGUIExtensions;assembly=Noesis.GUI.Extensions" MOVED xmlns:noesis="clr-namespace:NoesisGUIExtensions;assembly=Noesis.GUI.Extensions" ABOVE xmlns:noesis="clr-namespace:NoesisGUIExtensions;assembly=Noesis.GUI.Extensions" MainWindow.xaml: ADDED xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity" xmlns:ei="http://schemas.microsoft.com/expression/2010/interactions" "I DON"T THINK THIS WAS NEEDED" Resources.xaml: MOVED xmlns:noesis="clr-namespace:NoesisGUIExtensions;assembly=Noesis.GUI.Extensions" ABOVE xmlns:noesis="clr-namespace:NoesisGUIExtensions;assembly=Noesis.GUI.Extensions" |
(0005742)
sfernandez 2019-06-19 11:38 |
Resolved in https://github.com/Noesis/Tutorials/commit/ffab50df09a645ecc7e7c2acf2d006556247d48f I verified it compiles and runs in both Blend (for Visual Studio 2015) and Unity 2019.1.1f1. Could you please confirm it also works in your version of Blend and Unity? |
(0005748)
Grandpa3D 2019-06-20 03:01 |
It does not work in my version of Unity 2019.1.1f1. It loads fine but none of the buttons work. This is the error I receive: noesis] Assets/NoesisGUI/Samples/NorthGame/Menu.xaml(194): Unknown type 'NoesisApp.Interaction'. |
(0005749)
sfernandez 2019-06-20 10:08 |
Hi, this demo uses the Interactivity classes included in our Unity package under 'NoesisGUI/Samples/Interactivity'. You have to import that folder along with the Plugins folder into the NorthGame project. Does that fix the errors? |
(0005753)
Grandpa3D 2019-06-20 17:10 |
Yes that fixed the issue. Quick question though? As someone new to this how would I know I need to include this package and where to locate it. It seems as though it is kinda hidden being in the Samples folder |
(0005756)
sfernandez 2019-06-20 17:40 |
You're right, this is probably something we should indicate in the README.md page of that sample (and other samples in the same situation). |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1497 | [NoesisGUI] C# SDK | feature | N/A | 2019-06-19 17:12 | 2019-06-20 11:32 |
Reporter: | Vince_1990 | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.3 | ||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Windows | ||||
Summary: | BitmapImage from stream/byte[] | ||||
Description: |
I have a database with images (Couchbase if it matters). wich stores images in memory and i can get them with a stream or byte[]. In the current situation i have to write them to disk and then load them up through an Uri, wich is cumbersome. It would there fore be awsome if we could just pass a stream/byte[] and get the ImageSource in return. OR an tutorial on how to use Bitmapsource.Create |
||||
Tags: | C# | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0005746)
sfernandez 2019-06-19 17:41 |
You should be able to use BitmapSource.Create just fine passing the byte array:byte[] pixels = memoryStream.ToArray(); BitmapSource bmp = BitmapSource.Create(pixelWidth, pixelHeight, 96.0, 96.0, pixels, pixelWidth * 3, BitmapSource.Format.RGB8); Are you getting any error with this approach? |
(0005747)
Vince_1990 2019-06-19 19:32 (Last edited: 2019-06-20 10:22) |
Tried it but doesn't work. I don't know the pixels width.Height so i used: Bitmap b = new Bitmap(File.ContentStream); ImageSource Is = BitmapSource.Create(b.Width, b.Height, b.HorizontalResolution, b.VerticalResolution, File.Content,b.Width * 3, BitmapSource.Format.RGB8); 80 80 96 96 byte[2162] 80* 3 Source: http://i64.tinypic.com/14in0np.png Result: http://i68.tinypic.com/24nis5v.png The file is an .jpg file. When i write it to disk and hit properties is lists with an Bitdepth of 24 |
(0005750)
jsantos 2019-06-20 10:53 |
I am not sure this is the best approach. If you already have the images in a database I think the best way is installing a TextureProvider that will allow you to return a Stream for each requested URI. |
(0005751)
Vince_1990 2019-06-20 11:07 |
I Already use a custom texture provider for loading images from filesystem, wich indeed needs an uri and spills out an stream. But problem is i cannot acces the files in the database by Uri. When i open the database, the images are loaded into the ram, and in the c# object i can only get a stream or a byte[]. |
(0005752)
sfernandez 2019-06-20 11:32 |
I think this is not a bug and it is better to discuss it in the forums, because it can help others in the same situation, could you please create a post there? |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1493 | [NoesisGUI] Unity3D | crash | always | 2019-06-17 09:36 | 2019-06-18 18:50 |
Reporter: | schovan | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.3 | ||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Buttons sample Unity WebGL error | ||||
Description: |
version 2.2.3, unity version 2018.4.2f1 error: You can reduce your startup time if you configure your web server to host .unityweb files using gzip compression. UnityLoader.js:4 [UnityCache] 'http://localhost:62056/Build/BinWebGL.w ... e.unityweb' successfully downloaded and stored in the indexedDB cache UnityLoader.js:4 [UnityCache] 'http://localhost:62056/Build/BinWebGL.w ... k.unityweb' successfully downloaded and stored in the indexedDB cache UnityLoader.js:4 [UnityCache] 'http://localhost:62056/Build/BinWebGL.data.unityweb' successfully downloaded and stored in the indexedDB cache (index):8 Resource interpreted as Stylesheet but transferred with MIME type text/plain: "http://localhost:62056/TemplateData/style.css". UnityLoader.js:4 Loading player data from data.unity3d UnityLoader.js:4 Initialize engine version: 2018.4.1f1 (b7c424a951c0) UnityLoader.js:4 Creating WebGL 2.0 context. UnityLoader.js:4 Renderer: WebKit WebGL UnityLoader.js:4 Vendor: WebKit UnityLoader.js:4 Version: OpenGL ES 3.0 (WebGL 2.0 (OpenGL ES 3.0 Chromium)) UnityLoader.js:4 GLES: 3 UnityLoader.js:4 EXT_color_buffer_float GL_EXT_color_buffer_float EXT_disjoint_timer_query_webgl2 GL_EXT_disjoint_timer_query_webgl2 EXT_texture_filter_anisotropic GL_EXT_texture_filter_anisotropic OES_texture_float_linear GL_OES_texture_float_linear WEBGL_compressed_texture_s3tc GL_WEBGL_compressed_texture_s3tc WEBGL_compressed_texture_s3tc_srgb GL_WEBGL_compressed_texture_s3tc_srgb WEBGL_debug_renderer_info GL_WEBGL_debug_renderer_info WEBGL_debug_shaders GL_WEBGL_debug_shaders WEBGL_lose_context GL_WEBGL_lose_context UnityLoader.js:4 OPENGL LOG: Creating OpenGL ES 3.0 graphics device ; Context level <OpenGL ES 3.0> ; Context handle 1 ae2520d2-c889-4675-804b-e831b9fd8e0e:2 The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://goo.gl/7K7WLu _JS_Sound_Init @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 (anonymous) @ wasm-04ee0a76-1991:34 (anonymous) @ wasm-04ee0a76-1959:903 (anonymous) @ wasm-04ee0a76-1847:261 (anonymous) @ wasm-04ee0a76-1835:17 (anonymous) @ wasm-04ee0a76-2855:98 (anonymous) @ wasm-04ee0a76-2851:413 (anonymous) @ wasm-04ee0a76-2847:88 (anonymous) @ wasm-04ee0a76-2846:13 (anonymous) @ wasm-04ee0a76-504:162 (anonymous) @ wasm-04ee0a76-7836:80 (anonymous) @ wasm-04ee0a76-7812:79 (anonymous) @ wasm-04ee0a76-7757:446 (anonymous) @ wasm-04ee0a76-7756:5 (anonymous) @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 callMain @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 doRun @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 run @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 runCaller @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 removeRunDependency @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 (anonymous) @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 doCallback @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 done @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 done @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 storeLocalEntry @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 (anonymous) @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 (anonymous) @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 IndexedDB (async) loadRemoteEntry @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 (anonymous) @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 reconcile @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 (anonymous) @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 (anonymous) @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 IndexedDB (async) (anonymous) @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 IndexedDB (async) (anonymous) @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 (anonymous) @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 IndexedDB (async) getDB @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 getRemoteSet @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 (anonymous) @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 getLocalSet @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 syncfs @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 (anonymous) @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 syncfs @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 (anonymous) @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 (anonymous) @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 callRuntimeCallbacks @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 preRun @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 run @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 runCaller @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 removeRunDependency @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 receiveInstance @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 receiveInstantiatedSource @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 Promise.then (async) instantiateArrayBuffer @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 doNativeWasm @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 (anonymous) @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 (anonymous) @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 UnityLoader.loadCode.Module @ UnityLoader.js:4 o.onload @ UnityLoader.js:4 load (async) loadCode @ UnityLoader.js:4 processWasmFrameworkJob @ UnityLoader.js:4 a.callback @ UnityLoader.js:3 setTimeout (async) a.complete @ UnityLoader.js:3 (anonymous) @ UnityLoader.js:4 r.worker.onmessage @ UnityLoader.js:3 UnityLoader.js:4 missing function: _Znam printErr @ UnityLoader.js:4 __Znam @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 (anonymous) @ wasm-04ee0a76-54810:39 (anonymous) @ wasm-04ee0a76-67403:17 (anonymous) @ wasm-04ee0a76-44537:77 (anonymous) @ wasm-04ee0a76-51705:75 (anonymous) @ wasm-04ee0a76-51712:50 (anonymous) @ wasm-04ee0a76-51802:4 (anonymous) @ wasm-04ee0a76-24625:9 (anonymous) @ wasm-04ee0a76-69837:11 (anonymous) @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 invoke_iiiii @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 (anonymous) @ wasm-04ee0a76-53046:87 (anonymous) @ wasm-04ee0a76-53467:20 (anonymous) @ wasm-04ee0a76-2613:31 (anonymous) @ wasm-04ee0a76-7629:132 (anonymous) @ wasm-04ee0a76-7651:524 (anonymous) @ wasm-04ee0a76-6651:50 (anonymous) @ wasm-04ee0a76-6649:239 (anonymous) @ wasm-04ee0a76-6668:7 (anonymous) @ wasm-04ee0a76-7825:70 (anonymous) @ wasm-04ee0a76-7824:25 (anonymous) @ wasm-04ee0a76-7822:40 (anonymous) @ wasm-04ee0a76-7818:286 (anonymous) @ wasm-04ee0a76-7813:157 (anonymous) @ wasm-04ee0a76-7757:537 (anonymous) @ wasm-04ee0a76-7756:5 (anonymous) @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 callMain @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 doRun @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 run @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 runCaller @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 removeRunDependency @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 (anonymous) @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 doCallback @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 done @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 done @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 storeLocalEntry @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 (anonymous) @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 (anonymous) @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 IndexedDB (async) loadRemoteEntry @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 (anonymous) @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 reconcile @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 (anonymous) @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 (anonymous) @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 IndexedDB (async) (anonymous) @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 IndexedDB (async) (anonymous) @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 (anonymous) @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 IndexedDB (async) getDB @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 getRemoteSet @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 (anonymous) @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 getLocalSet @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 syncfs @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 (anonymous) @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 syncfs @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 (anonymous) @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 (anonymous) @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 callRuntimeCallbacks @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 preRun @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 run @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 runCaller @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 removeRunDependency @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 receiveInstance @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 receiveInstantiatedSource @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 Promise.then (async) instantiateArrayBuffer @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 doNativeWasm @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 (anonymous) @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 (anonymous) @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 UnityLoader.loadCode.Module @ UnityLoader.js:4 o.onload @ UnityLoader.js:4 load (async) loadCode @ UnityLoader.js:4 processWasmFrameworkJob @ UnityLoader.js:4 a.callback @ UnityLoader.js:3 setTimeout (async) a.complete @ UnityLoader.js:3 (anonymous) @ UnityLoader.js:4 r.worker.onmessage @ UnityLoader.js:3 Show 10 more frames UnityLoader.js:4 -1 UnityLoader.js:4 -1 printErr @ UnityLoader.js:4 onAbort @ UnityLoader.js:4 abort @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 __Znam @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 (anonymous) @ wasm-04ee0a76-54810:39 (anonymous) @ wasm-04ee0a76-67403:17 (anonymous) @ wasm-04ee0a76-44537:77 (anonymous) @ wasm-04ee0a76-51705:75 (anonymous) @ wasm-04ee0a76-51712:50 (anonymous) @ wasm-04ee0a76-51802:4 (anonymous) @ wasm-04ee0a76-24625:9 (anonymous) @ wasm-04ee0a76-69837:11 (anonymous) @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 invoke_iiiii @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 (anonymous) @ wasm-04ee0a76-53046:87 (anonymous) @ wasm-04ee0a76-53467:20 (anonymous) @ wasm-04ee0a76-2613:31 (anonymous) @ wasm-04ee0a76-7629:132 (anonymous) @ wasm-04ee0a76-7651:524 (anonymous) @ wasm-04ee0a76-6651:50 (anonymous) @ wasm-04ee0a76-6649:239 (anonymous) @ wasm-04ee0a76-6668:7 (anonymous) @ wasm-04ee0a76-7825:70 (anonymous) @ wasm-04ee0a76-7824:25 (anonymous) @ wasm-04ee0a76-7822:40 (anonymous) @ wasm-04ee0a76-7818:286 (anonymous) @ wasm-04ee0a76-7813:157 (anonymous) @ wasm-04ee0a76-7757:537 (anonymous) @ wasm-04ee0a76-7756:5 (anonymous) @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 callMain @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 doRun @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 run @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 runCaller @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 removeRunDependency @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 (anonymous) @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 doCallback @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 done @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 done @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 storeLocalEntry @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 (anonymous) @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 (anonymous) @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 IndexedDB (async) loadRemoteEntry @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 (anonymous) @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 reconcile @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 (anonymous) @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 (anonymous) @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 IndexedDB (async) (anonymous) @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 IndexedDB (async) (anonymous) @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 (anonymous) @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 IndexedDB (async) getDB @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 getRemoteSet @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 (anonymous) @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 getLocalSet @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 syncfs @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 (anonymous) @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 syncfs @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 (anonymous) @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 (anonymous) @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 callRuntimeCallbacks @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 preRun @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 run @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 runCaller @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 removeRunDependency @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 receiveInstance @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 receiveInstantiatedSource @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 Promise.then (async) instantiateArrayBuffer @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 doNativeWasm @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 (anonymous) @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 (anonymous) @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 UnityLoader.loadCode.Module @ UnityLoader.js:4 o.onload @ UnityLoader.js:4 load (async) loadCode @ UnityLoader.js:4 processWasmFrameworkJob @ UnityLoader.js:4 a.callback @ UnityLoader.js:3 setTimeout (async) a.complete @ UnityLoader.js:3 (anonymous) @ UnityLoader.js:4 r.worker.onmessage @ UnityLoader.js:3 Show 12 more frames UnityLoader.js:4 exception thrown: abort(-1) at Error at jsStackTrace (blob:http://localhost:62056/ae2520d2-c889-46 ... 0e:2:15158) at Object.stackTrace (blob:http://localhost:62056/ae2520d2-c889-46 ... 0e:2:15329) at Object.onAbort (http://localhost:62056/Build/UnityLoader.js:4:9327) at abort (blob:http://localhost:62056/ae2520d2-c889-46 ... e:2:498993) at __Znam (blob:http://localhost:62056/ae2520d2-c889-46 ... e:2:180090) at wasm-function[54810]:98 at wasm-function[67403]:39 at wasm-function[44537]:195 at wasm-function[51705]:187 at wasm-function[51712]:112 at wasm-function[51802]:5 at wasm-function[24625]:17 at wasm-function[69837]:20 at Object.dynCall_iiiii (blob:http://localhost:62056/ae2520d2-c889-46 ... e:2:475511) at invoke_iiiii (blob:http://localhost:62056/ae2520d2-c889-46 ... e:2:355752) at wasm-function[53046]:173 at wasm-function[53467]:36 at wasm-function[2613]:64 at wasm-function[7629]:295 at wasm-function[7651]:1067 at wasm-function[6651]:115 at wasm-function[6649]:527 at wasm-function[6668]:11 at wasm-function[7825]:155 at wasm-function[7824]:44 at wasm-function[7822]:82 at wasm-function[7818]:642 at wasm-function[7813]:356 at wasm-function[7757]:1200 at wasm-function[7756]:7 at Object._main (blob:http://localhost:62056/ae2520d2-c889-46 ... e:2:464025) at Object.callMain (blob:http://localhost:62056/ae2520d2-c889-46 ... e:2:497701) at doRun (blob:http://localhost:62056/ae2520d2-c889-46 ... e:2:498389) at run (blob:http://localhost:62056/ae2520d2-c889-46 ... e:2:498557) at runCaller (blob:http://localhost:62056/ae2520d2-c889-46 ... e:2:497320) at Object.removeRunDependency (blob:http://localhost:62056/ae2520d2-c889-46 ... 0e:2:21718) at blob:http://localhost:62056/ae2520d2-c889-46 ... 8e0e:2:413 at doCallback (blob:http://localhost:62056/ae2520d2-c889-46 ... 0e:2:94908) at done (blob:http://localhost:62056/ae2520d2-c889-46 ... 0e:2:95046) at done (blob:http://localhost:62056/ae2520d2-c889-46 ... 0e:2:77989) at Object.storeLocalEntry (blob:http://localhost:62056/ae2520d2-c889-46 ... 0e:2:76449) at blob:http://localhost:62056/ae2520d2-c889-46 ... 0e:2:78221 at IDBRequest.<anonymous> (blob:http://localhost:62056/ae2520d2-c889-46 ... 0e:2:76799) printErr @ UnityLoader.js:4 callMain @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 doRun @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 run @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 runCaller @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 removeRunDependency @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 (anonymous) @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 doCallback @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 done @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 done @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 storeLocalEntry @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 (anonymous) @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 (anonymous) @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 IndexedDB (async) loadRemoteEntry @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 (anonymous) @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 reconcile @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 (anonymous) @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 (anonymous) @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 IndexedDB (async) (anonymous) @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 IndexedDB (async) (anonymous) @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 (anonymous) @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 IndexedDB (async) getDB @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 getRemoteSet @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 (anonymous) @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 getLocalSet @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 syncfs @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 (anonymous) @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 syncfs @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 (anonymous) @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 (anonymous) @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 callRuntimeCallbacks @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 preRun @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 run @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 runCaller @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 removeRunDependency @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 receiveInstance @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 receiveInstantiatedSource @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 Promise.then (async) instantiateArrayBuffer @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 doNativeWasm @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 (anonymous) @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 (anonymous) @ ae2520d2-c889-4675-804b-e831b9fd8e0e:2 UnityLoader.loadCode.Module @ UnityLoader.js:4 o.onload @ UnityLoader.js:4 load (async) loadCode @ UnityLoader.js:4 processWasmFrameworkJob @ UnityLoader.js:4 a.callback @ UnityLoader.js:3 setTimeout (async) a.complete @ UnityLoader.js:3 (anonymous) @ UnityLoader.js:4 r.worker.onmessage @ UnityLoader.js:3 UnityLoader.js:3 Invoking error handler due to Uncaught abort(-1) at Error at jsStackTrace (BinWebGL.wasm.framework.unityweb:2:15158) at stackTrace [Object.stackTrace] (BinWebGL.wasm.framework.unityweb:2:15329) at Object.onAbort (http://localhost:62056/Build/UnityLoader.js:4:9327) at abort (BinWebGL.wasm.framework.unityweb:2:498993) at __Znam (BinWebGL.wasm.framework.unityweb:2:180090) at wasm-function[54810]:98 at wasm-function[67403]:39 at wasm-function[44537]:195 at wasm-function[51705]:187 at wasm-function[51712]:112 at wasm-function[51802]:5 at wasm-function[24625]:17 at wasm-function[69837]:20 at dynCall_iiiii [Object.dynCall_iiiii] (BinWebGL.wasm.framework.unityweb:2:475511) at invoke_iiiii (BinWebGL.wasm.framework.unityweb:2:355752) at wasm-function[53046]:173 at wasm-function[53467]:36 at wasm-function[2613]:64 at wasm-function[7629]:295 at wasm-function[7651]:1067 at wasm-function[6651]:115 at wasm-function[6649]:527 at wasm-function[6668]:11 at wasm-function[7825]:155 at wasm-function[7824]:44 at wasm-function[7822]:82 at wasm-function[7818]:642 at wasm-function[7813]:356 at wasm-function[7757]:1200 at wasm-function[7756]:7 at _main [Object._main] (BinWebGL.wasm.framework.unityweb:2:464025) at callMain [Object.callMain] (BinWebGL.wasm.framework.unityweb:2:497701) at doRun (BinWebGL.wasm.framework.unityweb:2:498389) at run (BinWebGL.wasm.framework.unityweb:2:498557) at runCaller (BinWebGL.wasm.framework.unityweb:2:497320) at removeRunDependency [Object.removeRunDependency] (BinWebGL.wasm.framework.unityweb:2:21718) at blob:http://localhost:62056/ae2520d2-c889-46 ... 8e0e:2:413 at doCallback (BinWebGL.wasm.framework.unityweb:2:94908) at done (BinWebGL.wasm.framework.unityweb:2:95046) at done (BinWebGL.wasm.framework.unityweb:2:77989) at storeLocalEntry [Object.storeLocalEntry] (BinWebGL.wasm.framework.unityweb:2:76449) at blob:http://localhost:62056/ae2520d2-c889-46 ... 0e:2:78221 at IDBRequest.<anonymous> (blob:http://localhost:62056/ae2520d2-c889-46 ... 0e:2:76799) |
||||
Tags: | |||||
Steps To Reproduce: |
1. create new unity project 2. import custom package NoesisGUI-2.2.2.unitypackage 3. open Buttons sample scene 4. build WebGL (Buttons scene in build) and run in browser Chrome |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0005735)
jsantos 2019-06-18 16:45 |
Unfortunately, Unity uses different versions of emscripten for each Unity version. We can only be compatible with the latest one. You need to use Unity 2019.1, could you please try it? We need to properly document this. |
(0005736)
schovan 2019-06-18 18:26 |
It works in Unity 2019.1.7f1 (64-bit). But I'm not happy about that. What if someone's project is not ready to Unity 2019? |
(0005737)
jsantos 2019-06-18 18:44 |
We would need to distribute a noesis runtime for each version of Unity. I am not sure we want to do that for the indie license. |
(0005738)
schovan 2019-06-18 18:47 |
ok |
(0005739)
jsantos 2019-06-18 18:50 |
I think once WebGL stabilizes a bit more this won't be an issue at all. Right now we have to maintain a version of webgl for each version of Unity and Unreal. Let's see how this evolves. Thanks for your patience and for your feedback. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1237 | [NoesisGUI] C++ SDK | major | always | 2018-02-08 02:40 | 2019-06-18 16:58 |
Reporter: | nikobarli | Platform: | Windows | ||
Assigned To: | sfernandez | OS: | Windows 10 | ||
Priority: | high | OS Version: | Windows 10 FCU | ||
Status: | assigned | Product Version: | 2.1.0rc2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | NoesisTheme.xaml is not complete ? | ||||
Description: |
NoesisTheme.xaml is not complete, or it may not be applied correctly by NoesisGUI. |
||||
Tags: | |||||
Steps To Reproduce: |
1. Put the attached NoesisControls.xaml and NoesisTheme.xaml into a directory 2. Open the NoesisControls.xaml using XamlPlayer. Note that NoesisControls.xaml includes NoesisTheme.xaml as its resource. NoesisTheme.xaml is modified so that all its colors are set to green #FF00FF00. // Observe that some parts of control is still shown in Noesis default colors (not green). See the attached NotAllGreen.jpg |
||||
Additional Information: | |||||
Attached Files: |
NotAllGreen.JPG (132,514 bytes) 2018-02-08 02:40 https://www.noesisengine.com/bugs/file_download.php?file_id=884&type=bug NoesisControls.xaml (305,753 bytes) 2018-02-08 02:40 https://www.noesisengine.com/bugs/file_download.php?file_id=882&type=bug NoesisTheme.xaml (156,604 bytes) 2018-02-08 02:40 https://www.noesisengine.com/bugs/file_download.php?file_id=883&type=bug NotAllGreen-WPF.JPG (149,354 bytes) 2018-02-08 02:44 https://www.noesisengine.com/bugs/file_download.php?file_id=885&type=bug |
||||
Notes | |
(0005087)
nikobarli 2018-02-08 02:44 |
When opened using WPF, the parts that are not using the colors defined by NoesisTheme.xaml are different. Notable, some texts are shown as black (see the attached NotAllGreen-WPF.jpg). This makes us difficult to use Blend when designing the UI. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1463 | [NoesisGUI] Unity3D | crash | always | 2019-05-09 06:48 | 2019-06-04 10:38 |
Reporter: | cyberfox | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 2.2.2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Windows | ||||
Summary: | MarkupExtension crashes the Unity Editor | ||||
Description: | But only when you actually use the class in Xaml. | ||||
Tags: | Unity | ||||
Steps To Reproduce: |
public class Language : MarkupExtension { // no members needed, it crashes regardless } <TextBlock Text="{locale:Language Herp}" TextWrapping="Wrap" /> |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1469 | [NoesisGUI] C# SDK | feature | have not tried | 2019-05-21 08:37 | 2019-06-04 10:37 |
Reporter: | darthmaule2 | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 2.2.2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Suppot for FrameworkContentElement | ||||
Description: |
// BDM: There is no FrameworkContentElement in Noesis. //FrameworkContentElement fcElement = this.TargetElement as FrameworkContentElement; //if (fcElement != null) //{ // fcElement.Loaded += this.ElementLoaded; // return; //} |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1471 | [NoesisGUI] C# SDK | feature | have not tried | 2019-05-21 08:40 | 2019-06-04 10:37 |
Reporter: | darthmaule2 | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 2.2.2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Support XamlReader.Load from Stream | ||||
Description: |
XamlReader: public static ModuleCatalog CreateFromXaml(Stream xamlStream) { // BDM: This is Windows only WPF code. // We could ask Noesis to implement this in their XamlReader if we want this capability in the future. throw new NotImplementedException("BDM: Ask Noesis to implement if needed."); //if (xamlStream == null) //{ // throw new ArgumentNullException(nameof(xamlStream)); //} //return XamlReader.Load(xamlStream) as ModuleCatalog; } |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1475 | [NoesisGUI] C# SDK | minor | have not tried | 2019-05-21 12:56 | 2019-06-04 10:36 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 2.2.2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Application MainWindow never fires Unloaded event | ||||
Description: | When closing an application, the main window should trigger the Unloaded event before closing. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1473 | [NoesisGUI] C# SDK | feature | have not tried | 2019-05-21 11:58 | 2019-06-04 10:33 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.3 | ||
Target Version: | 2.2.3 | ||||
Platform: | Any | ||||
Summary: | Application.MainWindow property is missing | ||||
Description: | https://docs.microsoft.com/en-us/dotnet/api/system.windows.application.mainwindow?view=netframework-4.8 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1482 | [NoesisGUI] Unreal | feature | always | 2019-05-31 23:03 | 2019-06-04 10:32 |
Reporter: | Dreika | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.2 | ||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.2 | ||
Target Version: | 2.2.3 | ||||
Platform: | Windows | ||||
Summary: | <Rectangle Radius="10,5,10,5"/> not worck >_< | ||||
Description: | <Rectangle Radius="10,5,10,5"/> or <Rectangle Radius="10"/> or <Rectangle Radius="10,5"/> not worck >_< | ||||
Tags: | UE4 | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
noe.png (488,812 bytes) 2019-05-31 23:03 https://www.noesisengine.com/bugs/file_download.php?file_id=1025&type=bug Redactor.jpg (105,407 bytes) 2019-06-03 04:11 https://www.noesisengine.com/bugs/file_download.php?file_id=1027&type=bug |
||||
Notes | |
(0005693)
sfernandez 2019-06-02 12:07 |
Rectangle shape doesn't define a Radius property, as you can see in the screenshot you posted the properties are RadiusX and RadiusY. What you attempt to do will look like this: <Rectangle RadiusX="10" RadiusY="5" .../> |
(0005694)
Dreika 2019-06-03 04:11 (Last edited: 2019-06-03 04:15) |
This proposal innovations for different radii of each of the 4 corners. In the documentation, throw the implementation of such an element of the frame |
(0005695)
sfernandez 2019-06-03 10:50 |
Maybe you want to use a Border element which defines the CornerRadius property that allows you to specify different radius for each corner:<Border Margin="10" BorderBrush="DarkGray" BorderThickness="1" CornerRadius="4,8,32,16"> https://2000thingswpf.files.wordpress.com/2011/11/437-002.png |
(0005696)
Dreika 2019-06-03 21:37 |
Thanks for the decision |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1480 | [NoesisGUI] Unity3D | major | always | 2019-05-30 12:25 | 2019-06-03 12:06 |
Reporter: | cyberfox | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.2 | ||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Windows | ||||
Summary: | LightweightRenderPipeline hides NoesisGUI | ||||
Description: |
Using the LWRP, NoesisGUI will simply disappear. Events are still being triggered though. See attached screenshots where i change between "none" to "LightweightRenderPipelineAsset". The last picture is a screenshot of the "Asset", I've clicked all button and tweaked every knob. Nothing makes NoesisGUI visible. Unity version: 2018.3.5f1 |
||||
Tags: | LightweightRenderPipeline, Unity | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
WeChat Image_20190530180940.png (109,271 bytes) 2019-05-30 12:25 https://www.noesisengine.com/bugs/file_download.php?file_id=1021&type=bug WeChat Image_20190530180950.png (155,821 bytes) 2019-05-30 12:25 https://www.noesisengine.com/bugs/file_download.php?file_id=1022&type=bug WeChat Image_20190530181029.png (36,793 bytes) 2019-05-30 12:25 https://www.noesisengine.com/bugs/file_download.php?file_id=1023&type=bug |
||||
Notes | |
(0005689)
jsantos 2019-05-30 13:30 |
Unity 2019 is required for LWRP. |
(0005690)
cyberfox 2019-05-31 05:17 |
that fixed it thanks. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1483 | [NoesisGUI] Unreal | crash | sometimes | 2019-06-01 11:27 | 2019-06-01 20:26 |
Reporter: | Dreika | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 2.2.2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Windows | ||||
Summary: | Excellent coding in conjunction with Ue4! | ||||
Description: |
I was looking for how to make <bb> forum codes for text style in the game chat. I bought plug-ins for replacing the interface, and finding their delay when dragging elements (they were breaking away from the cursor during sudden movements) refused. At first, I was pleased with Xaml. I didn’t see how inconvenient it is to implement <table> <tr> <td> </ td> </ tr> </ table> in it, well, it's tolerable because <Grid> is faster. But after seeing how dragging is implemented in a non-working Inventory project, I returned to the unloved s ++ !!! I'd better look for a paid coder to create a StyleText plugin where Slate Widget WrapText will take an array of style structures Text: it can be a wavy line, it’s a dotted line, and it can be a text rinht) (fill or up or center or down) (0 = before text or 1 = behind text) " <span color = "# ffffffff" size = "20" filled = "texture #fffffff fill fill 0" hower = "color =" # ffffffff "size =" 20 "filled =" texture #ffffffff fill 1 ""> fill fill texture0 = before text. </> Do not ask the developers of Ue4 to study c++ !!!, because basically this engine is chosen because of the easy programming, which you have managed to complicate by creating programs for each with c++ !!! |
||||
Tags: | UE4 | ||||
Steps To Reproduce: | Open tutorial T_T!!! | ||||
Additional Information: | |||||
Attached Files: |
tyt.png (1,464,872 bytes) 2019-06-01 11:27 https://www.noesisengine.com/bugs/file_download.php?file_id=1026&type=bug |
||||
Notes | |
(0005691)
jsantos 2019-06-01 11:38 |
Hi Dreika, I am not sure to understand the purpose of this ticket. What should be fixed to close this report? |
(0005692)
Dreika 2019-06-01 20:26 |
Unreal Engine 4 project can be with c++ but should not contain additional with c++ files if you are not eager to edit the examples under Ue4 every time. C ++ is not well tolerated at the moment. Make the version without c ++ classes on Inventory (in the plugin create all the missing behavior on the transfer in blueprint) |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1481 | [NoesisGUI] Unreal | feature | always | 2019-05-30 21:02 | 2019-05-30 21:33 |
Reporter: | Dreika | Platform: | |||
Assigned To: | hcpizzi | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 2.2.2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Windows | ||||
Summary: | Add Noesis to CanvasPanel Widget on EventPreConstruct = Crash | ||||
Description: | Add Noesis to CanvasPanel Widget on EventPreConstruct = Crash fix please | ||||
Tags: | UE4 | ||||
Steps To Reproduce: | Add Noesis to CanvasPanel Widget on EventPreConstruct = Crash | ||||
Additional Information: | |||||
Attached Files: |
Noesis.png (181,923 bytes) 2019-05-30 21:02 https://www.noesisengine.com/bugs/file_download.php?file_id=1024&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1477 | [NoesisGUI] C++ SDK | minor | always | 2019-05-27 11:26 | 2019-05-29 01:12 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.3 | ||
Target Version: | 2.2.3 | ||||
Platform: | Any | ||||
Summary: | Can't write more than one character in an editable ComboBox | ||||
Description: |
As explained in the following post: https://www.noesisengine.com/forums/viewtopic.php?f=3&t=1689 |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1445 | [NoesisGUI] Unity3D | feature | always | 2019-04-06 16:10 | 2019-05-25 10:35 |
Reporter: | stonstad | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.1 | ||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Unity Sample Demonstrating Render Target Alpha Blend | ||||
Description: |
This is a feature request and not an issue. I am hoping that the Unity render target texture sample might be extended to demonstrate how to accomplish premultiplied alpha for placement of a transparent Unity/Noesis texture within a Noesis UI. There is a forum thread here discussing my attempt at this so far: https://www.noesisengine.com/forums/viewtopic.php?f=3&t=1615 Thank you in advance for your consideration of this addition to the samples library. Thanks, Shaun |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0005686)
stonstad 2019-05-21 22:20 |
Noesis does this fine -- I had some shaders that were forcing alpha to 1, and this was the cause of the behaviors I was seeing. No issues here, I'm good for us to close this if you are. |
(0005687)
jsantos 2019-05-25 10:35 |
Thank you! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1452 | [NoesisGUI] C# SDK | crash | random | 2019-04-23 21:49 | 2019-05-21 13:32 |
Reporter: | stonstad | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.1 | ||
Product Build: | Resolution: | duplicate | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.3 | ||
Target Version: | 2.2.3 | ||||
Platform: | Any | ||||
Summary: | Noesis Crashes Unity Sometimes When Editor Window Resizes | ||||
Description: |
When I maximize the editor Unity sometimes crashes. I submitted a dump to Unity and the team responded that Noesis.dll was the cause. It happened today and I am including an editor dmp w/ log for review. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
Crash_2019-04-23_194605952.zip (418,849 bytes) 2019-04-23 21:49 https://www.noesisengine.com/bugs/file_download.php?file_id=1010&type=bug |
||||
Notes | |
(0005637)
jsantos 2019-04-23 23:56 |
Thanks for the report. I will have a look at it later today. |
(0005638)
jsantos 2019-04-23 23:57 |
Could you provide more context? Like, is this happening in Play mode or not, etc... |
(0005644)
jsantos 2019-04-25 19:12 |
The information available in the dump is quite confusing. Could you please attach more minidumps and describe with all the precision you can how this is happening? Thanks! |
(0005646)
stonstad 2019-04-26 17:21 |
Hi Jsantos -- It happens during stopped mode. The crash occurs randomly when I change dimensions of the Unity editor window on Windows 10. It happens often enough that I think I could record the process -- but I don't know if it would help diagnostically. Are there other things I can share? Or perhaps if I do it a second time the Editor minidump might contain more useful information? I'm happy to help -- just let me know. Thanks, Shaun. |
(0005649)
stonstad 2019-04-29 20:31 |
I think this is a duplicate of 1459. The workflow is click play once.... and then stop the player. After, any one of the following actions causes Noesis.dll to throw a fatal exception: minimize, maximize, and play. |
(0005676)
jsantos 2019-05-14 23:26 |
Is this a duplication of 0001459 then? |
(0005684)
stonstad 2019-05-21 13:31 |
Yes, I believe so. Since I started using the patched version I have not seen this behavior. |
(0005685)
jsantos 2019-05-21 13:32 |
Thanks! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1424 | [NoesisGUI] C++ SDK | minor | always | 2019-03-14 10:27 | 2019-05-14 23:39 |
Reporter: | realesmedia | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.0b10 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.3 | ||
Target Version: | 2.2.3 | ||||
Platform: | Windows | ||||
Summary: | crash on closing the window (NoesisApp::Window) | ||||
Description: |
We use a multi-window interface. When you close the window using the Close () method, crash occurs in the destructor ..Src\Packages\App\ApplicationLauncher\Src\window.cpp Window::~Window() { mClosed(this, EventArgs::Empty); if (mDisplay != 0) { mDisplay->LocationChanged() -= MakeDelegate(this, &Window::OnDisplayLocationChanged); !!!!! Crash . . . } } void Window::Close() { if (mDisplay != 0) { mDisplay->Close(); mDisplay = nullptr; // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! } } |
||||
Tags: | C++ | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
screen.jpg (1,468,819 bytes) 2019-04-08 15:50 https://www.noesisengine.com/bugs/file_download.php?file_id=1008&type=bug |
||||
Notes | |
(0005589)
jsantos 2019-04-02 20:20 |
Sorry, I am not following here. Could you please elaborate a bit more about where the crash is happening? What display implementation are you using? I just tried in one of our examples doing a manual close and everything is working fine (Windows 10) |
(0005616)
realesmedia 2019-04-08 15:50 |
Hi I inherit from NoesisApp::Window. I create several dialog windows. if you close the window using the Window::Close() method, then ~Window () will crash. fix method NoesisApp::Window::Close() { if (mDisplay != 0) { mDisplay->Close(); mDisplay = nullptr; // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! } } |
(0005617)
jsantos 2019-04-08 16:19 |
What crash are you getting if you don't set mDisplay to nullptr? Could you please paste the callstack? |
(0005619)
realesmedia 2019-04-09 16:32 |
if mDisplay is not set to nullptr, the destructor tries to unsubscribe from the events mDisplay ..Src\Packages\App\ApplicationLauncher\Src\window.cpp Window::~Window() { mClosed(this, EventArgs::Empty); if (mDisplay != 0) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! { mDisplay->LocationChanged() -= MakeDelegate(this, &Window::OnDisplayLocationChanged); !!!!! Crash . . . } } |
(0005623)
jsantos 2019-04-10 13:51 |
Yes, but I don't understand why unsubscribing is crashing when using two windows. Could you please paste the callstack when crashing? |
(0005624)
realesmedia 2019-04-10 14:41 (Last edited: 2019-04-10 14:46) |
Does not depend on the number of windows. after calling Window :: Close () mDisplay is destroyed. ~ Windows () tries to access it. System: Windows 10, DX11, (Win32Display) |
(0005625)
realesmedia 2019-04-10 14:56 (Last edited: 2019-04-10 15:06) |
Dump https://yadi.sk/d/j3ii39MeZAi8cQ |
(0005626)
jsantos 2019-04-10 14:59 |
Our Window::Close does not destroy the displayvoid Window::Close() { if (mDisplay != 0) { mDisplay->Close(); } } So I am not sure how the crash is happening. I tried reproducing the issue. I need a callstack with the crash please, not a dump. Thanks! |
(0005627)
realesmedia 2019-04-10 15:15 |
ucrtbased.dll!00007ffe87387f65() Unknown Non-user code. Cannot find or open the PDB file. ucrtbased.dll!00007ffe87388103() Unknown Non-user code. Cannot find or open the PDB file. ucrtbased.dll!00007ffe8739d7dd() Unknown Non-user code. Cannot find or open the PDB file. vcruntime140d.dll!00007ffe96629051() Unknown Non-user code. Cannot find or open the PDB file. NoesisApp.dll!Noesis::Delegate<void __cdecl(NoesisApp::Display *,int,int)>::Remove(const Noesis::Delegate<void __cdecl(NoesisApp::Display *,int,int)> & d={...}) Line 137 C++ Symbols loaded. NoesisApp.dll!Noesis::Delegate<void __cdecl(NoesisApp::Display *,int,int)>::operator-=(const Noesis::Delegate<void __cdecl(NoesisApp::Display *,int,int)> & d={...}) Line 143 C++ Symbols loaded. > NoesisApp.dll!NoesisApp::Window::~Window() Line 71 C++ Symbols loaded. Engine.dll!Miracle::Gui::WindowEx::~WindowEx() Line 334 C++ Symbols loaded. Engine.dll!Docking::LayoutWindow::~LayoutWindow() C++ Non-user code. Symbols loaded. Engine.dll!Docking::LayoutWindow::`vector deleting destructor'(unsigned int) C++ Non-user code. Symbols loaded. Noesis.dll!00007ffe655a1516() Unknown Non-user code. Cannot find or open the PDB file. Engine.dll!Docking::LayoutWindow::Release() Line 17 C++ Symbols loaded. Engine.dll!Docking::DockManager::CreateLayoutWindow::__l2::<lambda>() Line 199 C++ Symbols loaded. Engine.dll!std::_Invoker_functor::_Call<void <lambda>(void) &>(Docking::DockManager::CreateLayoutWindow::__l2::void <lambda>(void) & _Obj=void <lambda>(void){...}) C++ Non-user code. Symbols loaded. Engine.dll!std::invoke<void <lambda>(void) &>(Docking::DockManager::CreateLayoutWindow::__l2::void <lambda>(void) & _Obj=void <lambda>(void){...}) C++ Non-user code. Symbols loaded. Engine.dll!std::_Invoker_ret<void,1>::_Call<void <lambda>(void) &>(Docking::DockManager::CreateLayoutWindow::__l2::void <lambda>(void) & <_Vals_0>=void <lambda>(void){...}) C++ Non-user code. Symbols loaded. Engine.dll!std::_Func_impl_no_alloc<void <lambda>(void),void>::_Do_call() C++ Non-user code. Symbols loaded. Engine.dll!std::_Func_class<void>::operator()() C++ Non-user code. Symbols loaded. Engine.dll!std::_Invoker_functor::_Call<std::function<void __cdecl(void)> &>(std::function<void __cdecl(void)> & _Obj={...}) C++ Non-user code. Symbols loaded. Engine.dll!std::invoke<std::function<void __cdecl(void)> &>(std::function<void __cdecl(void)> & _Obj={...}) C++ Non-user code. Symbols loaded. Engine.dll!std::_Invoker_ret<std::_Unforced,0>::_Call<std::function<void __cdecl(void)> &>(std::function<void __cdecl(void)> & <_Vals_0>={...}) C++ Non-user code. Symbols loaded. Engine.dll!std::_Call_binder<std::_Unforced,std::function<void __cdecl(void)>,std::tuple<>,std::tuple<> >(std::_Invoker_ret<std::_Unforced,0> __formal={...}, std::integer_sequence<unsigned __int64> __formal={...}, std::function<void __cdecl(void)> & _Obj={...}, std::tuple<> & _Tpl={...}, std::tuple<> && _Ut={...}) Line 1859 C++ Non-user code. Symbols loaded. Engine.dll!std::_Binder<std::_Unforced,std::function<void __cdecl(void)> &>::operator()<>() Line 1914 C++ Non-user code. Symbols loaded. Engine.dll!std::_Invoker_functor::_Call<std::_Binder<std::_Unforced,std::function<void __cdecl(void)> &> &>(std::_Binder<std::_Unforced,std::function<void __cdecl(void)> &> & _Obj={...}) C++ Non-user code. Symbols loaded. Engine.dll!std::invoke<std::_Binder<std::_Unforced,std::function<void __cdecl(void)> &> &>(std::_Binder<std::_Unforced,std::function<void __cdecl(void)> &> & _Obj={...}) C++ Non-user code. Symbols loaded. Engine.dll!std::_Invoker_ret<void,1>::_Call<std::_Binder<std::_Unforced,std::function<void __cdecl(void)> &> &>(std::_Binder<std::_Unforced,std::function<void __cdecl(void)> &> & <_Vals_0>={...}) C++ Non-user code. Symbols loaded. Engine.dll!std::_Func_impl_no_alloc<std::_Binder<std::_Unforced,std::function<void __cdecl(void)> &>,void>::_Do_call() C++ Non-user code. Symbols loaded. Globals.dll!std::_Func_class<void>::operator()() C++ Non-user code. Symbols loaded. Globals.dll!Global::Dispatcher::Update(float global_time=7.90762854) Line 13 C++ Symbols loaded. Engine.dll!MiracleEngine::Update() Line 267 C++ Symbols loaded. Engine.dll!MiracleEngine::Run() Line 344 C++ Symbols loaded. Miracle.exe!WinMain(HINSTANCE__ * hInstance=0x00007ff71c9d0000, HINSTANCE__ * hPrevInstance=0x0000000000000000, char * lpCmdLine=0x000001e9c1d05557, int nCmdShow=10) Line 78 C++ Symbols loaded. Miracle.exe!invoke_main() Line 107 C++ Non-user code. Symbols loaded. Miracle.exe!__scrt_common_main_seh() Line 288 C++ Non-user code. Symbols loaded. Miracle.exe!__scrt_common_main() Line 331 C++ Non-user code. Symbols loaded. Miracle.exe!WinMainCRTStartup() Line 17 C++ Non-user code. Symbols loaded. kernel32.dll!00007ffec33b3dc4() Unknown Non-user code. Cannot find or open the PDB file. ntdll.dll!00007ffec5ce3691() Unknown Non-user code. Cannot find or open the PDB file. |
(0005628)
realesmedia 2019-04-10 15:23 |
Window()::Close() -> Win32Display()-> SendMessage(mWindowHandle, WM_CLOSE, 0, 0); -> ~Win32Display() ~Window() mDsiplay(Win32Display) destroed |
(0005629)
realesmedia 2019-04-10 16:29 |
excuse this in our inherited class WindowEx :: Close is called Display.Reset (). This is a feature of the implementation of our WindowsEx. Using the WindowEx class is similar to using the WPF Window. I inherited the WindowEx class from NoesisApp :: Window and made members of the Display class and the RenderContext class. This works fine, but when I close the window, I cannot notify Window that Display has been destroyed, As a variant remove unbind mDisplay in the method Window::Shutdown () simplified WindowEx: class ENGINE_API WindowEx : public NoesisApp::Window { using Base = NoesisApp::Window; using This = WindowEx; public: WindowEx() { Noesis::GUI::LoadComponent(this, "Global/GUI/Windows/WindowEx.xaml"); Initialize(); } virtual ~WindowEx(); void Show(bool activate=true); void ShowDialog(); void Hide(); void Initialize() { m_display = NoesisApp::CreateDisplay(); m_render_context = NoesisApp::RenderContext::Create("D3D11"); m_render_context->Init(m_display->GetNativeHandle(), Global::api.gfx->GetDX11RenderContext(), Noesis::Device::Get(), m_samples, false, true); m_render_context->Resize(); Base::Init(m_display, m_render_context, eastl::max_alt(m_samples, 1U), m_ppaa); } void Shutdown() { Base::Shutdown(); m_display.Reset(); m_render_context->Shutdown(); m_render_context.Reset(); } void Close() { Base::Close(); Shutdown(); } protected: Noesis::Ptr<NoesisApp::Display> m_display; Noesis::Ptr<NoesisApp::RenderContext> m_render_context; NS_DECLARE_REFLECTION(This, Base) }; |
(0005630)
jsantos 2019-04-10 16:32 |
So there is nothing wrong at our code right? Can we close this? |
(0005631)
realesmedia 2019-04-10 16:46 |
Yes. Only if it is possible to transfer the ~ Window() code to Window::Shutdown() thanks |
(0005632)
jsantos 2019-04-10 16:57 |
Yes, that makes sense. Moving the code from the destructor to the end of Shutdown(). Could you try it and let me know if it works for you? |
(0005633)
realesmedia 2019-04-10 16:59 |
I tested this option. works good))) |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1466 | [NoesisGUI] C++ SDK | major | always | 2019-05-13 14:42 | 2019-05-14 17:13 |
Reporter: | realesmedia | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.3 | ||
Target Version: | 2.2.3 | ||||
Platform: | Windows | ||||
Summary: | double clicking on treeviewItem collapses root node | ||||
Description: |
Noesis 2.2.1&2.2.2 XamlPlayer open TreeView.xaml (Noesis 2.2.1 SDK samples) double clicking on a node collapses root node |
||||
Tags: | C++ | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1467 | [NoesisGUI] C++ SDK | major | always | 2019-05-13 19:31 | 2019-05-14 10:12 |
Reporter: | realesmedia | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 2.2.2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | ScrollViewer mouse wheel scroll does not work if the mouse is over a child ScrollViewer | ||||
Description: |
There is a problem with ScrollViewer on element inside another ScrollViewer. If mouse hovers on child ScrollViewer, parent ScrollViewer don't get mouse-wheel-scroll, even if child has nothing to scroll and scrollbars on it are invisible if after the start of scrolling the cursor is over the element containing the ScrollViewer, then the scrolling is frozen P.S. Checked in WPF, similar behavior. How to make scrolling in this case? |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
TreeView.xaml (20,120 bytes) 2019-05-13 19:31 https://www.noesisengine.com/bugs/file_download.php?file_id=1017&type=bug |
||||
Notes | |
(0005673)
sfernandez 2019-05-14 01:12 |
Hi, Yes, this is the behavior of WPF also. Usually when you have nested lists, the inner one doesn't need to scroll. So the solution is to provide a different template for that inner list that doesn't have a ScrollViewer. This way the wheel event will reach the outer list's ScrollViewer without problems. Could you try that? |
(0005674)
realesmedia 2019-05-14 10:12 |
Hi, ok let's try thank |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1464 | [NoesisGUI] C# SDK | minor | N/A | 2019-05-10 20:16 | 2019-05-10 20:35 |
Reporter: | ai_enabled | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.3 | ||
Target Version: | 2.2.3 | ||||
Platform: | Any | ||||
Summary: | GoToStateAction FindStateGroup wrong implementation? | ||||
Description: |
Hi guys, https://github.com/Noesis/Managed/blob/4af4b9eae10395b19f8603e880c6425be0b99780/Src/NoesisApp/Core/Src/Interactivity/GoToStateAction.cs#L84 Looks like you're always returning null. What's the point of this method, then? Regards! |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0005672)
sfernandez 2019-05-10 20:35 |
You're right, this is a bug, part of the code in that function is missing, it should be like this:private FrameworkElement FindStateGroup(FrameworkElement context) { if (context != null) { FrameworkElement current = context; FrameworkElement parent = context.Parent; while (!HasStateGroup(current) && ShouldWalkTree(parent)) { current = parent; parent = parent.Parent; } if (HasStateGroup(current)) { FrameworkElement templatedParent = current.TemplatedParent; if (templatedParent != null && templatedParent is Control) { return templatedParent; } if (parent != null && parent is UserControl) { return parent; } return current; } } return null; } Will appear fixed in next release. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1462 | [NoesisGUI] Unity3D | major | always | 2019-05-08 07:29 | 2019-05-08 19:57 |
Reporter: | cyberfox | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.3 | ||
Target Version: | 2.2.3 | ||||
Platform: | Windows | ||||
Summary: | Upside down images on OpacityMask | ||||
Description: |
In VisualStudio it shows normally but in U3D it's upside down. Check attached image. Note: <Image> is functioning normally |
||||
Tags: | Unity | ||||
Steps To Reproduce: |
<UserControl x:Class="NoesisUI.Assets.UI.Test.Test" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:designerui="clr-namespace:NoesisUI.Assets.UI.Views.DesignerUI" mc:Ignorable="d" d:DesignHeight="256" d:DesignWidth="256"> <Grid Background="White"> <Grid Background="Black"> <Grid.OpacityMask> <ImageBrush ImageSource="/NoesisUI;component/Assets/Resources/Images/UIComponents/Icon_Map.png" Stretch="Uniform" /> </Grid.OpacityMask> </Grid> </Grid> </UserControl> |
||||
Additional Information: | |||||
Attached Files: |
WeChat Screenshot_20190508131445.png (291,184 bytes) 2019-05-08 07:29 https://www.noesisengine.com/bugs/file_download.php?file_id=1014&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1459 | [NoesisGUI] Unity3D | crash | always | 2019-04-29 19:24 | 2019-04-30 18:20 |
Reporter: | stonstad | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.3 | ||
Target Version: | 2.2.3 | ||||
Platform: | Any | ||||
Summary: | Noesis DLL Crash on Alt-Tab to Unity or Play Clicked | ||||
Description: |
I am using Unity 2019.1.0f2 with Noesis 2.2.2. This happens with 2.2.1 as well. The Unity editor is fatally crashing every time I alt-tab into the editor or play, stop, and hit play again. Here is the last thing in the Unity editor file. Refresh: detecting if any assets need to be imported or removed ... Refresh Completed time: 0.239306s Asset Scan time: 0.235643s Asset Hashing: 0.000000s [0 B, 0.000000 mb/s] Asset Import (Scripting) time: 0.000000s (count: 0) Post Processs Assets (Scripting) time: 0.000000s Asset Rehashing: 0.000000s [0 B, 0.000000 mb/s] Asset Import (Non Scripting) time: 0.000000s (count: 0) Post Process Assets (Non Scripting) time: 0.000000s Dependent Assets to Import Queue time: 0.000000s Reloading assemblies for play mode. Begin MonoManager ReloadAssembly Unity does not create a crash dump. I attached Visual Studio to Unity.exe to get the exception and call stack without symbols. I'm including a dump file. Fatal crash details (no symbols): https://i.imgur.com/8FJ94te.png Fatal crash call stack (no symbols): https://i.imgur.com/s9cW8gp.png This issue is causing significant work stoppage due to the frequency and criticality of the error. |
||||
Tags: | |||||
Steps To Reproduce: | I'm sure this is project specific. Let me know if the dump file is not sufficient. | ||||
Additional Information: | |||||
Attached Files: |
Unity.dmp (1,378,367 bytes) 2019-04-29 19:24 https://www.noesisengine.com/bugs/file_download.php?file_id=1013&type=bug |
||||
Notes | |
(0005650)
stonstad 2019-04-29 20:32 |
This happens when l play once (successfully). I then stop playback. Now, if I alt-tab away and back, minimize, maximize, or hit play again, the editor crashes. Noesis.dll throws a fatal exception corresponding to the minidump shared above. |
(0005651)
stonstad 2019-04-30 03:08 |
I can try with a debug build or with symbols is it is helpful to you. |
(0005655)
sfernandez 2019-04-30 09:30 |
The crash dump points me it is related with the View.Rendering event, could you please confirm you are using it in your game? If you remove all the handlers subscribed to the event, are the crashes no longer happening? |
(0005658)
sfernandez 2019-04-30 14:31 |
We were able to reproduce the crash and fix it, could you please try the following library (win-x86_64) and confirm it is working for you: https://drive.google.com/open?id=1ok2dsFzrIrjlyRTx1S-wd4VcqfkanpRW |
(0005659)
stonstad 2019-04-30 15:25 |
Yes! I can confirm the fix and the workflow is resolved. re: Rendering event. I do hook this event but I made sure to disable it during testing. Before trying the new DLL I retested and commented out all event subscription for Rendering (and it still crashed). I have log statements to make sure I unregister View.Rendering when the event consumer/UserControl is unloaded. Thank you for the quick turn around -- I am very grateful for your timely assistance resolving this! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1456 | [NoesisGUI] C# SDK | major | always | 2019-04-25 22:18 | 2019-04-26 12:40 |
Reporter: | dstroup | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.2 | ||
Target Version: | 2.2.2 | ||||
Platform: | Linux | ||||
Summary: | BitmapImage strips leading "/" in paths on Linux | ||||
Description: |
Similar to issue 0001455, passing an absolute path to Noesis.BitmapImage results in FileTextureProvider::OpenStream called without the leading "/" when on Linux. This used to work in 2.2.0, but is broken in 2.2.1. |
||||
Tags: | |||||
Steps To Reproduce: |
Calling this: Noesis.BitmapImage bitmapImage = new Noesis.BitmapImage(new Uri("/home/user/image.bmp")); Results in a FileNotFoundException because the path provided to the FileTextureProvider is missing the leading "/" public class FileSystemTextureProvider : FileTextureProvider { public FileSystemTextureProvider() { } public override Stream OpenStream(string path) { return new FileStream("home/user/image.bmp", FileMode.Open, FileAccess.Read); // Crash due to missing "/" } } |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1455 | [NoesisGUI] C# SDK | major | always | 2019-04-24 19:36 | 2019-04-25 19:24 |
Reporter: | darthmaule2 | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.2 | ||
Target Version: | 2.2.2 | ||||
Platform: | Windows | ||||
Summary: | BitmapImage support for spaces in path broken in 2.2.1 | ||||
Description: |
Passing a path with a space to Noesis.BitmapImage results in FileTextureProvider::OpenStream called with %20 This use to work in 2.2.0, but is broken in 2.2.1 |
||||
Tags: | |||||
Steps To Reproduce: |
Calling this: Noesis.BitmapImage bitmapImage = new Noesis.BitmapImage(new Uri("C:\\Test Space\\image.bmp)); Results in a FileNotFoundException because the path provide by the FileTextureProvider converts the space to a %20 public class FileSystemTextureProvider : FileTextureProvider { public FileSystemTextureProvider() { } public override Stream OpenStream(string path) { return new FileStream("C:\Test%20Space\image.bmp", FileMode.Open, FileAccess.Read); // Crash due to space converted to %20 } } |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1378 | [NoesisGUI] C++ SDK | minor | have not tried | 2018-12-18 14:22 | 2019-04-25 18:01 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.2 | ||
Target Version: | 2.2.2 | ||||
Platform: | Any | ||||
Summary: | PointToScreen doesn't throw error if element is connected to visual tree | ||||
Description: |
PointToScreen and PointFromScreen functions should throw errors on elements not connected to visual tree. And TransformToAncestor and similar should also throw errors instead of using asserts if visuals are not related or connected to the visual tree. https://www.noesisengine.com/forums/viewtopic.php?f=3&t=1542&p=8842 |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1423 | [NoesisGUI] C++ SDK | major | always | 2019-03-12 15:53 | 2019-04-25 18:00 |
Reporter: | stonstad | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.0b6 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.2 | ||
Target Version: | 2.2.2 | ||||
Platform: | Any | ||||
Summary: | ToolTipService.SetToolTip on ListBoxItem Causes Crash | ||||
Description: |
ListBoxItem lb = _Root.FindName("_lb") as ListBoxItem; ToolTipService.SetToolTip(lb, new ToolTip()); // crash! |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
crash.zip (332,026 bytes) 2019-03-13 22:05 https://www.noesisengine.com/bugs/file_download.php?file_id=986&type=bug |
||||
Notes | |
(0005521)
stonstad 2019-03-12 15:59 |
Please close this issue -- it was caused by a null parameter being passed to SetToolTip. |
(0005523)
jsantos 2019-03-12 19:16 |
Was this crashing (restarting) Unity? If affirmative then we need to solve that. |
(0005524)
stonstad 2019-03-13 19:29 |
Yes -- it crashes Unity. Seems to be two separate behaviors. 1) Sending in null to SetToolTip causes a crash. and 2) FindName for a listboxitem seems to always returns null. |
(0005526)
stonstad 2019-03-13 22:05 |
encl. crash .dmp for above issue. |
(0005529)
jsantos 2019-03-14 00:46 |
@sfernandez, this is the native code crashing (obj is null)void ToolTipService::SetToolTip(DependencyObject* obj, BaseComponent* toolTip) { NS_ASSERT(obj); obj->SetValue<Ptr<BaseComponent> >(ToolTipProperty, toolTip); } By the way, the check against NULL must be done at C#, not in C++, where asserts are being used. |
(0005557)
stonstad 2019-03-25 19:15 |
Sure thing, no problem. Just curious -- why does it crash instead of throw an exception? |
(0005641)
sfernandez 2019-04-25 18:00 |
It was crashing because the native code wasn't checking if the input parameter was null, so an unhandled exception was generated closing Unity. We added checks for all the attached properties functions so proper exceptions are thrown in C# code. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1453 | [NoesisGUI] C++ SDK | minor | N/A | 2019-04-24 01:47 | 2019-04-24 12:15 |
Reporter: | mingingmingler | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | feedback | Product Version: | 2.2.1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Minor inconsistency in naming convention in native API | ||||
Description: |
Hi, was just integrating the native API into a project and noticed the following 3 lines in NsGui\Style.h: typedef Noesis::UICollection<Noesis::BaseSetter> BaseSetterCollection; typedef Noesis::UICollection<Noesis::BaseTrigger> TriggerCollection; typedef Noesis::UICollection<Noesis::Condition> ConditionCollection; It seems according to this convention, TriggerCollection should've been named BaseTriggerCollection. This may circumstantially conflict with TriggerCollection in the interactivity API. Fairly sure I spotted this in a couple other files but I forgot which ones they were. Not sure if a problem, thought I'd raise it anyway. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0005639)
sfernandez 2019-04-24 12:15 |
Those names try to match WPF names: https://referencesource.microsoft.com/#PresentationFramework/src/Framework/System/Windows/SetterBaseCollection.cs,8020cc19a945707b https://referencesource.microsoft.com/#PresentationFramework/src/Framework/System/Windows/TriggerCollection.cs,dfc0f5bbfc1fa6bb https://referencesource.microsoft.com/#PresentationFramework/src/Framework/System/Windows/ConditionCollection.cs,cab4a775ebf6bf82 Although it is true we should change some of our base class names in C++ API to exactly match WPF to avoid any confusion (we already did that in C# API): BaseTrigger -> TriggerBase BaseSetter -> SetterBase BaseSetterCollection -> SetterBaseCollection BaseButton -> ButtonBase ... |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
872 | [NoesisGUI] Unity3D | feature | always | 2016-04-20 18:38 | 2019-04-18 18:46 |
Reporter: | kguner | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 1.2.5f11 | ||
Product Build: | Resolution: | duplicate | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0 | ||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Missing ItemsControl.AlternationCount Property | ||||
Description: |
Please implement this property. https://msdn.microsoft.com/en-us/library/system.windows.controls.itemscontrol.alternationcount(v=vs.110).aspx |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1122 | [NoesisGUI] C++ SDK | minor | always | 2017-06-30 02:47 | 2019-04-18 18:10 |
Reporter: | nikobarli | Platform: | Windows | ||
Assigned To: | sfernandez | OS: | Windows 10 | ||
Priority: | normal | OS Version: | Creators Update | ||
Status: | resolved | Product Version: | 2.0.2f2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.2 | ||
Target Version: | 2.2.2 | ||||
Platform: | Any | ||||
Summary: | Errors when loading XAML | ||||
Description: |
From forum discussion: http://www.noesisengine.com/forums/viewtopic.php?f=3&t=1130 The following XAML (modified from the original version found in https://stackoverflow.com/a/11455413/1767995) cannot be loaded by NoesisGUI <Grid> <Grid.Resources> <RoutedUICommand x:Key="MyCommand1" Text="Text" /> <RoutedUICommand x:Key="MyCommand2" Text="Another Text" /> </Grid.Resources> <Grid.CommandBindings> <CommandBinding Command="{StaticResource MyCommand1}" Executed="FirstMethod" /> <CommandBinding Command="{StaticResource MyCommand2}" Executed="SecondMethod" /> </Grid.CommandBindings> <Grid.InputBindings> <KeyBinding Key="Z" Modifiers="Ctrl" Command="{StaticResource MyCommand1}" /> <KeyBinding Key="H" Modifiers="Alt" Command="{StaticResource MyCommand2}" /> </Grid.InputBindings> <StackPanel> <Button x:Name="btn1" Command="{StaticResource MyCommand1}" Content="Click me" /> <Button x:Name="btn2" Command="{StaticResource MyCommand2}" Content="Click me" /> </StackPanel> </Grid> - RoutedUICommand class is not available to be used directly in the xaml. - CommandBinding cannot use StaticResources to set the Command property. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1380 | [NoesisGUI] Unity3D | feature | always | 2018-12-22 04:30 | 2019-04-18 17:16 |
Reporter: | elecman | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.1.0f1 | ||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Request support to read Canvas.Top and Canvas.Left form a text block | ||||
Description: |
A text block can have a Canvas.Left and Canvas.Top property like this: <TextBlock Name="speed_C" Text="300" FontFamily="#AirbusMCDUa" FontSize="10.8030383017496" Foreground="White" Canvas.Left="4.21134486413502" Canvas.Top="133.007815201125"/> Currently the API does not allow reading these properties in a TextBlock |
||||
Tags: | Unity | ||||
Steps To Reproduce: |
-Create a TextBlock with a Canvas.Top and Canvas.Left property. -In Unity, use try to get access to these properties in code. This is not possible. |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0005376)
sfernandez 2018-12-24 10:37 (Last edited: 2018-12-24 10:38) |
Hi, Canvas.Left and Canvas.Top are attached properties, defined in the Canvas panel class. There are two ways to get the value of these properties from a specific instance (of any dependency object type): - Using public Canvas static methods: float left = Canvas.GetLeft(element); Canvas.SetLeft(element, newLeft); // to set the value - Using the generic GetValue/SetValue from DependencyObject: float left = (float)element.GetValue(Canvas.LeftProperty); element.SetValue(Canvas.LeftProperty, newLeft); // to set the value Do you have any trouble using any of these? |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1361 | [NoesisGUI] C++ SDK | minor | always | 2018-11-24 23:07 | 2019-04-18 16:51 |
Reporter: | asusralis | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.1.0f1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.2 | ||
Target Version: | 2.2.2 | ||||
Platform: | Any | ||||
Summary: | GridView's ColumnHeaderContainerStyle changes in Blend but not in Noesis. | ||||
Description: | Reference: https://www.noesisengine.com/forums/viewtopic.php?f=3&p=8694#p8694 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
699 | [NoesisGUI] C++ SDK | minor | N/A | 2015-08-03 14:56 | 2019-04-18 16:49 |
Reporter: | themirrortruth | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0 | ||
Target Version: | |||||
Platform: | Any | ||||
Summary: | C++ API VisualTreeHelper.HitTest() | ||||
Description: |
http://www.noesisengine.com/forums/viewtopic.php?f=3&t=761 And whether it is possible to implement this method in C#? |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0002815)
sfernandez 2015-08-03 16:26 (Last edited: 2015-08-03 16:27) |
We will implement the following version of the HitTest function in a future release: https://msdn.microsoft.com/en-us/library/ms608753(v=vs.110).aspx Meanwhile, if you are interested, I can show you a tricky (and inefficient) way to simulate that behavior using the available HitTest(visual, point) function. |
(0002816)
themirrortruth 2015-08-03 16:35 |
Yes, I would like to know about it. Big thanks. |
(0002818)
sfernandez 2015-08-03 18:07 (Last edited: 2015-08-03 18:08) |
Here you are:public enum HitTestResultBehavior { // Continue hit testing against the next visual in the visual tree hierarchy. Continue, // Stop any further hit testing and return from the callback. Stop } public delegate HitTestResultBehavior HitTestResultCallback(HitTestResult result); public static class VisualTreeHelperExtension { public static void HitTest(Visual reference, Point point, HitTestResultCallback resultCallback) { List<KeyValuePair<UIElement, bool>> visible = new List<KeyValuePair<UIElement,bool>>(); HitTestResult hit; Visual lastHit = null; do { hit = VisualTreeHelper.HitTest(reference, point); if (hit.visualHit != null && resultCallback(hit) == HitTestResultBehavior.Continue) { lastHit = hit.visualHit; // Make this child invisible for HitTest, so other elements can be hit UIElement e = lastHit as UIElement; if (e != null) { visible.Add(new KeyValuePair<UIElement, bool>(e, e.IsHitTestVisible)); e.IsHitTestVisible = false; } } else { lastHit = null; } } while (lastHit != null); // restore IsHitTestVisible foreach (var item in visible) { item.Key.IsHitTestVisible = item.Value; } } } |
(0005362)
nokola 2018-12-10 19:22 |
+1 for this fix. We do all kinds of workarounds to keep code efficient and working as expected (hardcoded naming for grids, using custom bounds to determine hit test, tagging elements in XAML.) |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1449 | [NoesisGUI] Unity3D | trivial | always | 2019-04-08 14:50 | 2019-04-18 13:33 |
Reporter: | shawn | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.2 | ||
Target Version: | 2.2.2 | ||||
Platform: | Any | ||||
Summary: | DataBinding of Uri property didn't work in Unity3d | ||||
Description: |
I writed a custom control with a Uri DependencyProperty.I created a databing when i used this control.It works fine on vs blend,but didn't work in Unity3d. DataBinding of Uri property didn't work in Unity3d |
||||
Tags: | Unity | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0005635)
sfernandez 2019-04-11 12:43 |
Corresponding to this forum topic: https://www.noesisengine.com/forums/viewtopic.php?f=3&t=1653 |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1420 | [NoesisGUI] Unity3D | major | always | 2019-03-08 13:52 | 2019-04-16 19:30 |
Reporter: | Khonan | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.2 | ||
Target Version: | 2.2.2 | ||||
Platform: | Any | ||||
Summary: | Changing programmatically the Header text of a GridViewColumn has no effect | ||||
Description: |
Changing programmatically the Header text of a GridViewColumn has no effect. Actually, changing anything on the Header has no effect. Hidding or changing Size of the header doesn't work either: No Effect: <GridView.ColumnHeaderContainerStyle> <Style TargetType="GridViewColumnHeader"> <Setter Property="Visibility" Value="Hidden"/> </Style> </GridView.ColumnHeaderContainerStyle> but also : <Setter Property="Visibility" Value="Collapsed"/> and even : <Setter Property="Height" Value="0"/> |
||||
Tags: | GridViewColumn Header ColumnHeaderContainerStyle | ||||
Steps To Reproduce: |
My listview contains two column. Column 0 header is empty, column 1 Header is "TEST". Doing the following don't change the header : Code: Noesis.GridViewColumn gvc = ((GridView)m_ListView.View).Columns[1] as Noesis.GridViewColumn; gvc.Header = "Hello World"; While debuging Header is "Hello Word", But UI still display "TEST". |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0005530)
Khonan 2019-03-14 10:40 |
Tried using FrameworkElement.Visibility" but no success : <ListView.View> <GridView> <GridView.ColumnHeaderContainerStyle> <Style> <Setter Property="FrameworkElement.Visibility" Value="Collapsed"/> </Style> </GridView.ColumnHeaderContainerStyle> ... |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
493 | [NoesisGUI] Unity3D | minor | always | 2014-11-16 20:26 | 2019-04-16 19:30 |
Reporter: | movra | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.2 | ||
Target Version: | 2.2.2 | ||||
Platform: | Any | ||||
Summary: | ListView without ListView.View section doesn't display items | ||||
Description: |
In Blend, Visual Studio and Kaxaml you can use a ListView as a ListBox and it will display the same. In NoesisGUI if you don't add the ListView.View section, the rows will not contain any items and will not be affected by attributes like Height. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
ListViewBoxTest.7z (687 bytes) 2014-11-16 20:26 https://www.noesisengine.com/bugs/file_download.php?file_id=374&type=bug |
||||
Notes | |
(0001775)
sfernandez 2014-11-17 12:18 |
I was able to reproduce it, thanks for reporting. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1429 | [NoesisGUI] Unity3D | crash | random | 2019-03-18 09:10 | 2019-04-16 10:59 |
Reporter: | shawn | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.1 | ||
Target Version: | 2.2.2 | ||||
Platform: | Any | ||||
Summary: | unity2018 crash | ||||
Description: |
For example: private void OnInitialized(object sender, EventArgs args) { #if NOESIS vm = new MyViewModle(); MyAnimal animal1 = new MyAnimal() { Name = "Cat", Image = new TextureSource(AssetDatabase.LoadAssetAtPath<Texture2D>("Assets/cat.jpg")) }; MyAnimal panda = new MyAnimal() { Name = "Panda", Image = new TextureSource(AssetDatabase.LoadAssetAtPath<Texture2D>("Assets/panda.jpg")) }; vm.Animals.Add(animal1); vm.Animals.Add(panda); this.DataContext = vm; #endif } if some pictures are not exist there will throw a nullRef exception, and then I exited the play mode and play it again, the unity editor sometimes crash |
||||
Tags: | Unity | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
Crash_2019-03-18_055759309.zip (236,512 bytes) 2019-03-18 09:10 https://www.noesisengine.com/bugs/file_download.php?file_id=990&type=bug Crashes.zip (650,957 bytes) 2019-04-10 04:57 https://www.noesisengine.com/bugs/file_download.php?file_id=1009&type=bug |
||||
Notes | |
(0005538)
shawn 2019-03-18 09:13 |
unityVersion:2018.3.7f1(.3.6;.2.1 etc...) noesisVersion:2.2.0 |
(0005572)
jsantos 2019-03-29 01:11 (Last edited: 2019-03-29 01:12) |
@sfernandez crash is happening here (root (mView->GetContent()) is NULL.)Visual* Visual::GetRoot() const { Visual* root = IsConnectedToView() ? (Visual*)mView->GetContent() : const_cast<Visual*>(this); >> while (root->mVisualParent != 0) { root = root->mVisualParent; } return root; } Stacktrace: > Noesis.dll!Noesis::Visual::GetRoot() Line 436 C++ Noesis.dll!Noesis::Popup::HidePopup() Line 561 C++ Noesis.dll!Noesis::Popup::OnDisconnectFromView() Line 298 C++ Noesis.dll!Noesis::Visual::OnDisconnectFromViewChildren() Line 710 C++ Noesis.dll!Noesis::Visual::OnDisconnectFromViewChildren() Line 713 C++ Noesis.dll!Noesis::Visual::OnDisconnectFromViewChildren() Line 713 C++ Noesis.dll!Noesis::Visual::OnDisconnectFromViewChildren() Line 713 C++ Noesis.dll!Noesis::Visual::OnDisconnectFromViewChildren() Line 713 C++ Noesis.dll!Noesis::Visual::OnDisconnectFromViewChildren() Line 713 C++ Noesis.dll!Noesis::Visual::DisconnectFromView() Line 195 C++ Noesis.dll!Noesis::View::~View() Line 293 C++ |
(0005573)
jsantos 2019-03-29 01:36 |
Is this crash happening randomly or is it deterministic? |
(0005587)
sfernandez 2019-04-02 01:22 |
Is it possible that the crash occurred when you tried to change a scene or exited the play mode while a popup was still open? I think the crash is not related at all to images not being found, but popus given the crash callstack, could that be the case? |
(0005595)
sfernandez 2019-04-05 12:39 |
Could you please try 2.2.1 version, we fixed a bug related to popups and I think it will solve your problems. Thanks. |
(0005615)
shawn 2019-04-08 13:39 |
thank you! i am trying 2.2.1 version! i'll feedback here if i encounter a problem |
(0005620)
shawn 2019-04-10 04:57 |
would you see those crashes please |
(0005621)
sfernandez 2019-04-10 13:42 |
@jsantos Could you help with these callstacks? In the first one the 'resource' pointer seems to be null. The second callstack refers to a crash in Unity without Noesis being involved, but it could be related to the first crash. Noesis.dll!SetDebugObjectName(ID3D11DeviceChild * resource, const char * str, ...) Line 117 C++ > [Inline Frame] Noesis.dll!NoesisApp::D3D11RenderDevice::AllocatePage(NoesisApp::D3D11RenderDevice::DynamicBuffer &) Line 870 C++ Noesis.dll!NoesisApp::D3D11RenderDevice::CreateBuffer(NoesisApp::D3D11RenderDevice::DynamicBuffer & buffer, unsigned int size, D3D11_BIND_FLAG flags, const char * label) Line 896 C++ Noesis.dll!NoesisApp::D3D11RenderDevice::CreateBuffers() Line 909 C++ Noesis.dll!NoesisApp::D3D11RenderDevice::D3D11RenderDevice(ID3D11DeviceContext * context, bool sRGB) Line 343 C++ Noesis.dll!NoesisApp::D3D11Factory::CreateDevice(ID3D11DeviceContext * context, bool sRGB) Line 21 C++ Noesis.dll!Noesis::UnityDeviceD3D11::UnityDeviceD3D11(IUnityInterfaces * unityInterfaces, bool sRGB) Line 38 C++ [Inline Frame] Noesis.dll!`anonymous-namespace'::DeviceInitialize::__l5::<lambda_19a8d8fc18ebce0158ac87709b130cfd>::operator()() Line 155 C++ Noesis.dll!<lambda_19a8d8fc18ebce0158ac87709b130cfd>::<lambda_invoker_cdecl>() Line 156 C++ Noesis.dll!`anonymous namespace'::CreateDevice() Line 207 C++ Noesis.dll!Noesis_GetRenderOffscreenCallback::__l2::<lambda>(int eventId, void * data) Line 391 C++ Unity.exe!GfxDeviceWorker::RunCommand(ThreadedStreamBuffer & stream) Line 1551 C++ [Inline Frame] Unity.exe!ProcessGfxCommands(GfxDeviceWorker &) Line 161 C++ Unity.exe!GfxDeviceWorker::RunExt(ThreadedStreamBuffer & stream) Line 491 C++ [Inline Frame] Unity.exe!GfxDeviceWorker::Run() Line 475 C++ Unity.exe!GfxDeviceWorker::RunGfxDeviceWorker(void * data) Line 454 C++ Unity.exe!Thread::RunThreadWrapper(void * ptr) Line 76 C++ Unity.exe!D3D11CommonShader::ApplyGpuProgram(const GpuProgramParameters & params, const unsigned char * buffer, bool bindCBs) Line 184 C++ > Unity.exe!GfxDeviceD3D11Base::SetShadersThreadable(GpuProgram * * programs, const GpuProgramParameters * * params, const unsigned char * const * paramsBuffer) Line 1260 C++ Unity.exe!GfxDeviceWorker::RunCommand(ThreadedStreamBuffer & stream) Line 772 C++ [Inline Frame] Unity.exe!ProcessGfxCommands(GfxDeviceWorker &) Line 161 C++ Unity.exe!GfxDeviceWorker::CallImmediate(ThreadedDisplayList * dlist) Line 363 C++ Unity.exe!GfxDeviceWorker::RunCommand(ThreadedStreamBuffer & stream) Line 2004 C++ [Inline Frame] Unity.exe!ProcessGfxCommands(GfxDeviceWorker &) Line 161 C++ Unity.exe!GfxDeviceWorker::RunExt(ThreadedStreamBuffer & stream) Line 491 C++ [Inline Frame] Unity.exe!GfxDeviceWorker::Run() Line 475 C++ Unity.exe!GfxDeviceWorker::RunGfxDeviceWorker(void * data) Line 454 C++ Unity.exe!Thread::RunThreadWrapper(void * ptr) Line 76 C++ |
(0005622)
jsantos 2019-04-10 13:45 |
Could we please move these reports to different tickets giving more context about them? (to mark the original one as solved). Thanks! |
(0005634)
shawn 2019-04-11 03:16 |
of course! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1374 | [NoesisGUI] Unity3D | major | always | 2018-12-11 06:08 | 2019-04-15 20:33 |
Reporter: | arukari | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.1.0f1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.2 | ||
Target Version: | 2.2.2 | ||||
Platform: | Windows | ||||
Summary: | NoesisGUIExtensions: PlaneProjection rotate OpacityMask | ||||
Description: |
Drawing is wrong when you rotate control using OpacityMask with PlaneProjection. Rotation animation speed is also different. |
||||
Tags: | Unity | ||||
Steps To Reproduce: |
<noesis:Element.Projection> <noesis:PlaneProjection RotationX="45" RotationY="-30" RotationZ="-30" /> </noesis:Element.Projection> <Canvas ClipToBounds="True" Background="#8000FFFF"> <Canvas.OpacityMask> <ImageBrush ImageSource="radarMask2.png"> <ImageBrush.RelativeTransform> <RotateTransform CenterX="0.5" CenterY="0.5" /> </ImageBrush.RelativeTransform> </ImageBrush> </Canvas.OpacityMask> <Canvas.Triggers> <EventTrigger RoutedEvent="FrameworkElement.Loaded"> <BeginStoryboard> <Storyboard> <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(Canvas.OpacityMask).(Brush.RelativeTransform).(RotateTransform.Angle)" RepeatBehavior="Forever"> <EasingDoubleKeyFrame KeyTime="0:0:0" Value="0"/> <EasingDoubleKeyFrame KeyTime="0:0:4" Value="360"/> </DoubleAnimationUsingKeyFrames> </Storyboard> </BeginStoryboard> </EventTrigger> </Canvas.Triggers> </Canvas> Compare Rotation Speed. <Line x:Name="RadarEllipse" X1="150" Y1="150" X2="300" Y2="150" Stroke="Cyan" StrokeThickness="1" RenderTransformOrigin="0,0"> <Line.RenderTransform> <RotateTransform Angle="0" CenterX="150" CenterY="150"/> </Line.RenderTransform> <Line.Triggers> <EventTrigger RoutedEvent="FrameworkElement.Loaded"> <BeginStoryboard> <Storyboard> <!-- Vertical inverted bug. --> <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(Line.RenderTransform).(RotateTransform.Angle)" RepeatBehavior="Forever" > <EasingDoubleKeyFrame KeyTime="0:0:4" Value="0" /> <EasingDoubleKeyFrame KeyTime="0:0:0" Value="360"/> </DoubleAnimationUsingKeyFrames> </Storyboard> </BeginStoryboard> </EventTrigger> </Line.Triggers> </Line> |
||||
Additional Information: | |||||
Attached Files: |
無題.png (89,116 bytes) 2018-12-11 06:08 https://www.noesisengine.com/bugs/file_download.php?file_id=951&type=bug |
||||
Notes | |
(0005541)
arukari 2019-03-20 04:25 |
I'm waiting for fix. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1373 | [NoesisGUI] Unity3D | major | always | 2018-12-10 13:11 | 2019-04-15 20:33 |
Reporter: | arukari | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.1.0f1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.2 | ||
Target Version: | 2.2.2 | ||||
Platform: | Windows | ||||
Summary: | OpacityMask Vertically and Rotate Inverted. | ||||
Description: |
Reference:https://www.noesisengine.com/forums/viewtopic.php?f=3&t=1535&p=8799#p8783 |
||||
Tags: | Unity | ||||
Steps To Reproduce: |
Bottom / Left Can not Rendered. Rotation Test: OpacityMask (Test Background Red Color) <Canvas ClipToBounds="True" x:Name="RadarClip" Background="Red"> <Canvas.OpacityMask> <ImageBrush ImageSource="radarmask.png"> <ImageBrush.RelativeTransform> <RotateTransform CenterX="0.5" CenterY="0.5" /> </ImageBrush.RelativeTransform> </ImageBrush> </Canvas.OpacityMask> <Canvas.Triggers> <EventTrigger RoutedEvent="FrameworkElement.Loaded"> <BeginStoryboard> <Storyboard> <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(Canvas.OpacityMask).(Brush.RelativeTransform).(RotateTransform.Angle)" RepeatBehavior="Forever"> <EasingDoubleKeyFrame KeyTime="0:0:0" Value="0"/> <EasingDoubleKeyFrame KeyTime="0:0:10" Value="360"/> </DoubleAnimationUsingKeyFrames> </Storyboard> </BeginStoryboard> </EventTrigger> </Canvas.Triggers> </Canvas> Compare Line Rotate: <Line x:Name="RadarEllipse" X1="150" Y1="150" X2="300" Y2="150" Stroke="Cyan" StrokeThickness="1" RenderTransformOrigin="0,0"> <Line.RenderTransform> <RotateTransform Angle="0" CenterX="150" CenterY="150"/> </Line.RenderTransform> <Line.Triggers> <EventTrigger RoutedEvent="FrameworkElement.Loaded"> <BeginStoryboard> <Storyboard> <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(Line.RenderTransform).(RotateTransform.Angle)" RepeatBehavior="Forever" > <EasingDoubleKeyFrame KeyTime="0:0:0" Value="0" /> <EasingDoubleKeyFrame KeyTime="0:0:10" Value="360"/> </DoubleAnimationUsingKeyFrames> </Storyboard> </BeginStoryboard> </EventTrigger> </Line.Triggers> </Line> |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0005542)
arukari 2019-03-20 04:25 |
I'm waiting for fix. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1438 | [NoesisGUI] C++ SDK | major | always | 2019-03-27 06:27 | 2019-04-09 11:17 |
Reporter: | nikobarli | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.2 | ||
Target Version: | 2.2.2 | ||||
Platform: | Windows | ||||
Summary: | ContextMenu and Tooltip stays unclosed even when the window is deactivated | ||||
Description: |
Follow up from the following forum's issue: https://www.noesisengine.com/forums/viewtopic.php?f=3&t=1638 When we show ContextMenu or Tooltip, and we click other window (thus deactivating the current Noesis window), the ContextMenu or Tooltip stays afloat (not closed). |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1439 | [NoesisGUI] C++ SDK | crash | always | 2019-04-01 11:18 | 2019-04-08 17:52 |
Reporter: | sckriel | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.2 | ||
Target Version: | 2.2.2 | ||||
Platform: | Windows | ||||
Summary: | LoadXAML crashes with DataTemplate as root element | ||||
Description: |
We are storing DataTemplate and ControlTemplate in separate files that we load in the code behind. Sometimes this crashes. I have tested this in the XAML player too. Loading one file will lead to the "invalid root element" message, while another file will crash the XAML player. I have reduced the files that work and crashes to their simplest form and have deduced that the addition of resources for the DataTemplate makes it work. If no resources are defined, it crashes. |
||||
Tags: | |||||
Steps To Reproduce: |
1. Open XAML player. 2. Load DataTemplate _Works.xaml, it will work and report appropriate error message since the file cannot actually be viewed since it's a Data Template. 3. Load DataTemplate_Crashes.xaml, XAML Player crashes. |
||||
Additional Information: | |||||
Attached Files: |
DataTemplate_Crashes.xaml (237 bytes) 2019-04-01 11:18 https://www.noesisengine.com/bugs/file_download.php?file_id=1001&type=bug DataTemplate _Works.xaml (490 bytes) 2019-04-01 11:18 https://www.noesisengine.com/bugs/file_download.php?file_id=1002&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1447 | [NoesisGUI] Unity3D | major | always | 2019-04-06 17:12 | 2019-04-08 13:59 |
Reporter: | stonstad | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.2 | ||
Target Version: | 2.2.2 | ||||
Platform: | Any | ||||
Summary: | Unity Editor Crash on TextBox.Focus() | ||||
Description: | Encl. crash dump with error log. I set visibility of a UserControl to visible and immediately call Focus() on an instance of type TextBox . Unity crashes. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
Crash_2019-04-06_150401457.zip (377,625 bytes) 2019-04-06 17:12 https://www.noesisengine.com/bugs/file_download.php?file_id=1007&type=bug |
||||
Notes | |
(0005613)
sfernandez 2019-04-07 18:06 |
Thanks for the dump, we will take a look and fix it as soon as possible. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1444 | [NoesisGUI] C++ SDK | crash | always | 2019-04-05 13:46 | 2019-04-08 11:33 |
Reporter: | decai | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | feedback | Product Version: | 2.2.1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Windows | ||||
Summary: | BitmapSource::Create from MFC CImage Bits crashed on x64 | ||||
Description: |
We add bellow code in HelloWorld sample for test create BitmapSource from MFC CImage. When we build x86 is ok, when we changed to x64 the app crashed as "Exception thrown at 0x00007FFA47395280 (Noesis.dll) in Samples.HelloWorld.exe: 0xC0000005: Access violation reading location 0x000002380DFF52B3." at the line BitmapSource::Create. We just modiy the HelloWorld sample. |
||||
Tags: | C++ | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
Main.cpp (2,807 bytes) 2019-04-05 13:46 https://www.noesisengine.com/bugs/file_download.php?file_id=1004&type=bug 1.png (7,339 bytes) 2019-04-05 13:46 https://www.noesisengine.com/bugs/file_download.php?file_id=1005&type=bug |
||||
Notes | |
(0005600)
jsantos 2019-04-05 21:15 |
Could you also attach a minidump please? Thanks! |
(0005603)
decai 2019-04-06 11:20 (Last edited: 2019-04-06 11:28) |
here is the dump:https://drive.google.com/file/d/1n8m2I5oRnDcOUZaJF-MXrvIMkJ6qvDHT/view?usp=sharing |
(0005614)
sfernandez 2019-04-08 11:33 |
Hi, according to CImage documentation: https://docs.microsoft.com/en-us/cpp/atl-mfc-shared/reference/cimage-class?view=vs-2019#getbits, if the pitch value returned by the CImage is negative it indicates that it is creating a bottom-up DIB, and the pointer returned by GetBits() points to the last row of the image. That is the case with the image you supplied. Our BitmapSource::Create() expects a positive stride and a pointer to the first pixel in the buffer, but I see we are not checking this and no error message explaining what happened is shown, so we will add it for next versions. Your code should look as follows to properly work: CImage *image = new CImage(); HRESULT sr = image->Load("d:\\1.png"); if (sr == S_OK) { int w = image->GetWidth(); int h = image->GetHeight(); uint8_t *data = (uint8_t*)image->GetBits(); int pitch = image->GetPitch(); float dpi = 96.0f; if (pitch < 0) { pitch = -pitch; data = data - (h - 1) * pitch; } BitmapSource::Format bitmapFormat = Noesis::BitmapSource::Format_BGRA8; auto imageSource = BitmapSource::Create(w, h, dpi, dpi, data, pitch, bitmapFormat); if (imageSource) { printf("image source create ok"); } } |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1403 | [NoesisGUI] Unity3D | major | always | 2019-01-30 12:12 | 2019-04-05 12:24 |
Reporter: | Khonan | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.1.0f1 | ||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Windows | ||||
Summary: | Setting a fontfamily constant in a style makes unity Crash (fixed, not a bug) | ||||
Description: |
Setting a fontfamily constant in a style makes unity Crash Using unity 2018.3.3f1 |
||||
Tags: | |||||
Steps To Reproduce: |
1/ Get NocturnalStyle.xaml 2/ Add this line on top of the style : <FontFamily x:Key="DefaultFontFamily">Fonts/#Roboto</FontFamily> 3/ use the style in your code : ResourceDictionary style = (ResourceDictionary)LoadXaml("NocturnalStyle"); Noesis.GUI.SetApplicationResources(style); 4/ Run unity project 5/ Unity crashes |
||||
Additional Information: | |||||
Attached Files: |
MainWindow.xaml (1,342 bytes) 2019-01-30 12:12 https://www.noesisengine.com/bugs/file_download.php?file_id=962&type=bug MainWindow.xaml.cs (2,628 bytes) 2019-01-30 12:12 https://www.noesisengine.com/bugs/file_download.php?file_id=963&type=bug NocturnalStyle.xaml (295,596 bytes) 2019-01-30 12:12 https://www.noesisengine.com/bugs/file_download.php?file_id=964&type=bug |
||||
Notes | |
(0005430)
Khonan 2019-01-30 15:22 |
After some investigations, I discovered all my troubles came from my inits not behing done during OnInitialized(object sender, EventArgs args) .... Causing random crash of unity.. Bug closed :) |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1442 | [NoesisGUI] Unity3D | major | random | 2019-04-03 17:10 | 2019-04-04 18:07 |
Reporter: | stonstad | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.0rc1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.1 | ||
Target Version: | 2.2.1 | ||||
Platform: | Any | ||||
Summary: | XAML Import Causes Unity to Freeze | ||||
Description: |
Unity freezes and Noesis blocks on the main thread. From forums, this is related to a mutex lock getting destroyed before it is released. https://www.noesisengine.com/forums/viewtopic.php?f=3&t=1616&p=9417#p9417 |
||||
Tags: | |||||
Steps To Reproduce: |
1) Modify XAML external to Unity. 2) Tab back into Unity. Unity is running but apparently waiting for Noesis to release control back on the Main thread. It's a threading race condition issue -- it happens about 1 in 10 times when external XAML is modified. Because it is threading related, it can happen three times in a row or not at all. |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0005591)
jsantos 2019-04-04 18:07 |
Thanks for your feedback! Your dump was really helpful |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1428 | [NoesisGUI] Unity3D | crash | always | 2019-03-17 21:46 | 2019-04-02 01:43 |
Reporter: | C4ustic | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.1 | ||
Target Version: | 2.2.1 | ||||
Platform: | Windows | ||||
Summary: | Complete Unity Crash if a popup is open when we change scene. | ||||
Description: |
I have not tried this with an empty example project but hopefully it is the same there. NoesisGUI and the whole unity editor crashes if any NoesisView have a popup open when SceneManager.LoadScene("newSceneName"); is run. Closing the popup the same frame doesn't work either, the popup must have been closed for at least one frame to avoid the crash (or never opened). I'm opening and closing my popups from script with pupup.IsOpen = false/true; I think this was a problem before I updated to 2.0 too I just never saw a pattern until today when during the update process I run into this many times. |
||||
Tags: | |||||
Steps To Reproduce: |
Create a menu with a popup. Open the pupup with script. change Unity scene with: SceneManager.LoadScene("newSceneName"); The whole Unity editor crashes. |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0005536)
C4ustic 2019-03-17 21:56 |
Maybe the repro wasn't as simple as I though. It looks like I have to open the popup the same frame as I change scene to get the 100% repro. I can also get the crash at other points if I have changed scene and then later on open a popup. I will do some more research. |
(0005537)
C4ustic 2019-03-17 22:23 |
I have two ways of getting the crash now, one is to run pupup.IsOpen = true; the same frame as SceneManager.LoadScene("newSceneName"); the other is to have the popup open then change scene and then change scene again back to the first one and open the popup again. To sum it up, bad things happen if you have popups open when you do scene changes. Opening the popup the same frame seems to be the best repro case. The workaround I use now is that before I change scene I find all NoesisViews in the scene and make sure they have all popups closed. Then I wait for a few frames, and then run LoadScene doing this seem to prevent the crash totally. |
(0005540)
sfernandez 2019-03-18 22:19 |
Thanks for all the details, will take a look as soon as possible to fix it for the next release. |
(0005588)
sfernandez 2019-04-02 01:43 |
We found the source of the problem and fixed it for the next release, thanks again for your collaboration. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1421 | [NoesisGUI] Unity3D | major | always | 2019-03-11 15:58 | 2019-04-02 01:42 |
Reporter: | stonstad | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.0b6 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.1 | ||
Target Version: | 2.2.1 | ||||
Platform: | Any | ||||
Summary: | Unity Crash | ||||
Description: |
I'm working to narrow down the exact Noesis code that causes the crash. It is repeatable. Here's a stack trace. 0x00000000454C2CB8 (Mono JIT Code) (wrapper managed-to-native) Noesis.View:Noesis_View_KeyDown (System.Runtime.InteropServices.HandleRef,int) 0x00000000454C2B5B (Mono JIT Code) [C:\Users\stons\GitHub\StellarConquest-New\StellarConquest.Presentation.Unity\Assets\NoesisGUI\Plugins\API\Core\NoesisView.cs:239] -- log -- Refreshing native plugins compatible for Editor in 1.95 ms, found 5 plugins. Preloading 1 native plugins for Editor in 0.18 ms. Crash!!! SymInit: Symbol-SearchPath: 'C:/Program Files/Unity/Hub/Editor/2018.3.6f1/Editor/Data/Mono;.;C:\Users\stons\GitHub\StellarConquest-New\StellarConquest.Presentation.Unity;C:\Program Files\Unity\Hub\Editor\2018.3.6f1\Editor;C:\WINDOWS;C:\WINDOWS\system32;SRV*C:\websymbols*http://msdl.microsoft.com/download/symbols;', symOptions: 534, UserName: 'stons' OS-Version: 10.0.0 C:\Program Files\Unity\Hub\Editor\2018.3.6f1\Editor\Unity.exe:Unity.exe (0000000140000000), size: 78802944 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 2018.3.6.8327 C:\WINDOWS\SYSTEM32\ntdll.dll:ntdll.dll (00007FFBF2550000), size: 2019328 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.292 C:\WINDOWS\System32\KERNEL32.DLL:KERNEL32.DLL (00007FFBF2020000), size: 733184 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.292 C:\WINDOWS\System32\KERNELBASE.dll:KERNELBASE.dll (00007FFBEE920000), size: 2699264 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.292 C:\WINDOWS\System32\CRYPT32.dll:CRYPT32.dll (00007FFBEEBC0000), size: 1945600 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.1 C:\WINDOWS\System32\ucrtbase.dll:ucrtbase.dll (00007FFBEE800000), size: 1032192 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.1 C:\WINDOWS\System32\MSASN1.dll:MSASN1.dll (00007FFBEE550000), size: 73728 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.1 C:\WINDOWS\SYSTEM32\HID.DLL:HID.DLL (00007FFBED130000), size: 57344 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.1 C:\WINDOWS\System32\USER32.dll:USER32.dll (00007FFBF0EF0000), size: 1667072 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.168 C:\WINDOWS\System32\msvcrt.dll:msvcrt.dll (00007FFBF2480000), size: 647168 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 7.0.17763.1 C:\WINDOWS\System32\win32u.dll:win32u.dll (00007FFBEE900000), size: 131072 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.1 C:\Program Files\Unity\Hub\Editor\2018.3.6f1\Editor\FreeImage.dll:FreeImage.dll (0000000180000000), size: 6164480 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 3.11.0.0 C:\Program Files\Unity\Hub\Editor\2018.3.6f1\Editor\libfbxsdk.dll:libfbxsdk.dll (00007FFB92B80000), size: 8511488 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 2018.1.1.0 C:\WINDOWS\System32\GDI32.dll:GDI32.dll (00007FFBF1B00000), size: 167936 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.1 C:\WINDOWS\System32\gdi32full.dll:gdi32full.dll (00007FFBEEDA0000), size: 1679360 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.316 C:\WINDOWS\System32\msvcp_win.dll:msvcp_win.dll (00007FFBEEF70000), size: 655360 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.1 C:\Program Files\Unity\Hub\Editor\2018.3.6f1\Editor\umbraoptimizer64.dll:umbraoptimizer64.dll (00007FFBBA220000), size: 1306624 (result: 0), SymType: '-deferred-', PDB: '' C:\WINDOWS\System32\WS2_32.dll:WS2_32.dll (00007FFBF1F80000), size: 446464 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.1 C:\WINDOWS\System32\ADVAPI32.dll:ADVAPI32.dll (00007FFBF2210000), size: 667648 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.1 C:\WINDOWS\System32\RPCRT4.dll:RPCRT4.dll (00007FFBF14D0000), size: 1187840 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.194 C:\WINDOWS\System32\sechost.dll:sechost.dll (00007FFBF1B40000), size: 647168 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.1 C:\WINDOWS\System32\WLDAP32.dll:WLDAP32.dll (00007FFBF22C0000), size: 393216 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.1 C:\WINDOWS\System32\SHELL32.dll:SHELL32.dll (00007FFBEF9A0000), size: 21950464 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.292 C:\WINDOWS\System32\Normaliz.dll:Normaliz.dll (00007FFBF1440000), size: 32768 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.1 C:\WINDOWS\System32\cfgmgr32.dll:cfgmgr32.dll (00007FFBEE700000), size: 303104 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.1 C:\Program Files\Unity\Hub\Editor\2018.3.6f1\Editor\ispc_texcomp.dll:ispc_texcomp.dll (00007FFBB2F60000), size: 1523712 (result: 0), SymType: '-deferred-', PDB: '' C:\WINDOWS\System32\shcore.dll:shcore.dll (00007FFBF1BE0000), size: 688128 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.1 C:\WINDOWS\System32\combase.dll:combase.dll (00007FFBF1090000), size: 3330048 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.253 C:\WINDOWS\System32\bcryptPrimitives.dll:bcryptPrimitives.dll (00007FFBEE680000), size: 516096 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.1 C:\Program Files\Unity\Hub\Editor\2018.3.6f1\Editor\libcef.dll:libcef.dll (00007FFB7A880000), size: 52219904 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 3.2062.1930.0 C:\WINDOWS\System32\windows.storage.dll:windows.storage.dll (00007FFBEF030000), size: 7643136 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.168 C:\WINDOWS\System32\profapi.dll:profapi.dll (00007FFBEE590000), size: 147456 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.1 C:\Program Files\Unity\Hub\Editor\2018.3.6f1\Editor\RadeonRays.dll:RadeonRays.dll (00007FFBC5350000), size: 618496 (result: 0), SymType: '-deferred-', PDB: '' C:\WINDOWS\System32\PSAPI.DLL:PSAPI.DLL (00007FFBEF930000), size: 32768 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.1 C:\WINDOWS\System32\SHLWAPI.dll:SHLWAPI.dll (00007FFBEF940000), size: 335872 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.1 C:\WINDOWS\System32\powrprof.dll:powrprof.dll (00007FFBEE5C0000), size: 380928 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.1 C:\WINDOWS\System32\kernel.appcore.dll:kernel.appcore.dll (00007FFBEE570000), size: 69632 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.1 C:\WINDOWS\System32\COMDLG32.dll:COMDLG32.dll (00007FFBF20E0000), size: 1208320 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.1 C:\Program Files\Unity\Hub\Editor\2018.3.6f1\Editor\OpenCL.dll:OpenCL.dll (00007FFBD5CA0000), size: 552960 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 2.2.1.0 C:\WINDOWS\System32\cryptsp.dll:cryptsp.dll (00007FFBEF010000), size: 94208 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.1 C:\WINDOWS\System32\ole32.dll:ole32.dll (00007FFBF2320000), size: 1396736 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.134 C:\WINDOWS\System32\OLEAUT32.dll:OLEAUT32.dll (00007FFBF1C90000), size: 831488 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.292 C:\WINDOWS\System32\IMM32.dll:IMM32.dll (00007FFBF1FF0000), size: 188416 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.1 C:\WINDOWS\System32\SETUPAPI.dll:SETUPAPI.dll (00007FFBF1600000), size: 4673536 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.292 C:\WINDOWS\System32\bcrypt.dll:bcrypt.dll (00007FFBEEF40000), size: 155648 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.1 C:\Program Files\Unity\Hub\Editor\2018.3.6f1\Editor\SketchUpAPI.dll:SketchUpAPI.dll (00007FFB8F7F0000), size: 8822784 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 18.0.18664.0 C:\WINDOWS\SYSTEM32\VCRUNTIME140.dll:VCRUNTIME140.dll (00007FFBE15C0000), size: 90112 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 14.13.26118.0 C:\WINDOWS\SYSTEM32\MSVCP140.dll:MSVCP140.dll (00007FFBE1520000), size: 634880 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 14.15.26706.0 C:\Program Files\Unity\Hub\Editor\2018.3.6f1\Editor\embree.dll:embree.dll (00007FFB8E800000), size: 16711680 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 2.14.0.0 C:\WINDOWS\SYSTEM32\WINSPOOL.DRV:WINSPOOL.DRV (00007FFBE81B0000), size: 561152 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.1 C:\WINDOWS\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.17763.316_none_05b53be2071f46b6\COMCTL32.dll:COMCTL32.dll (00007FFBD9BC0000), size: 2592768 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 6.10.17763.316 C:\WINDOWS\SYSTEM32\OPENGL32.dll:OPENGL32.dll (00007FFBB6EF0000), size: 1208320 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.1 C:\WINDOWS\SYSTEM32\GLU32.dll:GLU32.dll (00007FFBD5A30000), size: 180224 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.1 C:\WINDOWS\SYSTEM32\USERENV.dll:USERENV.dll (00007FFBEE450000), size: 163840 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.1 C:\WINDOWS\SYSTEM32\urlmon.dll:urlmon.dll (00007FFBDA610000), size: 1929216 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 11.0.17763.168 C:\WINDOWS\SYSTEM32\WINHTTP.dll:WINHTTP.dll (00007FFBEA050000), size: 987136 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.316 C:\WINDOWS\SYSTEM32\dhcpcsvc.DLL:dhcpcsvc.DLL (00007FFBE32C0000), size: 114688 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.1 C:\WINDOWS\SYSTEM32\WTSAPI32.dll:WTSAPI32.dll (00007FFBED110000), size: 77824 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.1 C:\WINDOWS\System32\NSI.dll:NSI.dll (00007FFBF1B30000), size: 32768 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.1 C:\WINDOWS\SYSTEM32\IPHLPAPI.DLL:IPHLPAPI.DLL (00007FFBEDB40000), size: 249856 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.1 C:\WINDOWS\SYSTEM32\Secur32.dll:Secur32.dll (00007FFBDBD40000), size: 49152 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.1 C:\WINDOWS\SYSTEM32\OLEACC.dll:OLEACC.dll (00007FFBE24B0000), size: 442368 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 7.2.17763.1 C:\WINDOWS\SYSTEM32\WINMM.dll:WINMM.dll (00007FFBE05F0000), size: 147456 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.1 C:\WINDOWS\SYSTEM32\VERSION.dll:VERSION.dll (00007FFBE2990000), size: 40960 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.1 C:\WINDOWS\SYSTEM32\USP10.dll:USP10.dll (00007FFBCAF50000), size: 102400 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.1 C:\WINDOWS\SYSTEM32\WSOCK32.dll:WSOCK32.dll (00007FFBE04C0000), size: 36864 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.1 C:\Program Files\Unity\Hub\Editor\2018.3.6f1\Editor\WinPixEventRuntime.dll:WinPixEventRuntime.dll (00007FFB8A8E0000), size: 16826368 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 1.0.1701.26001 C:\Program Files\Unity\Hub\Editor\2018.3.6f1\Editor\SketchUpCommonPreferences.dll:SketchUpCommonPreferences.dll (00007FFBD4FF0000), size: 471040 (result: 0), SymType: '-deferred-', PDB: '' C:\Program Files\Unity\Hub\Editor\2018.3.6f1\Editor\tbb.dll:tbb.dll (00007FFBD5940000), size: 413696 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 2017.0.2016.1004 C:\WINDOWS\SYSTEM32\PROPSYS.dll:PROPSYS.dll (00007FFBEC070000), size: 1736704 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 7.0.17763.1 C:\WINDOWS\SYSTEM32\iertutil.dll:iertutil.dll (00007FFBD9E40000), size: 2785280 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 11.0.17763.292 C:\WINDOWS\SYSTEM32\WINMMBASE.dll:WINMMBASE.dll (00007FFBE05A0000), size: 184320 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.1 C:\WINDOWS\SYSTEM32\MSVCP120.dll:MSVCP120.dll (00007FFBDAFB0000), size: 679936 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 12.0.40649.5 C:\WINDOWS\SYSTEM32\MSVCR120.dll:MSVCR120.dll (00007FFBDB2B0000), size: 978944 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 12.0.40649.5 C:\WINDOWS\SYSTEM32\SSPICLI.DLL:SSPICLI.DLL (00007FFBEE480000), size: 192512 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.1 C:\WINDOWS\SYSTEM32\CRYPTBASE.DLL:CRYPTBASE.DLL (00007FFBEDFB0000), size: 49152 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.1 C:\Program Files\Unity\Hub\Editor\2018.3.6f1\Editor\OpenRL.dll:OpenRL.dll (0000000000D10000), size: 12779520 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 1.5.100.0 C:\WINDOWS\SYSTEM32\MSVCP100.dll:MSVCP100.dll (00000000578F0000), size: 622592 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.40219.325 C:\WINDOWS\SYSTEM32\MSVCR100.dll:MSVCR100.dll (00000000577C0000), size: 860160 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.40219.325 C:\WINDOWS\SYSTEM32\MSWSOCK.DLL:MSWSOCK.DLL (00007FFBEDDE0000), size: 421888 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.292 C:\Program Files\Unity\Hub\Editor\2018.3.6f1\Editor\OpenRL_pthread.dll:OpenRL_pthread.dll (0000000001950000), size: 61440 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 2.9.0.0 C:\WINDOWS\system32\uxtheme.dll:uxtheme.dll (00007FFBEC3C0000), size: 638976 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.1 C:\WINDOWS\SYSTEM32\dhcpcsvc6.DLL:dhcpcsvc6.DLL (00007FFBE2D70000), size: 90112 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.1 C:\WINDOWS\SYSTEM32\DNSAPI.dll:DNSAPI.dll (00007FFBEDB80000), size: 811008 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.292 C:\WINDOWS\System32\clbcatq.dll:clbcatq.dll (00007FFBF1ED0000), size: 663552 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 2001.12.10941.16384 C:\WINDOWS\system32\wbem\wbemprox.dll:wbemprox.dll (00007FFBD8990000), size: 69632 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.1 C:\WINDOWS\SYSTEM32\wbemcomn.dll:wbemcomn.dll (00007FFBDB770000), size: 544768 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.1 C:\WINDOWS\system32\wbem\wbemsvc.dll:wbemsvc.dll (00007FFBD8840000), size: 81920 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.1 C:\WINDOWS\system32\wbem\fastprox.dll:fastprox.dll (00007FFBD7110000), size: 987136 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.1 C:\WINDOWS\system32\rsaenh.dll:rsaenh.dll (00007FFBED9A0000), size: 208896 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.1 C:\WINDOWS\System32\MSCTF.dll:MSCTF.dll (00007FFBF1D60000), size: 1482752 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.1 C:\WINDOWS\SYSTEM32\TextInputFramework.dll:TextInputFramework.dll (00007FFBD47F0000), size: 610304 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.1 C:\WINDOWS\SYSTEM32\CoreUIComponents.dll:CoreUIComponents.dll (00007FFBD6720000), size: 3284992 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.1 C:\WINDOWS\SYSTEM32\CoreMessaging.dll:CoreMessaging.dll (00007FFBEBD30000), size: 925696 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.194 C:\WINDOWS\SYSTEM32\ntmarta.dll:ntmarta.dll (00007FFBED600000), size: 200704 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.1 C:\WINDOWS\SYSTEM32\wintypes.dll:wintypes.dll (00007FFBEA2C0000), size: 1388544 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.134 C:\WINDOWS\system32\dwmapi.dll:dwmapi.dll (00007FFBEC880000), size: 188416 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.1 C:\WINDOWS\System32\netprofm.dll:netprofm.dll (00007FFBE8060000), size: 245760 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.1 C:\WINDOWS\System32\npmproxy.dll:npmproxy.dll (00007FFBE21C0000), size: 61440 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.316 C:\WINDOWS\System32\fwpuclnt.dll:fwpuclnt.dll (00007FFBE14A0000), size: 495616 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.1 C:\Windows\System32\rasadhlp.dll:rasadhlp.dll (00007FFBE37B0000), size: 40960 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.1 C:\WINDOWS\System32\MMDevApi.dll:MMDevApi.dll (00007FFBE21D0000), size: 458752 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.1 C:\WINDOWS\System32\DEVOBJ.dll:DEVOBJ.dll (00007FFBEE360000), size: 167936 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.1 C:\WINDOWS\SYSTEM32\AUDIOSES.DLL:AUDIOSES.DLL (00007FFBE1270000), size: 1343488 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.292 C:\WINDOWS\SYSTEM32\AVRT.dll:AVRT.dll (00007FFBE9190000), size: 40960 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.1 C:\WINDOWS\SYSTEM32\resourcepolicyclient.dll:resourcepolicyclient.dll (00007FFBECB70000), size: 81920 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.1 C:\WINDOWS\system32\explorerframe.dll:explorerframe.dll (00007FFBC97D0000), size: 4763648 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.1 C:\WINDOWS\SYSTEM32\d3d11.dll:d3d11.dll (00007FFBEB570000), size: 2613248 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.1 C:\WINDOWS\SYSTEM32\dxgi.dll:dxgi.dll (00007FFBED2C0000), size: 794624 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.1 C:\WINDOWS\System32\DriverStore\FileRepository\nvmso.inf_amd64_8461c3207f0421af\nvldumdx.dll:nvldumdx.dll (00007FFBC8D30000), size: 962560 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 23.21.13.9140 C:\WINDOWS\System32\WINTRUST.DLL:WINTRUST.DLL (00007FFBEE620000), size: 360448 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.292 C:\WINDOWS\System32\imagehlp.dll:imagehlp.dll (00007FFBF1AE0000), size: 118784 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.1 C:\WINDOWS\System32\DriverStore\FileRepository\nvmso.inf_amd64_8461c3207f0421af\nvwgf2umx.dll:nvwgf2umx.dll (00007FFBBF880000), size: 29392896 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 23.21.13.9140 C:\WINDOWS\SYSTEM32\dbghelp.dll:dbghelp.dll (00007FFBECF20000), size: 2019328 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.1 C:\Program Files\Unity\Hub\Editor\2018.3.6f1\Editor\tbbmalloc.dll:tbbmalloc.dll (00007FFBD5400000), size: 372736 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 2017.0.2016.1004 C:\Program Files\Unity\Hub\Editor\2018.3.6f1\Editor\Data\MonoBleedingEdge\EmbedRuntime\mono-2.0-bdwgc.dll:mono-2.0-bdwgc.dll (00007FFB8A170000), size: 7757824 (result: 0), SymType: '-deferred-', PDB: '' C:\Program Files\Unity\Hub\Editor\2018.3.6f1\Editor\Data\UnityExtensions\Unity\VR\Win64\audiopluginresonanceaudio.dll:audiopluginresonanceaudio.dll (00007FFB98E90000), size: 4165632 (result: 0), SymType: '-deferred-', PDB: '' C:\ProgramData\Microsoft\VisualStudio\Setup\x64\Microsoft.VisualStudio.Setup.Configuration.Native.dll:Microsoft.VisualStudio.Setup.Configuration.Native.dll (00007FFBD4CE0000), size: 421888 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 1.17.1230.42073 C:\Users\stons\GitHub\StellarConquest-New\StellarConquest.Presentation.Unity\Assets\NoesisGUI\Plugins\Libraries\Windows\x86_64\Noesis.dll:Noesis.dll (00007FFB99820000), size: 4739072 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 2.2.0.7768 C:\WINDOWS\system32\dataexchange.dll:dataexchange.dll (00007FFBCE040000), size: 352256 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.1 C:\WINDOWS\system32\dcomp.dll:dcomp.dll (00007FFBEB7F0000), size: 1847296 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.1 C:\WINDOWS\system32\twinapi.appcore.dll:twinapi.appcore.dll (00007FFBEC960000), size: 2150400 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.292 C:\WINDOWS\system32\RMCLIENT.dll:RMCLIENT.dll (00007FFBECB90000), size: 163840 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.194 C:\WINDOWS\SYSTEM32\xinput1_3.dll:xinput1_3.dll (0000000042990000), size: 122880 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 9.18.944.0 C:\WINDOWS\System32\DriverStore\FileRepository\64jp6293.inf_amd64_9bca36afef322a4a\igd10iumd64.dll:igd10iumd64.dll (00007FFBD32D0000), size: 21262336 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 24.20.100.6293 C:\WINDOWS\SYSTEM32\ncrypt.dll:ncrypt.dll (00007FFBEE0A0000), size: 155648 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.1 C:\WINDOWS\SYSTEM32\NTASN1.dll:NTASN1.dll (00007FFBEE060000), size: 245760 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.1 C:\WINDOWS\System32\DriverStore\FileRepository\64jp6293.inf_amd64_9bca36afef322a4a\igc64.dll:igc64.dll (00007FFBD12C0000), size: 32509952 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 24.20.100.6293 C:\WINDOWS\system32\napinsp.dll:napinsp.dll (00007FFBBF1D0000), size: 90112 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.1 C:\WINDOWS\system32\pnrpnsp.dll:pnrpnsp.dll (00007FFBBEE10000), size: 106496 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.1 C:\WINDOWS\System32\winrnr.dll:winrnr.dll (00007FFBBEE00000), size: 57344 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.1 C:\WINDOWS\system32\NLAapi.dll:NLAapi.dll (00007FFBEA010000), size: 110592 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.134 C:\WINDOWS\system32\wshbth.dll:wshbth.dll (00007FFBE8040000), size: 86016 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.17763.1 ========== OUTPUTTING STACK TRACE ================== 0x00007FFB998FE4B4 (Noesis) Boxed_SelectionMode_GetStaticType 0x00007FFB99988DC7 (Noesis) TriggerAction_GetStaticType 0x00007FFB99989384 (Noesis) TriggerAction_GetStaticType 0x00007FFB998BFC9A (Noesis) FrameworkElement_GetStaticType 0x00007FFB9988325A (Noesis) HorizontalAlignment_GetStaticType 0x00007FFB9987B705 (Noesis) ContentControl_GetStaticType 0x00007FFB998FEEFA (Noesis) Boxed_SelectionMode_GetStaticType 0x00007FFB998471FF (Noesis) MouseEventArgs_MiddleButton_get 0x00007FFB99846EB2 (Noesis) MouseEventArgs_MiddleButton_get 0x00007FFB998EFD1B (Noesis) ItemCollection_GetStaticType 0x00007FFB998EFE68 (Noesis) ItemCollection_GetStaticType 0x00007FFB999871E6 (Noesis) TriggerAction_GetStaticType 0x00007FFB998EB9B8 (Noesis) ItemCollection_GetStaticType 0x00007FFB998EC559 (Noesis) ItemCollection_GetStaticType 0x00007FFB9998A48A (Noesis) TriggerAction_GetStaticType 0x00007FFB9998885A (Noesis) TriggerAction_GetStaticType 0x00007FFB999856CA (Noesis) TriggerAction_GetStaticType 0x00007FFB998F008C (Noesis) Keyboard_GetStaticType 0x00000000454C2CB8 (Mono JIT Code) (wrapper managed-to-native) Noesis.View:Noesis_View_KeyDown (System.Runtime.InteropServices.HandleRef,int) 0x00000000454C2B5B (Mono JIT Code) [C:\Users\stons\GitHub\StellarConquest-New\StellarConquest.Presentation.Unity\Assets\NoesisGUI\Plugins\API\Core\NoesisView.cs:239] Noesis.View:KeyDown (Noesis.Key) 0x00000000442CBED3 (Mono JIT Code) [C:\Users\stons\GitHub\StellarConquest-New\StellarConquest.Presentation.Unity\Assets\NoesisGUI\Plugins\NoesisView.cs:670] NoesisView:UpdateVirtualKeys () 0x00000000442C59DB (Mono JIT Code) [C:\Users\stons\GitHub\StellarConquest-New\StellarConquest.Presentation.Unity\Assets\NoesisGUI\Plugins\NoesisView.cs:697] NoesisView:UpdateInputs () 0x00000000442C5413 (Mono JIT Code) [C:\Users\stons\GitHub\StellarConquest-New\StellarConquest.Presentation.Unity\Assets\NoesisGUI\Plugins\NoesisView.cs:767] NoesisView:LateUpdate () 0x000000003DD07FA8 (Mono JIT Code) (wrapper runtime-invoke) object:runtime_invoke_void__this__ (object,intptr,intptr,intptr) 0x00007FFB8A29BE4B (mono-2.0-bdwgc) [c:\buildslave\mono\build\mono\mini\mini-runtime.c:2809] mono_jit_runtime_invoke 0x00007FFB8A221E32 (mono-2.0-bdwgc) [c:\buildslave\mono\build\mono\metadata\object.c:2919] do_runtime_invoke 0x00007FFB8A22AE3F (mono-2.0-bdwgc) [c:\buildslave\mono\build\mono\metadata\object.c:2966] mono_runtime_invoke 0x0000000140C0341A (Unity) scripting_method_invoke 0x0000000140BF3A2A (Unity) ScriptingInvocation::Invoke 0x0000000140BBCB47 (Unity) MonoBehaviour::CallMethodIfAvailable 0x0000000140BBD261 (Unity) MonoBehaviour::CallUpdateMethod 0x00000001406EEDCC (Unity) BaseBehaviourManager::CommonUpdate<LateBehaviourManager> 0x00000001406F5276 (Unity) LateBehaviourManager::Update 0x0000000140961613 (Unity) `InitPlayerLoopCallbacks'::`2'::PreLateUpdateScriptRunBehaviourLateUpdateRegistrator::Forward 0x0000000140960447 (Unity) ExecutePlayerLoop 0x0000000140960513 (Unity) ExecutePlayerLoop 0x00000001409637C1 (Unity) PlayerLoop 0x000000014133EB8F (Unity) PlayerLoopController::UpdateScene 0x000000014133D140 (Unity) Application::TickTimer 0x000000014149919B (Unity) MainMessageLoop 0x000000014149AE36 (Unity) WinMain 0x0000000142484BDA (Unity) __scrt_common_main_seh 0x00007FFBF20381F4 (KERNEL32) BaseThreadInitThunk 0x00007FFBF25BA251 (ntdll) RtlUserThreadStart ========== END OF STACKTRACE =========== A crash has been intercepted by the crash handler. For call stack and other details, see the latest crash report generated in: * C:/Users/stons/AppData/Local/Temp/Unity/Editor/Crashes |
||||
Tags: | |||||
Steps To Reproduce: |
<Grid x:Name="_LayoutRoot" HorizontalAlignment="Center" VerticalAlignment="Center"> <local:BorderControl/> <StackPanel Orientation="Vertical" Margin="20"> <ListBox x:Name="_ListBox" Background="Transparent" BorderThickness="0" IsFocusEngagementEnabled="false"> <ListBoxItem x:Name="_Marketplace" Margin="0, 0, 0, 20"> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="Auto"/> <ColumnDefinition Width="10"/> <ColumnDefinition Width="Auto"/> </Grid.ColumnDefinitions> <Image x:Name="_MarketplaceIcon" Width="64" Height="64" Source="marketplace_512.png"/> <TextBlock Grid.Column="2" VerticalAlignment="Center" Style="{StaticResource Heading5Primary}" FontWeight="Bold">Marketplace</TextBlock> </Grid> </ListBoxItem> Code that causes crash: _ListBox.LostFocus += (sender, e) => { Hide(); }; "Hide()" hides the visual tree containing the list box, parent user control, and user control parent. I know this isn't an exact reproduction project -- but I'm hoping the stack trace line number, combined with this information is close enough? Let me know. |
||||
Additional Information: | |||||
Attached Files: |
crash.zip (548,029 bytes) 2019-03-13 22:07 https://www.noesisengine.com/bugs/file_download.php?file_id=987&type=bug |
||||
Notes | |
(0005520)
stonstad 2019-03-11 16:01 |
From logging statements in _ListBox.LostFocus += ... it appears that every time a joystick keydown event is received for moving up selection up or down, ListBox.LostFocus fires. I'm not doing anything when _ListBox.KeyDown fires if it is an up/down keydown event. So that seems odd to me that focus is getting lost unless the intended behavior is to fire this event every time a list box item receives focus. Just trying to provide some detail that might be helpful. |
(0005522)
jsantos 2019-03-12 19:15 |
Thanks for the report! Any change you could also attach a minidump (.dmp)? Unity generates them when it crashes. |
(0005525)
stonstad 2019-03-13 19:31 |
Will do. |
(0005527)
stonstad 2019-03-13 22:07 |
Encl. crash dump file. |
(0005528)
jsantos 2019-03-14 00:43 |
@sfernandez this is the callstack in native> Noesis.dll!Noesis::Keyboard::GetModifiers() Line 78 C++ Noesis.dll!Noesis::ListBox::ItemClicked(Noesis::ListBoxItem * lbi, bool toggleSelection) Line 280 C++ Noesis.dll!Noesis::UIElement::OnIsFocusedChanged(const Noesis::DependencyPropertyChangedEventArgs & e) Line 2812 C++ Noesis.dll!Noesis::UIElement::OnPropertyChanged(const Noesis::DependencyPropertyChangedEventArgs & args) Line 2003 C++ Noesis.dll!Noesis::FrameworkElement::OnPropertyChanged(const Noesis::DependencyPropertyChangedEventArgs & args) Line 1632 C++ Noesis.dll!Noesis::Control::OnPropertyChanged(const Noesis::DependencyPropertyChangedEventArgs & args) Line 432 C++ Noesis.dll!Noesis::ContentControl::OnPropertyChanged(const Noesis::DependencyPropertyChangedEventArgs & args) Line 148 C++ Noesis.dll!Noesis::ListBoxItem::OnPropertyChanged(const Noesis::DependencyPropertyChangedEventArgs & args_) Line 122 C++ Noesis.dll!Noesis::DependencyObject::NotifyPropertyChanged(const Noesis::DependencyProperty * dp, Noesis::StoredValue * storedValue, const void * oldValue, const void * newValue, bool valueChanged, bool isBaseComponent, const Noesis::PropertyMetadata * metadata) Line 1155 C++ Noesis.dll!Noesis::DependencyObject::InternalSetValue(const Noesis::DependencyProperty * dp, void * oldValue, const void * newValue, void * coercedValue, unsigned char priority, Noesis::Expression * newExpression, const Noesis::PropertyMetadata * metadata, Noesis::Value::Destination destination, bool isBaseComponent) Line 797 C++ Noesis.dll!Noesis::Keyboard::Focus(Noesis::UIElement * element, bool askOld, bool askNew, bool canBeNull) Line 429 C++ Noesis.dll!Noesis::Keyboard::Focus(Noesis::UIElement * element) Line 144 C++ Noesis.dll!Noesis::UIElement::Focus() Line 453 C++ Noesis.dll!Noesis::Selector::TryFocusSelected() Line 897 C++ Noesis.dll!Noesis::Selector::OnGotFocus(const Noesis::RoutedEventArgs & e) Line 534 C++ Noesis.dll!Noesis::UIElement::OnIsFocusedChanged(const Noesis::DependencyPropertyChangedEventArgs & e) Line 2812 C++ Noesis.dll!Noesis::UIElement::OnPropertyChanged(const Noesis::DependencyPropertyChangedEventArgs & args) Line 2003 C++ Noesis.dll!Noesis::FrameworkElement::OnPropertyChanged(const Noesis::DependencyPropertyChangedEventArgs & args) Line 1632 C++ Noesis.dll!Noesis::Control::OnPropertyChanged(const Noesis::DependencyPropertyChangedEventArgs & args) Line 432 C++ Noesis.dll!Noesis::ItemsControl::OnPropertyChanged(const Noesis::DependencyPropertyChangedEventArgs & args) Line 548 C++ Noesis.dll!Noesis::Selector::OnPropertyChanged(const Noesis::DependencyPropertyChangedEventArgs & args) Line 550 C++ Noesis.dll!Noesis::ListBox::OnPropertyChanged(const Noesis::DependencyPropertyChangedEventArgs & args) Line 73 C++ Noesis.dll!Noesis::DependencyObject::NotifyPropertyChanged(const Noesis::DependencyProperty * dp, Noesis::StoredValue * storedValue, const void * oldValue, const void * newValue, bool valueChanged, bool isBaseComponent, const Noesis::PropertyMetadata * metadata) Line 1155 C++ Noesis.dll!Noesis::DependencyObject::InternalSetValue(const Noesis::DependencyProperty * dp, void * oldValue, const void * newValue, void * coercedValue, unsigned char priority, Noesis::Expression * newExpression, const Noesis::PropertyMetadata * metadata, Noesis::Value::Destination destination, bool isBaseComponent) Line 797 C++ Noesis.dll!Noesis::Keyboard::Focus(Noesis::UIElement * element, bool askOld, bool askNew, bool canBeNull) Line 429 C++ Noesis.dll!Noesis::Keyboard::Focus(Noesis::UIElement * element) Line 144 C++ Noesis.dll!Noesis::UIElement::Focus() Line 453 C++ Noesis.dll!UIElement_Focus(void * jarg1) Line 23594 C++ It seems that keyboard is null here: void ListBox::ItemClicked(ListBoxItem* lbi, bool toggleSelection) { Keyboard* keyboard = GetKeyboard(); NS_ASSERT(keyboard != 0); bool shiftKeyDown = (keyboard->GetModifiers() & ModifierKeys_Shift) != 0; bool ctrlKeyDown = (keyboard->GetModifiers() & ModifierKeys_Control) != 0; ItemClicked(lbi, toggleSelection, shiftKeyDown, ctrlKeyDown); } |
(0005558)
stonstad 2019-03-25 19:18 |
I'm developing on a laptop with a keyboard -- there is definitely a keyboard! :) So on an XBOX, there is no keyboard... I would think that ItemClicked fires for click events if a keboard is not attached. |
(0005586)
sfernandez 2019-04-02 01:17 (Last edited: 2019-04-02 01:42) |
You were receiving the LostFocus on the ListBox because the event was routed from the ListBoxItem up the tree (the event is not handled by any control). I guess your code should look like this:_ListBox.LostFocus += (sender, e) => { if (!_ListBox.IsKeyboardFocusWithin) { Hide(); } }; Anyway, there was a crash in our code that happened when removing from the tree the ListBox while inside a focus change. I fixed it for the next release. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1432 | [NoesisGUI] Unity3D | minor | always | 2019-03-20 09:55 | 2019-04-01 17:39 |
Reporter: | Khonan | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.1 | ||
Target Version: | 2.2.1 | ||||
Platform: | Windows | ||||
Summary: | incorrect <Expander> size | ||||
Description: | Having 3 <Expander>, once collapsed each are of different size based upon their content. The more elements you have the more the <expander> will be big once collapsed. | ||||
Tags: | Expander | ||||
Steps To Reproduce: |
<Grid Grid.Column="0" VerticalAlignment="Stretch"> <StackPanel x:Name="itGridViewLeft" Orientation="Vertical" VerticalAlignment="Top" Background ="#CC1A1A1D"> <Grid Width="400" ScrollViewer.VerticalScrollBarVisibility="Visible"> <Expander Header="locCategories" ExpandDirection="Down" IsExpanded="False"> <Grid> <ListBox x:Name="ititit" SelectionMode="Single" MouseDoubleClick="ItListViewFiles_MouseDoubleClick"> <TextBlock>ITEM ITEM</TextBlock> <TextBlock>ITEM ITEM</TextBlock> <TextBlock>ITEM ITEM</TextBlock> <TextBlock>ITEM ITEM</TextBlock> <TextBlock>ITEM ITEM</TextBlock> <TextBlock>ITEM ITEM</TextBlock> <TextBlock>ITEM ITEM</TextBlock> <TextBlock>ITEM ITEM</TextBlock> <TextBlock>ITEM ITEM</TextBlock> <TextBlock>ITEM ITEM</TextBlock> <TextBlock>ITEM ITEM</TextBlock> <TextBlock>ITEM ITEM</TextBlock> <TextBlock>ITEM ITEM</TextBlock> <TextBlock>ITEM ITEM</TextBlock> <TextBlock>ITEM ITEM</TextBlock> <TextBlock>ITEM ITEM</TextBlock> <TextBlock>ITEM ITEM</TextBlock> <TextBlock>ITEM ITEM</TextBlock> <TextBlock>ITEM ITEM</TextBlock> <TextBlock>ITEM ITEM</TextBlock> <TextBlock>ITEM ITEM</TextBlock> <TextBlock>ITEM ITEM</TextBlock> </ListBox> </Grid> </Expander> </Grid> <Grid Width="400" ScrollViewer.VerticalScrollBarVisibility="Visible"> <Expander Header="locCategories" ExpandDirection="Down" IsExpanded="False"> <Grid> <ListBox x:Name="itit" SelectionMode="Single" MouseDoubleClick="ItListViewFiles_MouseDoubleClick"> <TextBlock>ITEM ITEM</TextBlock> <TextBlock>ITEM ITEM</TextBlock> <TextBlock>ITEM ITEM</TextBlock> <TextBlock>ITEM ITEM</TextBlock> <TextBlock>ITEM ITEM</TextBlock> <TextBlock>ITEM ITEM</TextBlock> <TextBlock>ITEM ITEM</TextBlock> <TextBlock>ITEM ITEM</TextBlock> <TextBlock>ITEM ITEM</TextBlock> <TextBlock>ITEM ITEM</TextBlock> <TextBlock>ITEM ITEM</TextBlock> <TextBlock>ITEM ITEM</TextBlock> <TextBlock>ITEM ITEM</TextBlock> <TextBlock>ITEM ITEM</TextBlock> <TextBlock>ITEM ITEM</TextBlock> <TextBlock>ITEM ITEM</TextBlock> <TextBlock>ITEM ITEM</TextBlock> <TextBlock>ITEM ITEM</TextBlock> <TextBlock>ITEM ITEM</TextBlock> <TextBlock>ITEM ITEM</TextBlock> <TextBlock>ITEM ITEM</TextBlock> <TextBlock>ITEM ITEM</TextBlock> <TextBlock>ITEM ITEM</TextBlock> <TextBlock>ITEM ITEM</TextBlock> <TextBlock>ITEM ITEM</TextBlock> <TextBlock>ITEM ITEM</TextBlock> <TextBlock>ITEM ITEM</TextBlock> <TextBlock>ITEM ITEM</TextBlock> <TextBlock>ITEM ITEM</TextBlock> <TextBlock>ITEM ITEM</TextBlock> <TextBlock>ITEM ITEM</TextBlock> <TextBlock>ITEM ITEM</TextBlock> <TextBlock>ITEM ITEM</TextBlock> <TextBlock>ITEM ITEM</TextBlock> <TextBlock>ITEM ITEM</TextBlock> <TextBlock>ITEM ITEM</TextBlock> <TextBlock>ITEM ITEM</TextBlock> <TextBlock>ITEM ITEM</TextBlock> <TextBlock>ITEM ITEM</TextBlock> <TextBlock>ITEM ITEM</TextBlock> <TextBlock>ITEM ITEM</TextBlock> <TextBlock>ITEM ITEM</TextBlock> <TextBlock>ITEM ITEM</TextBlock> <TextBlock>ITEM ITEM</TextBlock> <TextBlock>ITEM ITEM</TextBlock> <TextBlock>ITEM ITEM</TextBlock> <TextBlock>ITEM ITEM</TextBlock> <TextBlock>ITEM ITEM</TextBlock> <TextBlock>ITEM ITEM</TextBlock> <TextBlock>ITEM ITEM</TextBlock> <TextBlock>ITEM ITEM</TextBlock> <TextBlock>ITEM ITEM</TextBlock> <TextBlock>ITEM ITEM</TextBlock> <TextBlock>ITEM ITEM</TextBlock> <TextBlock>ITEM ITEM</TextBlock> <TextBlock>ITEM ITEM</TextBlock> </ListBox> </Grid> </Expander> </Grid> </StackPanel> </Grid> |
||||
Additional Information: | |||||
Attached Files: |
Capture.PNG (30,882 bytes) 2019-03-20 11:12 https://www.noesisengine.com/bugs/file_download.php?file_id=991&type=bug MainWindow.xaml (12,450 bytes) 2019-03-21 08:07 https://www.noesisengine.com/bugs/file_download.php?file_id=992&type=bug expander.png (6,900 bytes) 2019-03-21 16:24 https://www.noesisengine.com/bugs/file_download.php?file_id=993&type=bug NocturnalStyle.xaml (295,472 bytes) 2019-03-21 17:19 https://www.noesisengine.com/bugs/file_download.php?file_id=995&type=bug |
||||
Notes | |
(0005543)
Khonan 2019-03-20 11:12 |
Upon what your Expander hold, you can get a very large error in height (as seen in the "categories" expander screenshot) |
(0005545)
sfernandez 2019-03-21 03:45 |
I tried the attached xaml in our XamlPlayer and it seems to behave like expected. Maybe you can attach here the entire xaml that corresponds to the above image, so I can try to reproduce the problem and better understand the problem. |
(0005546)
Khonan 2019-03-21 08:07 |
Here it is, You'll have to remove some StaticResources and so as I'm a bit in the hurry. Sorry Thanks for the help. Noesis is a great tool ! |
(0005548)
sfernandez 2019-03-21 16:24 |
This is how that xaml look when loaded in XamlPlayer, I think collapsed Expanders look fine. Is it possible that you redefined the Expander style (and template) in the 'Resources/Atome2Style.xaml' dictionary? That is the only thing I'm missing. |
(0005550)
Khonan 2019-03-21 17:19 |
Hummm interesting :) Atome2Style is just for color style... However removing it makes the expander fine... Replacing it by NoturnalStyle from the samples folder makes it buggy again |
(0005552)
sfernandez 2019-03-22 06:55 |
Ok, looking at that style I see what is happening, the Expander template uses a ScaleTransform to collapse the content, but the ScaleY value is incorrectly set to 0.01, instead of just 0. We will fix it for future releases, in the meantime you can change it in your project. |
(0005553)
Khonan 2019-03-23 16:35 |
Nice ! Thanks a lot. Works like a charm. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1372 | [NoesisGUI] Unity3D | minor | always | 2018-12-10 07:00 | 2019-03-29 16:45 |
Reporter: | digimbyte | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.1.0f1 | ||
Product Build: | Resolution: | duplicate | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.1 | ||
Target Version: | 2.2.1 | ||||
Platform: | Any | ||||
Summary: | Unity Scriptable Render pipeline not compatible | ||||
Description: |
Our Project has been upgraded to use the Scriptable Render Pipeline, lightweight and High-Definition but Noesis isn't directly compatible with it zipped project here https://drive.google.com/open?id=1xBWVhbohfC4-i6KtCYCXnbefCoGiJB9b |
||||
Tags: | Unity SRP | ||||
Steps To Reproduce: |
Setup a Project with a Render pipeline and update the packages to the latest import NoesisGui 2.1f upgrade all materials in the project sample scenes will no longer render the GUI until the render pipeline is disabled or removed. will require some modification of NoesisGUI to work with the render pipeline |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1386 | [NoesisGUI] Unity3D | minor | always | 2019-01-09 19:42 | 2019-03-29 16:45 |
Reporter: | inedi | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.1.0f1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.1 | ||
Target Version: | 2.2.1 | ||||
Platform: | Windows | ||||
Summary: | Not render GUI in Unity HDRP project | ||||
Description: |
When creating an HDRP project GUI not render with any camera settings also There are problems when importing .unitypackage Unity ver: 2018.3.0f2 |
||||
Tags: | Unity | ||||
Steps To Reproduce: |
1) create HDRP project 2) import unitypackage 3) add XAML 4) run |
||||
Additional Information: | |||||
Attached Files: |
Capture.PNG (32,037 bytes) 2019-01-09 19:42 https://www.noesisengine.com/bugs/file_download.php?file_id=957&type=bug |
||||
Notes | |
(0005390)
inedi 2019-01-10 09:24 |
Xaml objects are exist on the scene in Simple "Buttons", if press mouse in console - writing events. But Xaml not render over cameras ;( Render on texture doesn't work either |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1433 | [NoesisGUI] Unity3D | minor | always | 2019-03-21 15:10 | 2019-03-29 10:37 |
Reporter: | stonstad | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.1 | ||
Target Version: | 2.2.1 | ||||
Platform: | Any | ||||
Summary: | Click Events Not Propagated to Multiple Noesis Views | ||||
Description: |
See video here: https://bit.ly/2u4S1ax Given a scenario with two cameras and two corresponding Noesis views.... Elements on one view blocks click events from propagating to a secondary view. This manifests as a problem when to views are layered -- the view that renders last and appears over other first views should receive events first -- but instead it receive events last or more often, not at all based on occlusion by a hit test enabled element on the 'lower' view. I'm setting this to minor because I have an effective work around. When I want focus to be directed to the top noesis view I disable input (keyboard/mouse) on the bottom view. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
NoesisView.cs.patch (918 bytes) 2019-03-29 10:37 https://www.noesisengine.com/bugs/file_download.php?file_id=1000&type=bug |
||||
Notes | |
(0005559)
jsantos 2019-03-26 21:50 |
I found a way to fix this using Gui.Depth https://docs.unity3d.com/ScriptReference/GUI-depth.html The idea is exposing a new Depth property in each NoesisView component to fix this. My first experiments seem to be working fine. |
(0005576)
jsantos 2019-03-29 10:37 |
Patch attached in case you want to try it before the release |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1434 | [NoesisGUI] Unity3D | major | always | 2019-03-24 17:38 | 2019-03-25 11:05 |
Reporter: | ivan_b | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.1 | ||
Target Version: | 2.2.1 | ||||
Platform: | Any | ||||
Summary: | LeftButton wrong in MouseEventArgs | ||||
Description: |
The LeftButton and RightButton property in the MouseEventArgs is wrong in the version 2.2 of Noesis for Unity. Instead of returning MouseButtonState.Pressed when I press the moues button I returns MouseButtonState.Released. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1425 | [NoesisGUI] C++ SDK | feature | have not tried | 2019-03-14 16:11 | 2019-03-19 08:25 |
Reporter: | realesmedia | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Windows | ||||
Summary: | Multi-window interface. Add Initializing a RenderContext associated with the new window from an existing D3D11RenderContext | ||||
Description: |
class RenderContext(D3D11RenderContext). Our implementation: void D3D11RenderContext::Init(void* window, void* context, Noesis::RenderDevice* device, uint32_t& samples, bool vsync, bool sRGB) override { NS_ASSERT(Validate()); NS_LOG_DEBUG("Creating D3D11 render context"); mContext = (ID3D11DeviceContext*)context; mContext->AddRef(); mContext->GetDevice(&mDevice); CreateSwapChain(window, samples, sRGB); CreateQueries(); mVSync = vsync; mRenderer.Reset(device); #if defined(NS_PLATFORM_WINDOWS_DESKTOP) || defined(NS_PLATFORM_WINRT) NS_LOG_DEBUG(" Adapter: %s", [this]() { IDXGIDevice* dxgiDevice; V(mDevice->QueryInterface(__uuidof(IDXGIDevice), (void**)&dxgiDevice)); IDXGIAdapter* dxgiAdapter; V(dxgiDevice->GetAdapter(&dxgiAdapter)); DXGI_ADAPTER_DESC desc; V(dxgiAdapter->GetDesc(&desc)); static char description[128]; uint32_t numChars = UTF8::UTF16To8((uint16_t*)desc.Description, description, 128); NS_ASSERT(numChars <= 128); DX_RELEASE(dxgiAdapter); DX_RELEASE(dxgiDevice); return description; }()); #endif } D3D11RenderContext::~D3D11RenderContext() { . . . DX_RELEASE(mContext); DX_RELEASE(mDevice); . . . } It is possible to add the interface ISwapChain for NoesisApp :: Window? |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1426 | [NoesisGUI] C++ SDK | feature | have not tried | 2019-03-14 16:26 | 2019-03-19 08:25 |
Reporter: | realesmedia | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Windows | ||||
Summary: | Add D3D11Factory::WrapTexture from ID3D11ShaderResourceView* | ||||
Description: |
Ptr<Texture> D3D11Factory::WrapTexture(ID3D11ShaderResourceView* view, uint32_t width, uint32_t height, uint32_t levels, TextureFormat::Enum format, bool isInverted) { return D3D11RenderDevice::WrapTexture(view, width, height, levels, format, isInverted); } class D3D11RenderDevice final: public Noesis::RenderDevice { public: . . . static Noesis::Ptr<Noesis::Texture> WrapTexture(ID3D11ShaderResourceView* view, uint32_t width, uint32_t height, uint32_t levels, Noesis::TextureFormat::Enum format, bool isInverted) { view->AddRef(); /// ????? return *new D3D11Texture(view, width, height, levels, format, isInverted); } ~D3D11Texture() { DX_RELEASE(view); /// DX_DESTROY(view); } |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1417 | [NoesisGUI] C++ SDK | feature | have not tried | 2019-03-02 21:24 | 2019-03-18 22:29 |
Reporter: | stonstad | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Intrinsic Type Compatibility w/ XAML 2009 Spec | ||||
Description: | End users are unable to use "x:" or other namespaces for intrinsic types. " xmlns:sys="clr-namespace:System;assembly=mscorlib" is required. Not high priority since there is an easy workaround. | ||||
Tags: | |||||
Steps To Reproduce: |
1. Create XAML with following code: <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006 ... esentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <x:Single x:Key="ContentFontSize">13</x:Single> </ResourceDictionary 2. Attempt to run/compile. |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1430 | [NoesisGUI] Unity3D | major | always | 2019-03-18 16:44 | 2019-03-18 22:08 |
Reporter: | Khonan | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.1 | ||
Target Version: | 2.2.1 | ||||
Platform: | Any | ||||
Summary: | ListView MouseDoubleClick | ||||
Description: | ListView MouseDoubleClick is not called anymore (it was in 2.1, it is also in WPF) | ||||
Tags: | |||||
Steps To Reproduce: |
Having the following XAML, doing itListViewCategories.MouseDoubleClick += MouseDoubleClickFunction; MouseDoubleClickFunction is not called anymore while double clicking. <Grid Grid.Row="1"> <Grid.ColumnDefinitions> <ColumnDefinition Width="Auto"/> <ColumnDefinition Width="*"/> <ColumnDefinition Width="Auto"/> </Grid.ColumnDefinitions> <!-- COL 0 - LEFT PANEL --> <Grid Grid.Column="0" VerticalAlignment="Stretch"> <StackPanel x:Name="itGridViewLeft" Orientation="Vertical"> </StackPanel> </Grid> <!-- COL 1 - CENTER --> <Grid x:Name="itGridViewCenter" Grid.Column="1" VerticalAlignment="Stretch"> </Grid> <!-- COL 2 - RIGHT PANEL --> <Grid Grid.Column="2" HorizontalAlignment="Left" VerticalAlignment="Top" ScrollViewer.VerticalScrollBarVisibility="Visible"> <ScrollViewer> <StackPanel x:Name="itGridViewRight" VerticalAlignment="Top"> <Grid Width="400" ScrollViewer.VerticalScrollBarVisibility="Visible"> <Expander Header="{StaticResource locCategories}" ExpandDirection="Down" IsExpanded="False"> <Grid> <Grid.RowDefinitions> <RowDefinition Height="Auto"></RowDefinition> <RowDefinition Height="*"></RowDefinition> </Grid.RowDefinitions> <Grid Grid.Row="0"> <TextBox x:Name="itTextBoxFilter" Grid.Row="0" HorizontalAlignment="Stretch" VerticalAlignment="Top" Height="Auto"></TextBox> <TextBlock VerticalAlignment="Center" Foreground="#22FFFFFF" Text="{StaticResource locFilter}" Margin="5,0,0,0" IsHitTestVisible="False"/> </Grid> <ListView Grid.Row="1" x:Name="itListViewCategories" SelectionMode="Single" ScrollViewer.VerticalScrollBarVisibility="Visible"> <ListView.ContextMenu> <ContextMenu> <MenuItem x:Name="itContextSelectAll" Header="Select All"></MenuItem> <MenuItem x:Name="itContextUnselectAll" Header="UnSelect All"></MenuItem> </ContextMenu> </ListView.ContextMenu> <ListView.View> <GridView> <GridView.ColumnHeaderContainerStyle> <Style> <Setter Property="FrameworkElement.Visibility" Value="Collapsed"/> <Setter Property="FrameworkElement.Height" Value="1"/> </Style> </GridView.ColumnHeaderContainerStyle> <GridViewColumn> <GridViewColumn.CellTemplate> <DataTemplate> <CheckBox x:Name="itCheckBoxList" Margin="0" VerticalAlignment="Center" IsChecked="{Binding IsChecked}" Checked="OnCheck" Unchecked="OnCheck"></CheckBox> </DataTemplate> </GridViewColumn.CellTemplate> </GridViewColumn> <GridViewColumn> <GridViewColumn.CellTemplate> <DataTemplate> <TextBlock Margin="0" Text="{Binding Text}"></TextBlock> </DataTemplate> </GridViewColumn.CellTemplate> </GridViewColumn> <GridViewColumn> <GridViewColumn.CellTemplate> <DataTemplate> <Ellipse Fill="{Binding ColorBrush}" Width="20" Height="20" MouseEnter="Ellipse_MouseEnter" MouseLeave="Ellipse_MouseLeave" Stroke="#55FFFFFF" MouseLeftButtonDown="Ellipse_MouseLeftButtonDown" StrokeThickness="1"> <!-- <Ellipse.Style> <Style TargetType="Ellipse"> <Setter Property="Stroke" Value="Black"/> <Style.Triggers> <Trigger Property="IsMouseOver" Value="True"> <Setter Property="Width" Value="20"/> </Trigger> </Style.Triggers> </Style> </Ellipse.Style>--> </Ellipse> </DataTemplate> </GridViewColumn.CellTemplate> </GridViewColumn> </GridView> </ListView.View> </ListView> </Grid> </Expander> </Grid> </StackPanel> </ScrollViewer> </Grid> </Grid> |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0005539)
Khonan 2019-03-18 17:05 |
Breakpoint in noesis occured while double clicking: NoesisView.cs public bool MouseDoubleClick(int x, int y, Noesis.MouseButton button) { return Noesis_View_MouseDoubleClick(CPtr, x, y, (int)button); } Still investigating |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1079 | [NoesisGUI] C# SDK | feature | N/A | 2017-05-12 07:23 | 2019-03-15 00:07 |
Reporter: | ai_enabled | Platform: | PC | ||
Assigned To: | sfernandez | OS: | Windows | ||
Priority: | none | OS Version: | 10 x64 | ||
Status: | resolved | Product Version: | 2.0.1f1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | Noesis Application Framework | ||||
Description: |
After completing "1078: C# SDK with namespaces compatible with WPF/UWP" http://bugs.noesisengine.com/view.php?id=1078 and fixing most of the reported differences with WPF it will allow us to start an open-source project "Noesis Application framework". Ideally, it should be distributed via Nuget as following packages: * Noesis.GUI.Core.MSCompatible (that's it, C# SDK compiled with MS_API_COMPATIBILITY flag) * Noesis.GUI.Platforms.Windows (only Windows x86 and x86_64 native DLL) * Noesis.GUI.Platforms.Linux (only Linux x86 and x86_64 native DLL) * Noesis.GUI.Platforms.Mac (only Mac x86 and x86_64 native DLL) ... (and other platforms) * Noesis.ApplicationFramework.Core (crossplatform, include nuget reference on Noesis.GUI.Core.MSCompatible ) * Noesis.ApplicationFramework.Platforms.WindowsD3D11 (include nuget references on Core+Platform and SharpDX) * Noesis.ApplicationFramework.Platforms.WindowsOpenGL (include nuget references on Core and C# OpenGL) * Noesis.ApplicationFramework.Platforms.LinuxOpenGL (include nuget references on Core and C# OpenGL) * Noesis.ApplicationFramework.Platforms.MacOpenGL (include nuget references on Core and C# OpenGL) ... (and other platforms) It should also include custom MSBuild target which will automatically copy all the XAML files into the application build folder (to be able to load them in Runtime) during the build phase. It will allow developers to easily port their WPF/UWP applications to NoesisGUI for Windows by following these steps: 1. Create a new C# project (executable). 2. Add nuget reference for Noesis.ApplicationFramework.Platforms.WindowsD3D11. It will automatically add dependent nuget references: * SharpDX * Noesis.ApplicationFramework.Core * Noesis.GUI.Core.MSCompatible * Noesis.GUI.Platforms.Windows 3. Link items from already existing C# WPF/UWP project: with VS2017 it could be done very easily with wildcards in Projects file: <Compile Include="\..\WPFProjectPath\**\*.xaml" /> <Compile Include="\..\WPFProjectPath\**\*.cs" /> 4. Fix found API differences. 5. Run! If developer need to port application to multiple platforms, it could be done this way: 1. Core C# project with reference only to Noesis.ApplicationFramework.Core (it will automatically reference Noesis.GUI.Core.MSCompatible). It should include the XAML and XAML.CS files. 2. C# executable projects for each target platform (referencing according Noesis.ApplicationFramework.Platforms.* nuget which will automatically include according Noesis.GUI.Platforms.* nuget). They're basically empty projects referencing core C# project and serving as entry point to the application on according platforms. Executable files could be run with Mono/CoreCLR on Linux and Mac. Mono or CoreCLR could be embedded with the application (as it's already done for many games on these platforms, for example https://github.com/flibitijibibo/MonoKickstart but it will even easier for CoreCLR). I think this is not really hard and this opensource project could be started with only some platforms but grow to full-fledged framework. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
System Description | |||||
Attached Files: | |||||
Notes | |
(0004947)
jsantos 2017-12-20 03:50 |
We just published the first 2.1 beta for C#. It also includes a first approach to the application framework, for now only windows is included. The architecture is very similar to C++, in fact we are reusing things we already have in C++ (like the renderers) instead of adding extra dependencies to SharpDX and things like that. There are *a lot* of things to do here. Step by step : ) |
(0004951)
ai_enabled 2017-12-20 08:48 |
Great news! I will take a look when I will have time. Now we're crunching hard to finish the game for open alpha. The game is great and so far we have high hopes for sales figures, despite the delay! |
(0005439)
sfernandez 2019-02-14 16:33 (Last edited: 2019-02-14 16:34) |
Hi, we are working on moving our C# code to NuGet and we are facing some problems with the native libraries that maybe you can help with. We decided the following structure of packages: Noesis.GUI ---------------------> Wrappers and proxies for Noesis core, includes all native libraries Noesis.App ---------------------> Pure C# Noesis application framework Noesis.App.Platforms.* ---> Pure C# implementation of RenderContext and Displays for each platform An application will depend on the desired platform packages to get all the dependencies. The problem we are having is that native libraries in Noesis.GUI package are not copied to output folders when building the application, only managed assemblies are. Native libraries are included in Noesis.GUI package inside 'runtimes' folder: <Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFramework>netstandard2.0</TargetFramework> ... </PropertyGroup> <ItemGroup> <None Update="runtimes\**" Pack="true" PackagePath="" /> </ItemGroup> </Project> runtimes/android-arm/native/libNoesis.so runtimes/win-x86/native/Noesis.dll runtimes/win-x64/native/Noesis.dll ... Have you faced this problem and know how to solve it? Documentation is bit of a mess considering the differences between old and new SDK csproj files. |
(0005440)
ai_enabled 2019-02-14 17:14 |
Hi, I've never deployed native libraries with NuGet for our apps but I'm aware that there is much pain with their distribution in NuGet packages. Previously (mostly for Xamarin apps) people were writing custom MSbuild targets to copy all the necessary native libraries (and I think this is still possible though quite verbose and hard to properly setup). However, it has a limitation - native libraries are copied only into the project output folder which directly references the NuGet. If another project references this project, it will not copy native libraries (a direct link from the final C# project to NuGet package containing the native libraries is required). Probably, NuGet still has such an issue so keep this in mind! I see you're using the new approach with "runtimes". The format (RID mapping) is looking properly so it should work fine. There are some known problems though: 1. You need to ensure the runtimes are actually copied into the resulting package file (.nupkg). 2. If the application is built for .NET Framework (I suppose this is the case), you need to reference Microsoft.NETCore.Platforms for this application project so the RID fallback mapping will be provided (see https://stackoverflow.com/a/52459363/4778700 ). If you still cannot make it work you can drop me the sample project and I will check it ASAP. I have some experience with debugging issues with MSBuild. |
(0005441)
sfernandez 2019-02-18 12:03 (Last edited: 2019-02-18 12:05) |
We followed all the indications and still are unable to get the native libraries deployed. You can download the solution with all the projects here: https://drive.google.com/open?id=1E5r1t_B7jBy4gUy1b4zer6MQChRAigmh The Buttons sample is the one we are using for these tests. Pleasse let me know if you find something unusual or that can be improved. |
(0005442)
ai_enabled 2019-02-18 12:51 |
As a quick note. I've looked into this and it does copy Noesis.dll in case I'm building Button project for 64-bit platform (Src\Samples\Buttons\Projects\windows_x86_64\Bin\x64\Debug). |
(0005443)
sfernandez 2019-02-18 14:06 |
I tried so many things that I can't assure I already tried that before, but the fact it is working for me too selecting x64 platform in the Buttons sample :) |
(0005444)
ai_enabled 2019-02-18 14:10 (Last edited: 2019-02-18 14:11) |
Ok, I've figured out what's going on. You're using NuGet custom sources (configured in VS NuGet settings) and NuGet client in VS/MSBuild is caching every package. So every time you're trying to build the Buttons project it does not pull the actual packages and continue using their cached version. You can force NuGet to clean the caches by running this command in VS Package Manager Console: nuget locals all -clear After that it started working fine when I did any changes with runtimes. Otherwise it always used the cached packages (even after deleting runtimes folder and repacking the NuGet package, it still copied Noesis.dll from the cached package). Also, it's not recommended to reference NuGet projects via PackageReference. Just use a Project reference instead. So, for example, in case of Noesis.App.csproj, replace: <PackageReference Include="Noesis.GUI" Version="2.2.0" /> with <ProjectReference Include="..\..\Noesis\Noesis.GUI.csproj" /> It will still generate a proper NuGet package (basically, there are no differences in output, it still will reference the same NuGet package of the referenced project). However, it will not work with Buttons project as this project must reference NuGet packages (not project references) in order to use the NuGet runtimes copy feature. I'm really not sure what to do in that case. The documentation is severely lacking as you have noticed. The best idea is to look how other multi-targeting projects are organized on Github. I don't have an immediate suggestion as most projects (such as Xenko game engine) are too bloated and have custom MSBuild tooling which is overkill for your case. |
(0005445)
ai_enabled 2019-02-18 14:29 |
It's definitely working here - I've tried x86 and x64 and it does work properly. But it's very annoying. If I change something in Noesis.GUI C# project, I have to build it, then use use nuget locals all -clearand only then build Buttons C# project. But it works fine. |
(0005492)
sfernandez 2019-03-04 09:47 (Last edited: 2019-03-04 09:48) |
Hi, we uploaded our first version of NuGet packages: https://www.nuget.org/profiles/NoesisTechnologies Could you please try them and give us your opinion if anything can be improved? We also published the code in our GitHub: https://github.com/Noesis/Managed, so anyone can download it and modify anything they want. |
(0005493)
jsantos 2019-03-04 11:19 |
This doesn't make sense without any example Sergio. Could you upload one of the examples to github? |
(0005494)
sfernandez 2019-03-04 11:24 |
We updated the Buttons sample to use our NuGet packages, you can download it from here: https://github.com/Noesis/Tutorials/tree/master/Samples/Buttons/C%23 |
(0005497)
ai_enabled 2019-03-05 01:34 (Last edited: 2019-03-05 01:34) |
Hi guys. Sorry for the delay. I'm on a short vacation now and will have a detailed look in the next 24 hours as I will have access to VS. From the first look on Github source and samples and NuGet packages list, all is just great. BTW, I think that NoesisGUIExtensions.cs should be a part of a separate NuGet package or even integrated into the primary (Noesis.GUI) package. |
(0005498)
ai_enabled 2019-03-05 01:49 |
UPD. Re: NoesisGUIExtensions.cs - I remember now that it's required only for WPF to ensure there are no XAML compilation issues... so probably it should be a part of a separate NuGet package - so the recommended way of "flavoring" a WPF project with NoesisGUI extensions will be via NuGet - even though it will not give any practical benefits for WPF project itself. |
(0005499)
sfernandez 2019-03-05 14:12 |
It is a great idea, we'll do it. Thanks a lot for the feedback. |
(0005500)
ai_enabled 2019-03-06 00:48 (Last edited: 2019-03-06 00:57) |
1. As a very minor notice, the samples repo is quite heavy (179 MB, most of which SourceHanSans-Regular.ttf (46 MB) and several *.uasset and *.asset files (over 100 MB). It seems rounded-mgenplus-1c-regular.asset is mirroring rounded-mgenplus-1c-regular.ttf (both are 9.1 MB). Not a problem, but keep this in mind for the future changes as you might easily remove or replacing several files with lighter alternatives without actually affecting the samples. 2. Buttons-linux.csproj It's a misleading sample as it will never work on Linux (targets .NET Framework; also it doesn't work in Windows for me for some strange NuGet-related error ("Your project file doesn't list 'win-x86' as a "RuntimeIdentifier". You should add 'win-x86' to the "RuntimeIdentifiers"" even though it does)). It's also referencing both RuntimeIdentifiers - win-x64 and linux-x64 which doesn't make sense for a Linux sample. If you intend to use it as a sample for OpenGL for Windows, you should probably redo it as "Samples/C#/Projects/windows-opengl". I would love to see a proper sample targeting .NET Core 2.1, eventually! :-) Alas, I cannot tell anything regarding other samples (uwp, android, ios) as I don't have the environment to try them here. 3. NoesisGUI sample for Windows doesn't play sounds for me. Audio files are included and the same XAML is used. So, either PlaySoundAction doesn't work, or sound library failing to work for me here. In WPF buttons sample, audio does work fine. I assume NoesisGUI now includes basic audio support otherwise I don't see a good reason for linking *.mp3 files in the NoesisGUI C# sample... UPD. I see it's not implemented for Win32Display now https://github.com/Noesis/Managed/blob/e165da7e5f7183036c59b54d145818d71f41033a/Src/NoesisApp/Displays/Win32/Src/Win32Display.cs#L288 probably it would better if you either implement it (either there or as a C# event which is hooked for C# Windows sample to plays the requested sound via Windows API or any other NuGet-delivered library). Otherwise, again, I don't see a good reason for linking *.mp3 files in this project while user cannot hear them. 4. "App.xaml.g.cs" (at Tutorials-master\Samples\Buttons\C#\Src) It's very confusing. It's assumed that the generated C# files (*.g.cs) should never be a part of the solution. And in this particular case, this is NOT a generated C# file. It's a handmade C# file - actually, it's multiple C# files for each platform, with a lot of horrible conditional compilation. It makes perfect sense to split this file into multiple files - each one for each platform. I would prefer to make it this way: Samples\Buttons\C#\Projects\<platform>\App.cs (so corresponding App.cs will be available in each platform's sample project folder) or this way: Samples\Buttons\C#\Src\App.<platform>.cs (so each C# sample project will link according App.<platform>.cs file from shared Src folder) This way you can also get rid of the unnecessary conditional compilation. Regards! |
(0005503)
jsantos 2019-03-06 17:15 |
Thanks for your time! 1. Thanks for commenting about this. We take care about it (unfortunately that 46MB of font corresponds to one of the first commits and I think there is no way to delete that from the history right?). 2. Linux is still not finished. We have issues copying the binaries to the destination folder. But it is working fine with '.NET Framework' target. @sfernandez can give more details about it 3. Yeahs, sounds are not implemented yet. They are in C++, that's the reason we have the sounds there. 4. Thanks for this suggestion. We are going to reorganize things that way. Effectively those *.g.cs should be generated automatically with a plugin in Visual Studio, but we didn't find time to do it. |
(0005504)
jsantos 2019-03-06 17:19 |
So, regarding 4) We have two kind of files here: - The code doing the bootstraping (creating the propery display and renderer). As you suggest, this should go in <platform>\App.cs - The automatically generated code (.g.cs) that will implement the LoadInitializeCompoennt, FindNames, Events, etc. This file is the same for all platforms, where do you suggest putting this file? |
(0005506)
ai_enabled 2019-03-06 23:53 (Last edited: 2019-03-06 23:57) |
I'm glad to help. 1. You could try git rebase (though it's quite dangerous) or this special Github tool for removing "sensitive" files https://help.github.com/en/articles/removing-sensitive-data-from-a-repository If you do this, I believe you will need to re-download the whole repo from Github as otherwise you will be unable to push the new commits due to the commits history hashcodes mismatch. Probably having this file in the repo history is not a big deal - I always download the repo as a Zip archive to try it out (as I did this time). I download the full git repo only if I definitely want to have the ability to experiment with some changes and commit/revert them after that - and in that case I expect that downloading will take a while. 2. Are you actually experimenting with .NET Core 2.1 for Linux? Have you tried to raise the issue in https://github.com/nuget/home/issues ? This is the place to look for certain help regarding this problem. 3. I see. So there are two options - either remove links to MP3-sounds from C# demo projects to avoid confusion or implement support for audio playback... but after a quick research I don't see a reasonable way to do this now: for example NAudio has a NuGet package however it's Windows-only; there is still no proper .NET audio library for .NET Core with Linux support; there are also no well-tested OpenAL wrappers for .NET Core; and if you have an audio player in native Noesis.dll now (I remember you've posted something about it in Twitter) adding a C# API for it will create a lot of confusion :-) 4. >> The automatically generated code (.g.cs) that will implement the LoadInitializeCompoennt, FindNames, Events, etc. This file is the same for all platforms, where do you suggest putting this file? Same as in WPF, of course. All XAML files should have corresponding .g.cs files (including App.g.cs) and these files should always go into obj project folder -- so they're not visible and not editable. The VS/MSBuild plugin is very much expected... I know developing it is a painful experience -- though, it's way easier if you already have a CMD tool performing the task; adding required VS SDK targets to make generator (which is using the CMD tool) to work automatically is not that hard. If you certainly don't want to implement VS/MSBuild plugin in the closest future, you have to write the required "generated" code manually as a temporary solution. There are two options where you could put that code: 1. conditional compilation with #if NOESIS (like you do for MainWindow.xaml.cs and similar files to call LoadComponent(...) or locate controls via find by name). In the case of App.xaml.cs file it's usually just a few lines of code so no problem with code duplication in every App.cs file as I've suggested above. 2. OR write corresponding *.xaml.noesis.cs files and link them into each C# demo project In the both cases, it would be great to have a readme file clarifying the problem and the temporary solution -- until you implement the plugin. You can even link this single readme file into all C# demo projects to make it obvious. Regards! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1342 | [NoesisGUI] C# SDK | crash | always | 2018-11-19 15:21 | 2019-03-15 00:07 |
Reporter: | KeldorKatarn | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.1.0f1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0rc1 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | System.AccessViolationException in app.Run() in ApplicationTutorial | ||||
Description: | The C# SDK ApplicationTutorial sample runs fine but as soon as I close the window to exit the application, I get a System.AccessViolationException in the app.Run() line in static void Main(). | ||||
Tags: | |||||
Steps To Reproduce: |
- Start C# SDK ApplicationTutorial - Close main window - Application throws System.AccessViolationException |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1324 | [NoesisGUI] Unity3D | minor | have not tried | 2018-10-30 12:34 | 2019-03-14 16:55 |
Reporter: | KIVI | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | unable to reproduce | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | Radial gradient in Android app. | ||||
Description: |
The radial gradient in the assembled Android application is displayed incorrectly. |
||||
Tags: | |||||
Steps To Reproduce: |
Add a gradient from black to alpha as the background. Build the app. Run on Android. |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0005261)
admin 2018-10-30 12:35 |
Our hosting company corrupted our database without a backup. We are manually reconstructing all the issues. I know this sounds embarrassing but could you attach 'image.png' again? |
(0005435)
jsantos 2019-02-13 21:04 |
Could you please provide a XAML to reproduce this issue? Thanks! |
(0005436)
jsantos 2019-02-13 21:06 |
@KIVI |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1121 | [NoesisGUI] C++ SDK | major | always | 2017-06-30 02:42 | 2019-03-09 13:51 |
Reporter: | nikobarli | Platform: | Windows | ||
Assigned To: | sfernandez | OS: | Windows | ||
Priority: | high | OS Version: | Creators Update | ||
Status: | resolved | Product Version: | 2.0.2f2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0rc1 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | Weird focusing on TabControl | ||||
Description: |
From forum discussion: http://www.noesisengine.com/forums/viewtopic.php?f=3&t=1129 Using the below XAML test code: <TabControl> <TabItem Header="Tab1"><TextBox></TextBox></TabItem> <TabItem Header="Tab2"><TextBox></TextBox></TabItem> <TabItem Header="Tab3"><TextBox></TextBox></TabItem> <TabItem Header="Tab4"><TextBox></TextBox></TabItem> </TabControl> 1. Repeatedly typing Shift-Tabs change the selection of tabs, but only between Tab3 and Tab4 2. Click on Tab1 header, then type Tab -> the focus doesn't move to the textbox of Tab1 3. Click on Tab1's textbox to move the focus, then type Tab -> the tab selection is changed to Tab2, focus is on header ? 4. Click on Tab2/3/4's textbox to move the focus, then type Tab -> the tab selection is change to Tab1, focus is on header ? |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0005069)
nikobarli 2018-01-31 08:59 |
Seems still not fixed by 2.1.0rc2 |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1418 | [NoesisGUI] C++ SDK | major | always | 2019-03-07 01:59 | 2019-03-07 17:11 |
Reporter: | nikobarli | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.0b6 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0rc1 | ||
Target Version: | 2.2.0 | ||||
Platform: | Windows | ||||
Summary: | Key modifiers reported by MouseDown event is not accurate when clicking on inactivate window | ||||
Description: |
1. Spawn any NoesisGUI window 2. Click on any other window -> the NoesisGUI window deactivated 3. Hold-on Shift + Ctrl key, then click on the NoesisGUI window -> Inside MouseDown handler, element->GetKeyboard()->GetModifiers() reported no Modifiers (0, expected 6 -> ModifierKeys_Shift (4) | ModifierKeys_Control(2)) 4. Still Hold-on Shift + Ctrl key, click on the NoesisGUI window again -> Inside MouseDown handler, element->GetKeyboard()->GetModifiers() reported either Shift or Control is held (2 or 4, expected 6 -> ModifierKeys_Shift (4) | ModifierKeys_Control(2)) If this is a bug, is there any easy way to workaround it ? # WPF seems able to handle both cases on step 3 and 4. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0005508)
jsantos 2019-03-07 02:20 |
I will have a look at it later today. Thanks for the report. So, the step 4) is just doing a second click, same as in 3) ? I understand why 3) is reporting 0 (I know how to fix it) but I don't understand why 4) is not reporting 0 also |
(0005510)
nikobarli 2019-03-07 05:36 |
> So, the step 4) is just doing a second click, same as in 3) ? Yes, just do another click after step 3 > I understand why 3) is reporting 0 (I know how to fix it) but I don't understand why 4) is not reporting 0 also Yeah, I feel weird too. I suspect 3) is because we are not sending Key events to Noesis when the window is not activated, but that doesn't explain what happens on step 4). |
(0005511)
jsantos 2019-03-07 17:11 |
Fixed in r7892 |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1312 | [NoesisGUI] Unity3D | crash | always | 2018-06-18 21:34 | 2019-03-05 01:12 |
Reporter: | CMarinacci | Platform: | Unity3D | ||
Assigned To: | jsantos | OS: | Windows 10 Pro | ||
Priority: | high | OS Version: | 1803 | ||
Status: | resolved | Product Version: | 2.1.0f1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b8 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | All 2018 versions of the Unity editor may crash on an exception when using NoesisGUI | ||||
Description: | All 2018 versions of the Unity editor may crash on an exception when using NoesisGUI | ||||
Tags: | |||||
Steps To Reproduce: |
1. Install Unity 2018.1.5.f1 (the latest release as of this report). 2. Start up Unity and create a new 2D Unity project. 3. Install the latest NoesisGUI Unity package (2.1.0f1) into the project. 4. Load the ControlGallery scene from the NoesisGUI Samples folder. 5. In the Assets/NoesisGUI/Samples/ControlGallery/MainWindow.xaml.cs file, insert the following two lines at the start of the LoadSample method: string s = null; string t = "x" + s.Length; 6. Run the program in the Unity editor. Click on the menu icon in the upper left, and pick any individual item (not submenu) from within the dropdown list. This will execute the above code, causing an exception which causes the Unity editor to crash. |
||||
Additional Information: |
Note that the crash doesn't happen when the exception-causing code is inserted in other locations (for example, at the start of the OnInitialized method in the same file above). This may not be a NoesisGUI bug, but so far I haven't been able to reproduce it when not using NoesisGUI. This has been happening to me since the first 2018 Unity version. |
||||
Attached Files: | |||||
Notes | |
(0005259)
jsantos 2018-10-30 12:18 |
A NOTE has been added to this issue. ---------------------------------------------------------------------- (0005259) CMarinacci (reporter) - 2018-09-09 20:33 https://www.noesisengine.com/bugs/view.php?id=1312#c5259 ---------------------------------------------------------------------- Appears to no longer be happening in Unity 2018.2.7f1. ---------------------------------------------------------------------- |
(0005496)
jsantos 2019-03-05 01:12 |
I tried this with the latest beta of NoesisGUI and I am not able to reproduce it. I am going to close it. Please, reopen again if you find it again. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1414 | [NoesisGUI] C++ SDK | crash | always | 2019-02-26 02:28 | 2019-03-04 11:30 |
Reporter: | nikobarli | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.0b7 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b8 | ||
Target Version: | 2.2.0 | ||||
Platform: | Windows | ||||
Summary: | NoesisGUI crash on Windows 7 SP1 | ||||
Description: |
NoesisGUI crash on Windows 7 SP1 (confirmed with the r7800 of trunk) All samples code of Noesis C++ SDK failed to run on Windows 7 SP1. I confirmed with the following platforms - Win7 SP1 + GeForce GTX 1050i (both local and RDP) - Win7 SP1 + Quadro K620 (both local and RDP) - Win7 SP1 on Hyper-V VM (emulated GPU) # We usually use Windows 10 when developing code, but our target platform includes Windows 7 SP1. # I forgot when is the last time I confirmed it run on Windows 7 SP1 |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
NoesisCrashOnWin7SP1.PNG (108,312 bytes) 2019-02-26 02:28 https://www.noesisengine.com/bugs/file_download.php?file_id=973&type=bug Win32Display.cpp.patch (1,163 bytes) 2019-02-27 03:01 https://www.noesisengine.com/bugs/file_download.php?file_id=974&type=bug |
||||
Notes | |
(0005472)
nikobarli 2019-02-26 03:12 |
At least it works on r6976 |
(0005474)
jsantos 2019-02-26 05:05 |
Yes, we introduced this bug in beta5 and was fixed in beta6. Could you try trunk? |
(0005475)
nikobarli 2019-02-26 05:17 |
Hi Jesus, I tried using r7801 of trunk just now and it's still there. |
(0005476)
nikobarli 2019-02-26 07:57 |
Hhhmmmghh, it seems there are two problems 1. NoesisGUI samples crashed on Win7 SP1 This is due to commit on r7369. NoesisGUI called an API of XInput_4.dll which only supported on Windows 8 or above. Thus failing in Win7 SP1. This is still happening even on trunk r7801. 2. Our app crashed on Win7 SP1 This maybe the bug in beta5 you are mentioning. We are currently using r7643. Will try to update to the latest. |
(0005477)
jsantos 2019-02-26 16:52 |
Hi Niko, I am looking at the input thing right now and I see that we load XInput dynamically HMODULE xInput = LoadLibraryA("Xinput1_4.dll"); if (xInput != 0) { XInputGetState_ = (PFN_XINPUTGETSTATE)GetProcAddress(xInput, "XInputGetState"); XInputGetCapabilities_ = (PFN_XINPUTGETCAPABILITIES)GetProcAddress(xInput, "XInputGetCapabilities"); } So we shouldn't have that dependency at launch time. Could you please give me more information about the error? Thanks! |
(0005478)
jsantos 2019-02-26 16:56 |
Could you provide minidump using our latest beta release? https://www.noesisengine.com/forums/viewtopic.php?f=14&t=1491 |
(0005482)
nikobarli 2019-02-27 03:01 |
Hi Jesus, I attached a patch to comment out the offending part of the current source code. XInputGetCapabilities_ may be called even when it is not initialized (as in Win7) |
(0005483)
nikobarli 2019-02-27 03:50 |
I updated our Noesis to 2.2.0b6 (r7766) and I confirmed that our code no longer crashes in Win7 SP1 |
(0005485)
jsantos 2019-03-01 13:18 |
So, just checking if XInputGetCapabilities_ is NULL before calling will solve the issue right? |
(0005486)
jsantos 2019-03-01 13:18 |
I mean, the problem is that in Win7 that pointer is NULL or uninitiated. |
(0005489)
nikobarli 2019-03-02 02:33 |
> I mean, the problem is that in Win7 that pointer is NULL or uninitiated. Yes, that's correct. |
(0005495)
jsantos 2019-03-04 11:30 |
Thanks for the help Niko! Fixed in r7850 |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1327 | [NoesisGUI] C# SDK | minor | have not tried | 2018-10-30 12:45 | 2019-02-26 18:44 |
Reporter: | JasonL663 | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b7 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | Duplicate Noesis ContentPropertyAttribute class conflicts with System.Xaml library | ||||
Description: |
The System.Windows.Markup.ContentPropertyAttribute class defined in the NoesisManaged library conflicts with the System.Windows.Markup.ContentPropertyAttribute class defined in the System.Xaml library. This makes it impossible to use either when both libraries are referenced. It also prevents the attribute from working properly in the Xaml editor leading to the infamous XLS0502 error: "The type <Type> does not support direct content." |
||||
Tags: | |||||
Steps To Reproduce: |
1. Include references to both NoesisManaged.dll and System.Xaml in your project. 2. Open a page in the xaml editor and observe the XLS0502 error 3. Attempt to apply the ContentProperty attribute to a class and observe the class name conflict |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0005267)
admin 2018-10-30 12:45 |
Our hosting company corrupted our database without a backup. We are manually reconstructing all the issues. |
(0005437)
jsantos 2019-02-13 21:10 |
In our code, that definition is inside #if NETFX_CORE and as far as I know, that macro is only enabled in WinRT application, is that your case @JasonL663? |
(0005481)
sfernandez 2019-02-26 18:44 |
All noesis types that were defined in System.Windows and contained namespaces are now defined inside Noesis. For example, ICommand and ContentPropertyAttribute are now inside Noesis namespace. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1326 | [NoesisGUI] C# SDK | minor | have not tried | 2018-10-30 12:43 | 2019-02-26 18:41 |
Reporter: | JasonL663 | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b7 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | Managed Library Classes Defined in Global Namespace | ||||
Description: |
The NoesisAppManaged.Windows library defines 2 classes in the global namespace: - Application - Window Since these are common names, this can cause issues for developers wishing to use these names for other purposes. |
||||
Tags: | |||||
Steps To Reproduce: |
Try to introduce and use the System.Windows.Window or System.Windows.Application classes into the global namespace with a using statement: Example: using System.Windows; class MyWindow : Window { } Example: using Application = System.Windows.Application; class MyApp: Application { } Observe how these examples fail to compile due to naming conflicts. Since these class names are defined in the global namespace, the only way to resolve this issue is through the awkward namespace alias feature in C# |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0005266)
admin 2018-10-30 12:44 |
Our hosting company corrupted our database without a backup. We are manually reconstructing all the issues. |
(0005480)
sfernandez 2019-02-26 18:41 |
Application and Window moved inside NoesisApp namespace to avoid collision with global namespace definitions. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1409 | [NoesisGUI] Documentation | feature | always | 2019-02-23 09:49 | 2019-02-25 16:00 |
Reporter: | digimbyte | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 2.2.0 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Password does not use SecureString | ||||
Description: |
The password does not support SecureString could this be added and a reasonable way to fetch/construct it on demand reference https://docs.microsoft.com/en-us/dotnet/api/system.windows.controls.passwordbox.securepassword?redirectedfrom=MSDN&view=netframework-4.7.2#System_Windows_Controls_PasswordBox_SecurePassword |
||||
Tags: | password | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
589 | [NoesisGUI] Unity3D | minor | always | 2015-02-26 14:27 | 2019-02-19 10:43 |
Reporter: | elecman | Platform: | Win 7 | ||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b6 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | Redraw render texture with API call instead of each frame | ||||
Description: | Currently a render texture is redrawn each frame, even if nothing changes. This is wasteful of resources, especially on mobile. It would be great if you can provide an API similar to Camera.Render() so it is possible to "freeze" rendering and only render when you know something has changed. | ||||
Tags: | |||||
Steps To Reproduce: | N/A | ||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0005446)
jsantos 2019-02-19 10:43 |
We already implemented this. Now, by default, in 'RenderTexture' mode the property "Continous Rendering' is disabled. Also, we are exposing a new method in NoesisView, NeedsRendering() that can be used in manually repainted cameras to do manual Camera.Render(). Thanks for your feedback! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1303 | [NoesisGUI] C# SDK | block | always | 2018-05-24 17:44 | 2019-02-14 13:49 |
Reporter: | grigoryp | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b6 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | NoesisManaged should target .netstandard otherwise it is unusable on UWP | ||||
Description: |
Right now it targets .net 4.6.1 which isn't compatible with UWP. As a workaround i recompiled lib, but it doesn't look like a good long term solution |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0005209)
jsantos 2018-06-01 22:35 |
Thanks for the feedback. We have plans to properly solve this and distribute Noesis as a NuGet package. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1310 | [NoesisGUI] Unity3D | minor | always | 2018-06-07 02:26 | 2019-02-12 23:09 |
Reporter: | mingingmingler | Platform: | PC | ||
Assigned To: | sfernandez | OS: | Windows | ||
Priority: | normal | OS Version: | 10 | ||
Status: | resolved | Product Version: | 2.1.0f1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b6 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | MouseLeftButtonDown event gets raised twice on a double click (3 times in total), instead of incrementing ClickCount to 2 | ||||
Description: |
I'm trying to implement double clicking on an element, which is easily done in WPF by using the MouseLeftButtonDown event and checking whether the ClickCount value is 2. Noesis raises the first event with ClickCount = 1, and then on the double click, it fires the event another 2 times in rapid succession, each with ClickCount = 1, instead of firing it one more time with ClickCount = 2. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: |
ClickCount: 1 UnityEngine.Debug:LogWarning(Object) Ui.InteractiveContentControl:DraggableElement_MouseLeftButtonDown(Object, MouseButtonEventArgs) (at Assets/Source/Ui/Controls/InteractiveContentControl.cs:94) Noesis.UIElement:RaiseMouseLeftButtonDown(IntPtr, IntPtr, IntPtr) (at Assets/NoesisGUI/Plugins/API/Proxies/UIElement.cs:703) Noesis.View:Noesis_View_MouseButtonDown(HandleRef, Int32, Int32, Int32) Noesis.View:Noesis_View_MouseButtonDown_(HandleRef, Int32, Int32, Int32) (at Assets/NoesisGUI/Plugins/API/Core/NoesisView.cs:450) Noesis.View:MouseButtonDown(Int32, Int32, MouseButton) (at Assets/NoesisGUI/Plugins/API/Core/NoesisView.cs:149) NoesisView:ProcessEvent(Event, Boolean, Boolean, Boolean) (at Assets/NoesisGUI/Plugins/NoesisView.cs:843) NoesisView:OnGUI() (at Assets/NoesisGUI/Plugins/NoesisView.cs:950) ClickCount: 1 UnityEngine.Debug:LogWarning(Object) Ui.InteractiveContentControl:DraggableElement_MouseLeftButtonDown(Object, MouseButtonEventArgs) (at Assets/Source/Ui/Controls/InteractiveContentControl.cs:94) Noesis.UIElement:RaiseMouseLeftButtonDown(IntPtr, IntPtr, IntPtr) (at Assets/NoesisGUI/Plugins/API/Proxies/UIElement.cs:703) Noesis.View:Noesis_View_MouseDoubleClick(HandleRef, Int32, Int32, Int32) Noesis.View:Noesis_View_MouseDoubleClick_(HandleRef, Int32, Int32, Int32) (at Assets/NoesisGUI/Plugins/API/Core/NoesisView.cs:462) Noesis.View:MouseDoubleClick(Int32, Int32, MouseButton) (at Assets/NoesisGUI/Plugins/API/Core/NoesisView.cs:173) NoesisView:ProcessEvent(Event, Boolean, Boolean, Boolean) (at Assets/NoesisGUI/Plugins/NoesisView.cs:847) NoesisView:OnGUI() (at Assets/NoesisGUI/Plugins/NoesisView.cs:950) |
||||
Attached Files: |
mousedoubleclickoutput.png (60,542 bytes) 2018-06-07 02:26 https://www.noesisengine.com/bugs/file_download.php?file_id=938&type=bug |
||||
Notes | |
(0005434)
jsantos 2019-02-12 20:21 |
There are two issues here. One in the Unity layer (fixed right now) and a bug in the native library (pending). |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1213 | [NoesisGUI] Unity3D | text | always | 2017-12-27 11:01 | 2019-02-12 03:49 |
Reporter: | philong | Platform: | Unity | ||
Assigned To: | sfernandez | OS: | Windows 8 | ||
Priority: | high | OS Version: | Windows 8 | ||
Status: | resolved | Product Version: | 2.1.0b4 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b6 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | Korean TextBox Typing wrong | ||||
Description: |
Sometimes, it has a missing character when I typing the Korean language Control : TextBox I do the test and debug, and i found the event send right character [Method : ProcessEvent, class NosesisView] _uiView.Char((uint)ev.character); But TextBox don't display character. |
||||
Tags: | |||||
Steps To Reproduce: |
Using TextBox Control Change keyboard to Korean Microsoft IME Enable Korean Typing -> Backspace few time. -> Type gksrmf +space -> Expect 한글 --> Result 글 |
||||
Additional Information: | |||||
Attached Files: |
TextBox.xaml (5,905 bytes) 2018-01-02 03:31 https://www.noesisengine.com/bugs/file_download.php?file_id=866&type=bug TextBox-2.xaml (1,126 bytes) 2018-01-03 02:17 https://www.noesisengine.com/bugs/file_download.php?file_id=867&type=bug |
||||
Notes | |
(0004963)
jsantos 2017-12-28 12:00 |
Are you sure the glyph is contained in the True Type you are using? Could you attach here a XAML with just a TextBlock reproducing the error? |
(0004964)
philong 2018-01-02 03:31 |
Hi jsantos, I using font Arial Unicode MS, could you try with textbox NoWrapText I found another bug, it does not support single character Korean (some times) . Let type "g" + space. |
(0004966)
jsantos 2018-01-03 01:56 |
Could you create a single XAML with just one TextBlock (not TextBox) and with the characters that are giving trouble to you? That way it is easier to debug for us. if possible, please also include the font (just in a single .zip and upload it to google drive or something similar because we don't allow big attachments here) Thanks! |
(0004967)
philong 2018-01-03 02:17 |
Hi jsantos, It not related to display Korean, the bug is when we typing the Korean not correctly For debug, could you install Korean keyboard IME -> Backspace few time. -> Type gksrmf +space -> Expect 한글 --> Result 글 Font : https://drive.google.com/open?id=1hxje5CUxjN0iJTJKqCLDp6jgJdIqZiQT Thank you |
(0004968)
jsantos 2018-01-03 02:25 |
Thanks for your feedback, so there is no problem when you display those characters in a textblock, the issue is only happening in the textblock, right? It seems to be a IME issue then (as you perfectly pointed out) |
(0004969)
philong 2018-01-03 02:33 |
The problem is Typing Korean in TextBox Thank you. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1264 | [NoesisGUI] Unity3D | major | always | 2018-03-27 12:43 | 2019-02-12 03:49 |
Reporter: | horeaper | Platform: | Windows | ||
Assigned To: | jsantos | OS: | Windows | ||
Priority: | normal | OS Version: | 10 | ||
Status: | resolved | Product Version: | 2.1.0f1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b6 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | IME doesn't work in Unity Windows build | ||||
Description: |
Typing chinese/japanese characters using IME inside TextBox doesn't work with Windows build, both in editor and build result. It feels like keystrokes get send directly to TextBox, IME doesn't get a chance to process them. However the Login sample from native SDK works fine (as the attachment screenshot shows), suggests that Noesis' TextBox actually supports IME, it may just something get messed up while integrated into Unity. |
||||
Tags: | |||||
Steps To Reproduce: |
Open the Unity "Login" sample on Windows, hit play, or build. Use a chinese or japanese IME, and type into the TextBox. Unlike the native SDK's sample, the IME will not work. |
||||
Additional Information: | |||||
Attached Files: |
IME_with_NativeSDK.jpg (86,353 bytes) 2018-03-27 12:43 https://www.noesisengine.com/bugs/file_download.php?file_id=909&type=bug |
||||
Notes | |
(0005278)
admin 2018-10-30 13:03 |
---------------------------------------------------------------------- (0005278) sfernandez (manager) - 2018-10-04 12:29 https://www.noesisengine.com/bugs/view.php?id=1264#c5278 ---------------------------------------------------------------------- IME is implemented in our App framework, is not part of the core Noesis library. We will try to implement it also for the Unity integration for the next version. |
(0005279)
admin 2018-10-30 13:03 |
Our hosting company corrupted our database without a backup. We are manually reconstructing all the issues. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1243 | [NoesisGUI] Unity3D | text | always | 2018-02-26 03:51 | 2019-02-12 03:48 |
Reporter: | philong | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | immediate | OS Version: | |||
Status: | resolved | Product Version: | 2.1.0rc3 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b6 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | Korean IME input in Unity 2017 | ||||
Description: |
Can't type the Korean character in a textbox in unity version 2017.3.1f1. It always shows the alphabet character In unity 5.6 it works. I'm using Korean IME |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
ime.png (14,961 bytes) 2018-02-26 03:51 https://www.noesisengine.com/bugs/file_download.php?file_id=889&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1359 | [NoesisGUI] C++ SDK | minor | have not tried | 2018-11-22 17:22 | 2019-02-09 20:21 |
Reporter: | KeldorKatarn | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b6 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | Unable to parse StreamGeometry | ||||
Description: |
Can't parse the following SVG string:<Path Data="F1M0,0z M22.36,16.86A9.4,9.4,0,0,0,20.19,6.78,9.55,9.55,0,0,0,9.44,4.88l6.24,6.28-4.35,4.38L4.94,9.26 A9.45,9.45,0,0,0,6.82,20.07a9.27,9.27,0,0,0,10,2.19l13.21,13.3a1.4,1.4,0,0,0,2,0l3.34-3.36a1.32,1.32,0,0,0,.14-2Z M40,40z"/> The problem is parser doesn't work when grouping several A commands together without specifying the A again. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | https://www.noesisengine.com/forums/viewtopic.php?p=8672#p8675 | ||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1355 | [NoesisGUI] C# SDK | minor | have not tried | 2018-11-21 13:54 | 2019-02-04 14:42 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.1.0f1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b6 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | PropertyMetadata constructors like WPF | ||||
Description: | https://www.noesisengine.com/forums/viewtopic.php?f=3&t=709#p3955 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1392 | [NoesisGUI] Unity3D | minor | have not tried | 2019-01-18 13:06 | 2019-01-30 13:48 |
Reporter: | KeldorKatarn | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.1.0f1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b6 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | ImageSource throws ArgumentException when content is on separate line | ||||
Description: |
Creating an ImageSource resource like this works fine:<ImageSource x:Key="Image.DNA">pack if I use a tool like XAMLStyle to reformat the code, which ends up looking like this: <ImageSource x:Key="Image.DNA"> pack://application:,,,/HelloWorld;component/Assets/NoesisGUI/HelloWorld/Resources/Images/DNA.jpg </ImageSource> I get this: ArgumentException: Illegal characters in path. System.IO.Path.IsPathRooted (System.String path) (at <f2e6809acb14476a81f399aeb800f8f2>:0) System.IO.Path.InsecureGetFullPath (System.String path) (at <f2e6809acb14476a81f399aeb800f8f2>:0) System.IO.Path.GetFullPath (System.String path) (at <f2e6809acb14476a81f399aeb800f8f2>:0) NoesisPostprocessor.NormalizePath (System.String uri) (at Assets/NoesisGUI/Plugins/Editor/NoesisPostprocessor.cs:124) NoesisPostprocessor.AbsolutePath (System.String parent, System.String uri) (at Assets/NoesisGUI/Plugins/Editor/NoesisPostprocessor.cs:152) NoesisPostprocessor.ScanTexture (System.String directory, System.String text, System.String extension, System.Collections.Generic.HashSet`1[T] textures) (at Assets/NoesisGUI/Plugins/Editor/NoesisPostprocessor.cs:201) NoesisPostprocessor.ScanTextures (NoesisXaml xaml, System.String directory, System.String text) (at Assets/NoesisGUI/Plugins/Editor/NoesisPostprocessor.cs:220) NoesisPostprocessor.ScanDependencies (NoesisXaml xaml, System.String directory) (at Assets/NoesisGUI/Plugins/Editor/NoesisPostprocessor.cs:311) NoesisPostprocessor.ImportXaml (NoesisXaml xaml, System.String directory, System.IO.FileStream file) (at Assets/NoesisGUI/Plugins/Editor/NoesisPostprocessor.cs:323) NoesisPostprocessor.ImportXaml (System.String filename) (at Assets/NoesisGUI/Plugins/Editor/NoesisPostprocessor.cs:336) NoesisPostprocessor.ImportAssets (System.String[] assets, NoesisPostprocessor+UpdateProgress d) (at Assets/NoesisGUI/Plugins/Editor/NoesisPostprocessor.cs:67) NoesisPostprocessor.OnPostprocessAllAssets (System.String[] importedAssets, System.String[] deletedAssets, System.String[] movedAssets, System.String[] movedFromAssetPaths) (at Assets/NoesisGUI/Plugins/Editor/NoesisPostprocessor.cs:82) System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at <f2e6809acb14476a81f399aeb800f8f2>:0) Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation. System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at <f2e6809acb14476a81f399aeb800f8f2>:0) System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) (at <f2e6809acb14476a81f399aeb800f8f2>:0) UnityEditor.AssetPostprocessingInternal.PostprocessAllAssets (System.String[] importedAssets, System.String[] addedAssets, System.String[] deletedAssets, System.String[] movedAssets, System.String[] movedFromPathAssets) (at C:/buildslave/unity/build/Editor/Mono/AssetPostprocessor.cs:140) |
||||
Tags: | |||||
Steps To Reproduce: | https://www.noesisengine.com/forums/viewtopic.php?f=3&t=1522&p=8676# | ||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1369 | [NoesisGUI] Unity3D | minor | always | 2018-12-06 20:57 | 2019-01-29 13:46 |
Reporter: | goldsaucer | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.1.0f1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b6 | ||
Target Version: | 2.2.0 | ||||
Platform: | Windows | ||||
Summary: | Noesis fails to load XAML files due to NoesisException: invalid token | ||||
Description: |
Everytime we pushes changes to our git repository and someone pulls those, the XAML files cannot be loaded anymore in Unity due to a Noesis exception. Sometimes it says there is no content, sometimes something about an invalid token in the XML. Right now I have the same problem with the Noesis examples even. This is particularly bad with the ControlGalery example where I now have to touch (as in make some random change and save it again) every single xaml file to make it work again. Here's the stack trace: NoesisException: Assets/NoesisGUI/Samples/ControlGallery/Resources/SimpleStyle.xaml(1): Invalid token. Rethrow as NoesisException Noesis.Error.Check () (at Assets/NoesisGUI/Plugins/API/Core/NoesisError.cs:17) Noesis.GUI.Noesis_LoadXaml_ (System.String xaml) (at Assets/NoesisGUI/Plugins/API/Core/NoesisGUI.cs:275) Noesis.GUI.LoadXaml (System.String xaml) (at Assets/NoesisGUI/Plugins/API/Core/NoesisGUI.cs:125) NoesisXaml.Load () (at Assets/NoesisGUI/Plugins/NoesisXaml.cs:31) ControlGallery.MainWindow.LoadXaml (System.String xaml) (at Assets/NoesisGUI/Samples/ControlGallery/MainWindow.xaml.cs:137) ControlGallery.MainWindow.OnInitialized (System.Object sender, Noesis.EventArgs args) (at Assets/NoesisGUI/Samples/ControlGallery/MainWindow.xaml.cs:41) Noesis.FrameworkElement.RaiseInitialized (System.IntPtr cPtr, System.IntPtr sender, System.IntPtr e) (at Assets/NoesisGUI/Plugins/API/Proxies/FrameworkElement.cs:247) Rethrow as NoesisException Noesis.Error.Check () (at Assets/NoesisGUI/Plugins/API/Core/NoesisError.cs:17) Noesis.View.Noesis_View_Create_ (System.Runtime.InteropServices.HandleRef content) (at Assets/NoesisGUI/Plugins/API/Core/NoesisView.cs:402) Noesis.View..ctor (Noesis.FrameworkElement content) (at Assets/NoesisGUI/Plugins/API/Core/NoesisView.cs:386) NoesisView.CreateView (Noesis.FrameworkElement content) (at Assets/NoesisGUI/Plugins/NoesisView.cs:1036) NoesisView.LoadXaml (System.Boolean force) (at Assets/NoesisGUI/Plugins/NoesisView.cs:340) NoesisView.OnEnable () (at Assets/NoesisGUI/Plugins/NoesisView.cs:398) |
||||
Tags: | Unity | ||||
Steps To Reproduce: |
Given there is a unity project using noesis which is tracked using git. 1. A: Make change to XAML file. 2. A: Commit change to XAML and asset file. 3. A: Push changes to repository. 4. B: Pull these changes. 5. B: Try to run the scene using this XAML file. |
||||
Additional Information: | |||||
Attached Files: |
noesis-unity-bug.PNG (81,449 bytes) 2018-12-06 20:57 https://www.noesisengine.com/bugs/file_download.php?file_id=948&type=bug |
||||
Notes | |
(0005355)
goldsaucer 2018-12-08 13:49 |
Update: I just had the problem again. But I figured out that just selecting the Noesis folder in Unity and reimporting it fixes the issue. Until it happens again. Then I have to reimport it again etc. |
(0005360)
jsantos 2018-12-10 17:08 |
Thanks for this report! |
(0005401)
jsantos 2019-01-18 14:51 |
I am working on this issue today but I am unable to reproduce. I need you to confirm the following: - When you make a change and push changes, those changes are: the XAML itself, and the asset corresponding to that XAMl righ? When you update in a different machine you get those two files. And then going to Unity you get the error without doing anything. Is that correct? Thanks! |
(0005402)
jsantos 2019-01-19 21:34 |
I created a github repository today for testing. I was unable to reproduce this... I need your help :) |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1394 | [NoesisGUI] Unity3D | minor | have not tried | 2019-01-18 13:31 | 2019-01-28 23:14 |
Reporter: | KeldorKatarn | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.1.0f1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b6 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | Reimport all hangs in unity | ||||
Description: | When going to Noesis->Settings and hitting "Reimport All" and some errors occur in loading any of the XAML files, the Reimport All XAMLs popup just hangs in mid-progress and never closes. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1393 | [NoesisGUI] Unity3D | major | have not tried | 2019-01-18 13:09 | 2019-01-28 23:14 |
Reporter: | KeldorKatarn | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.1.0f1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b6 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | "Document contains no elements" when using chained resources | ||||
Description: |
The problems are super hard to diagnose, which is yet another problem. In Unity when I load a resource chain (i.e. resource dictionaries importing others in a chain to avoid loading resources multiple times), whenever there's a problem in one of the dictionary files, I'm basically getting "NoesisException: Assets/NoesisGUI/HelloWorld/MainWindow.xaml(1): Document contains no elements." from Unity, which tells me absolutely nothing. But under some circumstances I cannot really reproduce it tells me that it cannot parse the string. To be honest, the fact alone that errors in the creation of resource dictionaries throw such useless errors is already a major deterrent from using Noesis. We need to be able to understand what Noesis is complaining about. Simply saying a file has no elements, which is clearly not the case, is not helpful at all. |
||||
Tags: | |||||
Steps To Reproduce: | https://www.noesisengine.com/forums/viewtopic.php?f=3&t=1516&p=8678#p8678 | ||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1366 | [NoesisGUI] Unity3D | minor | have not tried | 2018-11-30 12:42 | 2019-01-28 23:13 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.1.0f1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b6 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | Asset post processor needs write rights on source files | ||||
Description: |
From user C4ustic (https://www.noesisengine.com/bugs/view.php?id=1329) Another thing that isn't really a bug but it is very annoying is that the code that builds Noesis Assets must have write rights to the source files. This makes it so I must check out every UI source file and run reimport every time I open Unity. This goes for font files too. It is not necessary since you never change anything in the source file. To be clear in order to properly build MyMenu.asset, MyMenu.xaml must not be write protected. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1035 | [NoesisGUI] C# SDK | crash | always | 2017-03-14 09:56 | 2019-01-28 16:30 |
Reporter: | ai_enabled | Platform: | PC | ||
Assigned To: | sfernandez | OS: | Windows | ||
Priority: | normal | OS Version: | 10 x64 | ||
Status: | assigned | Product Version: | 1.3.0 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Crash when using x:Static for accessing value of public static field in C# | ||||
Description: |
Hi guys, consider this case: public static class LiquidColorsIcons { public static readonly Color ColorWater = Color.FromArgb(0xFF, 0x0C, 0x8A, 0xD3); ... } And then: <SolidColorBrush Color="{x:Static data:LiquidColorsIcons.ColorWater}" /> It works perfectly fine in WPF. In 1.3.0 (2.0.0) release build it crashes with MemoryAccessViolation when I try to load that XAML file with GUI.LoadComponent() method. Regards! |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
System Description | |||||
Attached Files: | |||||
Notes | |
(0004529)
sfernandez 2017-03-16 12:46 |
We don't have support for static reflection yet, and x:Static only works for enums. Is this feature very important for you, or could you use a ResourceDictionary with StaticResources instead? |
(0004530)
ai_enabled 2017-03-16 12:52 |
Thanks for clarification, Sergio! I thought you already might have implemented proper support for x:Static as it working fine for enums and because NoesisGUI simply crashes without any proper error message in that case... Oh, it's not that important then. As workaround we are using ResourceDictionary and finding these resources from C#. But finding these resources from C# is done with string identifiers so it's not so reliable as x:Static. It would be much better if you could quickly add proper error message. We could live without x:Static :-). |
(0004535)
sfernandez 2017-03-16 13:22 |
We will fix the crash and provide a correct error message. |
(0004537)
jsantos 2017-03-16 19:03 |
Sergio, as far as I understand this should be "trivial" to implement if we implemented the x:Static markup entirely in C# right? |
(0005415)
ai_enabled 2019-01-24 18:16 |
BTW would love to have this supported :-) . But as I understand it requires support for C# MarkupExtensions? |
(0005422)
jsantos 2019-01-28 16:30 |
No, MarkupExtensions are not needed in C# for this but the solution is not trivial because we need to extend our reflection system to support static properties. This is something we must implement soon or later though. It's been requested many times. |
(0005423)
ai_enabled 2019-01-28 16:30 |
Thanks! Is there something I might help you with? If it's only on C# side I can take a look at what's missing to add support for this. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1385 | [NoesisGUI] C# SDK | minor | always | 2019-01-09 15:30 | 2019-01-24 11:07 |
Reporter: | darthmaule2 | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 2.2.0b5 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Difference from WPF - Some functions missing from VirtualizingPanel/Panel base classes | ||||
Description: |
These functions are missing from the VirtualizingPanel class: protected void AddInternalChild(UIElement child) protected void InsertInternalChild(Int32 index, UIElement child) protected void RemoveInternalChildRange(Int32 index, Int32 range) protected override void OnItemsChanged(object sender, ItemsChangedEventArgs e) This property is missing from the Panel base class: protected internal System.Windows.Controls.UIElementCollection InternalChildren { get; } Panel's InternalChildren property is just the same as Children, so you can use that. All the Add/Insert/Remove Child methods are just redirected to the children collection, so you can use Children.Add/Insert/Remove instead. Recommended work-around for now from Sergio: And you can subscribe to the ItemsChanged event on the ItemContainerGenerator of the corresponding ItemsControl, something like this: public class VirtualizingTilePanel : Noesis.VirtualizingPanel, Noesis.IScrollInfo { public VirtualizingTilePanel() { Loaded += (s, e) => { ItemsControl itemsControl = ItemsControl.GetItemsOwner(this); itemsControl?.Generator?.ItemsChanged += OnItemsChanged; } } private void OnItemsChanged(object sender, ItemsChangedEventArgs e) { } } |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1399 | [NoesisGUI] C# SDK | minor | always | 2019-01-23 13:07 | 2019-01-24 11:06 |
Reporter: | Djekke | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 2.2.0b5 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Windows | ||||
Summary: | Cannot generate my own MouseWheel event. | ||||
Description: |
I was trying to make ListBox pass scroll event to parent, by I found, that I cannot generate my own MouseWheelEvent. Error: Property or indexer 'RoutedEventArgs.RoutedEvent' cannot be assigned to -- it is read only Error: Property or indexer 'RoutedEventArgs.Source' cannot be assigned to -- it is read only Error: 'MouseWheelEventArgs' does not contain a definition for 'MouseDevice' and no accessible extension method 'MouseDevice' accepting a first argument of type 'MouseWheelEventArgs' could be found (are you missing a using directive or an assembly reference?) Error: 'MouseWheelEventArgs' does not contain a definition for 'Timestamp' and no accessible extension method 'Timestamp' accepting a first argument of type 'MouseWheelEventArgs' could be found (are you missing a using directive or an assembly reference?) |
||||
Tags: | |||||
Steps To Reproduce: |
private static void ListBoxOnPreviewMouseWheel(object sender, MouseWheelEventArgs e) { if(!e.Handled) { e.Handled = true; var eventArg = new MouseWheelEventArgs(e.MouseDevice, e.Timestamp, e.Delta) { RoutedEvent = UIElement.MouseWheelEvent, Source = sender }; var parent = ((Control) sender).Parent as UIElement; parent.RaiseEvent(eventArg); } } |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1395 | [NoesisGUI] C++ SDK | block | always | 2019-01-20 20:23 | 2019-01-23 13:09 |
Reporter: | realesmedia | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.0b5 | ||
Product Build: | Resolution: | no change required | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Windows | ||||
Summary: | Using components declared in the dynamic library dll | ||||
Description: |
https://www.noesisengine.com/forums/viewtopic.php?f=3&t=1566 link to minidump (using component in dll): https://yadi.sk/d/9S9NFqSzg5jtxw link to minidump (only register-unregister component in dll): https://yadi.sk/d/KCo55MUT1DTOlQ |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0005405)
jsantos 2019-01-21 14:56 (Last edited: 2019-01-21 14:56) |
Thanks for the Dumps! At kernel shutdown we destroy all the types, so the DLL with the corresponding code for that type must be loaded. This is something we could improve for the future (because we have a way to unregister components in the factory but no way to unregister types) but the solution is not easy. The workaround is unloading your DLL after NoesisShutdown. Is that a valid solution for you? |
(0005407)
realesmedia 2019-01-22 10:51 |
Unloading Dll after NsShutdown does not fit. I showed a simplified use case. We will seek a solution. thanks. |
(0005410)
jsantos 2019-01-22 14:11 |
If you unload your dll after doing NsShutdown you are still getting a crash? Could you attach the dump please? |
(0005411)
realesmedia 2019-01-22 17:34 (Last edited: 2019-01-22 18:24) |
if unload dll after NsShutdown () there is no crash)))). I had to change the algorithm for loading modules dll: Engine.exe InitNoesis() loop: UpdateCurrentWorld(); DrawCurrentWord(); commands: LoadWord("world_1"); // script command... ..... LoadWord(""world_2""); // script command... ....... LoadWord(""world_3""); // script command... ... exit: free_current_world_instance(); NoesisShutdown()!!!!! OK for(auto handle : dll_handles) { ::FreeLibrary(handle) } exit: !!!! OK ---------------------------------------------------------------------- LoadWord() { free_current_world_instance(); loadLibrary(*.dll) //Implementation plugin, GameWorld... with unique GUI NoesisComponents init_world_instance(); store_dll_handles(); } |
(0005412)
jsantos 2019-01-23 10:58 |
Good news! Should we close this for now then? |
(0005413)
realesmedia 2019-01-23 11:51 |
yes. can close))) thank |
(0005414)
jsantos 2019-01-23 13:09 |
Thanks for your feedback! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1397 | [NoesisGUI] Unity3D | crash | always | 2019-01-22 06:11 | 2019-01-22 14:09 |
Reporter: | nokola | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 2.1.0f1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Noesis crashes when changing control.Width during screen rotation | ||||
Description: |
Unfortunately doesn't reproduce with all controls, just this one. But reproduces always with this one on Android. Does not reproduce in Unity Editor. I have this code that sets a UserControl's width/height when the user rotates the screen. The width/height are valid values. Debug.Log($"CROP: width == {width}, height == {height}"); // CROP: width == 195, height == 126.8516 _adorner.Width = width; _adorner.Height = height; Results in this crash: (Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/DebugBindings.gen.cpp Line: 51) 2019-01-21 21:06:08.434 6773-6976/com.android.systemui W/Adreno-EGL: <qeglDrvAPI_eglGetConfigAttrib:607>: EGL_BAD_ATTRIBUTE 2019-01-21 21:06:08.435 6773-6976/com.android.systemui D/vndksupport: Loading /vendor/lib/hw/gralloc.msm8974.so from current namespace instead of sphal namespace. 2019-01-21 21:06:08.461 6773-6773/com.android.systemui D/StatusBar: disable<e i a s b h r c s > disable2<q i n > 2019-01-21 21:06:08.544 21207-21223/com.datcompany.fantasiapainter I/Unity: CROP: width == 195, height == 126.8516 (Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/DebugBindings.gen.cpp Line: 51) 2019-01-21 21:06:08.609 20129-20353/com.microsoft.office.outlook D/ClClient: Not sending keepalive. Current connection state=STOPPED 2019-01-21 21:06:08.647 6773-6976/com.android.systemui W/Adreno-EGL: <qeglDrvAPI_eglGetConfigAttrib:607>: EGL_BAD_ATTRIBUTE 2019-01-21 21:06:08.643 280-280/? I/healthd: type=1400 audit(0.0:16711): avc: denied { read } for name="present" dev="sysfs" ino=18498 scontext=u:r:healthd:s0 tcontext=u:object_r:sysfs:s0 tclass=file permissive=1 2019-01-21 21:06:08.643 280-280/? I/healthd: type=1400 audit(0.0:16712): avc: denied { open } for name="present" dev="sysfs" ino=18498 scontext=u:r:healthd:s0 tcontext=u:object_r:sysfs:s0 tclass=file permissive=1 2019-01-21 21:06:08.662 20129-20129/com.microsoft.office.outlook D/HxBatteryStatusReceiver: onReceiveandroid.intent.action.BATTERY_CHANGED 2019-01-21 21:06:08.666 6773-6773/com.android.systemui D/StatusBar: disable<e i a s b h r c s > disable2<q i n > 2019-01-21 21:06:08.686 6430-6497/system_process I/WindowManager: Screen frozen for +604ms due to Window{23c87b0 u0 StatusBar} 2019-01-21 21:06:08.690 292-362/? D/SurfaceFlinger: duplicate layer name: changing BlackSurface to BlackSurface#1 2019-01-21 21:06:08.691 292-623/? D/SurfaceFlinger: duplicate layer name: changing BlackSurface to BlackSurface#2 2019-01-21 21:06:08.691 292-622/? D/SurfaceFlinger: duplicate layer name: changing BlackSurface to BlackSurface#3 --------- beginning of crash 2019-01-21 21:06:08.692 21592-21234/? A/google-breakpad: Microdump skipped (uninteresting) 2019-01-21 21:06:08.696 285-285/? E/WifiHAL: wifi_get_link_stats: requestResponse Error:-5 2019-01-21 21:06:08.696 6430-6570/system_process E/WifiVendorHal: getWifiLinkLayerStats(l.937) failed {.code = ERROR_INVALID_ARGS, .description = } 2019-01-21 21:06:08.698 292-362/? W/SurfaceFlinger: Attempting to destroy on removed layer: 4c49c0d AssistPreviewPanel#0 2019-01-21 21:06:08.712 21207-21234/com.datcompany.fantasiapainter W/google-breakpad: ### ### ### ### ### ### ### ### ### ### ### ### ### 2019-01-21 21:06:08.712 21207-21234/com.datcompany.fantasiapainter W/google-breakpad: Chrome build fingerprint: 2019-01-21 21:06:08.713 21207-21234/com.datcompany.fantasiapainter W/google-breakpad: 1.23 2019-01-21 21:06:08.713 21207-21234/com.datcompany.fantasiapainter W/google-breakpad: 23 2019-01-21 21:06:08.713 21207-21234/com.datcompany.fantasiapainter W/google-breakpad: ### ### ### ### ### ### ### ### ### ### ### ### ### 2019-01-21 21:06:08.875 21207-21234/com.datcompany.fantasiapainter E/CRASH: signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0001873b 2019-01-21 21:06:08.875 21207-21234/com.datcompany.fantasiapainter E/CRASH: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** 2019-01-21 21:06:08.875 21207-21234/com.datcompany.fantasiapainter E/CRASH: Build fingerprint: 'oneplus/bacon/A0001:6.0.1/MHC19Q/ZNH2KAS1KN:user/release-keys' 2019-01-21 21:06:08.875 21207-21234/com.datcompany.fantasiapainter E/CRASH: Revision: '0' 2019-01-21 21:06:08.876 21207-21234/com.datcompany.fantasiapainter E/CRASH: pid: 21207, tid: 21234, name: UnityGfxDeviceW >>> com.datcompany.fantasiapainter <<< 2019-01-21 21:06:08.876 21207-21234/com.datcompany.fantasiapainter E/CRASH: r0 7d75d554 r1 7d4e6179 r2 7d4dff4d r3 00000001 2019-01-21 21:06:08.876 21207-21234/com.datcompany.fantasiapainter E/CRASH: r4 0001873b r5 634fa520 r6 00000004 r7 802ea120 2019-01-21 21:06:08.876 21207-21234/com.datcompany.fantasiapainter E/CRASH: r8 ffffffff r9 00000003 sl 87afb580 fp 00018a26 2019-01-21 21:06:08.876 21207-21234/com.datcompany.fantasiapainter E/CRASH: ip 634fa420 sp 87afb500 lr 7d4e05bf pc 7d4e6182 cpsr 0000000b 2019-01-21 21:06:08.876 21207-21234/com.datcompany.fantasiapainter E/CRASH: backtrace: 2019-01-21 21:06:08.920 21207-21234/com.datcompany.fantasiapainter E/CRASH: #00 pc 00157182 /data/app/com.datcompany.fantasiapainter-qKNTFhmucC1vR_iin3txeg==/lib/arm/libNoesis.so 2019-01-21 21:06:08.920 21207-21234/com.datcompany.fantasiapainter E/CRASH: #01 pc 001515bd /data/app/com.datcompany.fantasiapainter-qKNTFhmucC1vR_iin3txeg==/lib/arm/libNoesis.so 2019-01-21 21:06:08.920 21207-21234/com.datcompany.fantasiapainter E/CRASH: #02 pc 00157245 /data/app/com.datcompany.fantasiapainter-qKNTFhmucC1vR_iin3txeg==/lib/arm/libNoesis.so 2019-01-21 21:06:08.920 21207-21234/com.datcompany.fantasiapainter E/CRASH: #03 pc 00151c75 /data/app/com.datcompany.fantasiapainter-qKNTFhmucC1vR_iin3txeg==/lib/arm/libNoesis.so 2019-01-21 21:06:08.920 21207-21234/com.datcompany.fantasiapainter E/CRASH: #04 pc 00153cb1 /data/app/com.datcompany.fantasiapainter-qKNTFhmucC1vR_iin3txeg==/lib/arm/libNoesis.so 2019-01-21 21:06:08.920 21207-21234/com.datcompany.fantasiapainter E/CRASH: #05 pc 0015842d /data/app/com.datcompany.fantasiapainter-qKNTFhmucC1vR_iin3txeg==/lib/arm/libNoesis.so 2019-01-21 21:06:08.920 21207-21234/com.datcompany.fantasiapainter E/CRASH: #06 pc 00158537 /data/app/com.datcompany.fantasiapainter-qKNTFhmucC1vR_iin3txeg==/lib/arm/libNoesis.so 2019-01-21 21:06:08.920 21207-21234/com.datcompany.fantasiapainter E/CRASH: #07 pc 002310cf /data/app/com.datcompany.fantasiapainter-qKNTFhmucC1vR_iin3txeg==/lib/arm/libNoesis.so 2019-01-21 21:06:08.920 21207-21234/com.datcompany.fantasiapainter E/CRASH: #08 pc 00230c8f /data/app/com.datcompany.fantasiapainter-qKNTFhmucC1vR_iin3txeg==/lib/arm/libNoesis.so 2019-01-21 21:06:08.920 21207-21234/com.datcompany.fantasiapainter E/CRASH: #09 pc 0022e52f /data/app/com.datcompany.fantasiapainter-qKNTFhmucC1vR_iin3txeg==/lib/arm/libNoesis.so 2019-01-21 21:06:08.921 21207-21234/com.datcompany.fantasiapainter E/CRASH: #10 pc 0022e597 /data/app/com.datcompany.fantasiapainter-qKNTFhmucC1vR_iin3txeg==/lib/arm/libNoesis.so 2019-01-21 21:06:08.921 21207-21234/com.datcompany.fantasiapainter E/CRASH: #11 pc 0022e567 /data/app/com.datcompany.fantasiapainter-qKNTFhmucC1vR_iin3txeg==/lib/arm/libNoesis.so 2019-01-21 21:06:08.921 21207-21234/com.datcompany.fantasiapainter E/CRASH: #12 pc 0022e567 /data/app/com.datcompany.fantasiapainter-qKNTFhmucC1vR_iin3txeg==/lib/arm/libNoesis.so 2019-01-21 21:06:08.921 21207-21234/com.datcompany.fantasiapainter E/CRASH: #13 pc 0022e567 /data/app/com.datcompany.fantasiapainter-qKNTFhmucC1vR_iin3txeg==/lib/arm/libNoesis.so 2019-01-21 21:06:08.921 21207-21234/com.datcompany.fantasiapainter E/CRASH: #14 pc 0022e567 /data/app/com.datcompany.fantasiapainter-qKNTFhmucC1vR_iin3txeg==/lib/arm/libNoesis.so 2019-01-21 21:06:08.921 21207-21234/com.datcompany.fantasiapainter E/CRASH: #15 pc 0022e567 /data/app/com.datcompany.fantasiapainter-qKNTFhmucC1vR_iin3txeg==/lib/arm/libNoesis.so 2019-01-21 21:06:08.921 21207-21234/com.datcompany.fantasiapainter E/CRASH: #16 pc 0022e567 /data/app/com.datcompany.fantasiapainter-qKNTFhmucC1vR_iin3txeg==/lib/arm/libNoesis.so 2019-01-21 21:06:08.921 21207-21234/com.datcompany.fantasiapainter E/CRASH: #17 pc 0022e597 /data/app/com.datcompany.fantasiapainter-qKNTFhmucC1vR_iin3txeg==/lib/arm/libNoesis.so 2019-01-21 21:06:08.921 21207-21234/com.datcompany.fantasiapainter E/CRASH: #18 pc 0022e567 /data/app/com.datcompany.fantasiapainter-qKNTFhmucC1vR_iin3txeg==/lib/arm/libNoesis.so 2019-01-21 21:06:08.921 21207-21234/com.datcompany.fantasiapainter E/CRASH: #19 pc 0022e567 /data/app/com.datcompany.fantasiapainter-qKNTFhmucC1vR_iin3txeg==/lib/arm/libNoesis.so 2019-01-21 21:06:08.921 21207-21234/com.datcompany.fantasiapainter E/CRASH: #20 pc 0022e567 /data/app/com.datcompany.fantasiapainter-qKNTFhmucC1vR_iin3txeg==/lib/arm/libNoesis.so 2019-01-21 21:06:08.921 21207-21234/com.datcompany.fantasiapainter E/CRASH: #21 pc 0022e567 /data/app/com.datcompany.fantasiapainter-qKNTFhmucC1vR_iin3txeg==/lib/arm/libNoesis.so 2019-01-21 21:06:08.921 21207-21234/com.datcompany.fantasiapainter E/CRASH: #22 pc 0022e567 /data/app/com.datcompany.fantasiapainter-qKNTFhmucC1vR_iin3txeg==/lib/arm/libNoesis.so 2019-01-21 21:06:08.921 21207-21234/com.datcompany.fantasiapainter E/CRASH: #23 pc 0022e567 /data/app/com.datcompany.fantasiapainter-qKNTFhmucC1vR_iin3txeg==/lib/arm/libNoesis.so 2019-01-21 21:06:08.921 21207-21234/com.datcompany.fantasiapainter E/CRASH: #24 pc 0022e567 /data/app/com.datcompany.fantasiapainter-qKNTFhmucC1vR_iin3txeg==/lib/arm/libNoesis.so 2019-01-21 21:06:08.921 21207-21234/com.datcompany.fantasiapainter E/CRASH: #25 pc 0022e567 /data/app/com.datcompany.fantasiapainter-qKNTFhmucC1vR_iin3txeg==/lib/arm/libNoesis.so 2019-01-21 21:06:08.921 21207-21234/com.datcompany.fantasiapainter E/CRASH: #26 pc 0022e567 /data/app/com.datcompany.fantasiapainter-qKNTFhmucC1vR_iin3txeg==/lib/arm/libNoesis.so 2019-01-21 21:06:08.921 21207-21234/com.datcompany.fantasiapainter E/CRASH: #27 pc 0022e567 /data/app/com.datcompany.fantasiapainter-qKNTFhmucC1vR_iin3txeg==/lib/arm/libNoesis.so 2019-01-21 21:06:08.921 21207-21234/com.datcompany.fantasiapainter E/CRASH: #28 pc 0022e567 /data/app/com.datcompany.fantasiapainter-qKNTFhmucC1vR_iin3txeg==/lib/arm/libNoesis.so 2019-01-21 21:06:08.921 21207-21234/com.datcompany.fantasiapainter E/CRASH: #29 pc 0022e567 /data/app/com.datcompany.fantasiapainter-qKNTFhmucC1vR_iin3txeg==/lib/arm/libNoesis.so 2019-01-21 21:06:08.921 21207-21234/com.datcompany.fantasiapainter E/CRASH: #30 pc 0022e567 /data/app/com.datcompany.fantasiapainter-qKNTFhmucC1vR_iin3txeg==/lib/arm/libNoesis.so 2019-01-21 21:06:08.921 21207-21234/com.datcompany.fantasiapainter E/CRASH: #31 pc 0022e567 /data/app/com.datcompany.fantasiapainter-qKNTFhmucC1vR_iin3txeg==/lib/arm/libNoesis.so 2019-01-21 21:06:08.921 21207-21234/com.datcompany.fantasiapainter E/CRASH: memory near r0: 2019-01-21 21:06:08.922 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d75d534 7d498921 7d498929 7d498931 7d47a3b1 !.I}).I}1.I}..G} 2019-01-21 21:06:08.922 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d75d544 7d4e598d 7d4e5993 00000000 00000000 .YN}.YN}........ 2019-01-21 21:06:08.922 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d75d554 7d4e6179 7d4e6199 7d4e62dd 7d47881b yaN}.aN}.bN}..G} 2019-01-21 21:06:08.922 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d75d564 7d47887d 7d478889 7d478697 7d4786a9 }.G}..G}..G}..G} 2019-01-21 21:06:08.922 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d75d574 7d4786c3 00000000 00000000 7d4e6421 ..G}........!dN} 2019-01-21 21:06:08.923 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d75d584 7d4e6479 7d4e6a55 7d47881b 7d47887d ydN}UjN}..G}}.G} 2019-01-21 21:06:08.923 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d75d594 7d478889 7d478697 7d4786a9 7d4786c3 ..G}..G}..G}..G} 2019-01-21 21:06:08.923 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d75d5a4 7d4e64d9 7d4e66bf 7d4785b9 7d49750f .dN}.fN}..G}.uI} 2019-01-21 21:06:08.923 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d75d5b4 7d497515 7d47d8e9 fffffff8 00000000 .uI}..G}........ 2019-01-21 21:06:08.923 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d75d5c4 7d4e644d 7d4e64a9 7d4e6a55 7d49891d MdN}.dN}UjN}..I} 2019-01-21 21:06:08.923 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d75d5d4 7d498921 7d498929 7d498931 7d4e66b9 !.I}).I}1.I}.fN} 2019-01-21 21:06:08.924 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d75d5e4 7d4e66d7 00000000 00000000 7d4e71f5 .fN}.........qN} 2019-01-21 21:06:08.924 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d75d5f4 7d4e73af 7d4ecd05 7d47881b 7d47887d .sN}..N}..G}}.G} 2019-01-21 21:06:08.924 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d75d604 7d478889 7d478697 7d4786a9 7d4786c3 ..G}..G}..G}..G} 2019-01-21 21:06:08.925 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d75d614 7d4e73cd 7d4e7541 7d4e76f1 7d4e7765 .sN}AuN}.vN}ewN} 2019-01-21 21:06:08.925 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d75d624 7d4e7781 7d4e79a9 7d4e7ac9 7d4e7bb1 .wN}.yN}.zN}.{N} 2019-01-21 21:06:08.925 21207-21234/com.datcompany.fantasiapainter E/CRASH: memory near r1: 2019-01-21 21:06:08.925 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d4e6158 44786025 68009903 1a406800 b004bf04 %`xD...h.h@..... 2019-01-21 21:06:08.925 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d4e6168 f790bdb0 bf00eee6 002c3d10 002c3cca .........=,..<,. 2019-01-21 21:06:08.925 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d4e6178 4604b510 44784805 60203008 f7f968a0 ...F.HxD.0 `.h.. 2019-01-21 21:06:08.926 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d4e6188 4620ff68 4010e8bd baccf792 002773ca h. F...@.....s'. 2019-01-21 21:06:08.926 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d4e6198 4604b510 44784806 60203008 f7f968a0 ...F.HxD.0 `.h.. 2019-01-21 21:06:08.926 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d4e61a8 4620ff58 fabef792 4010e8bd bb1af792 X. F.......@.... 2019-01-21 21:06:08.926 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d4e61b8 002773aa 4ff0e92d 4682b093 460c4838 .s'.-..O...F8H.F 2019-01-21 21:06:08.926 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d4e61c8 4478991c 68004615 90126800 60486808 ..xD.F.h.h...hH` 2019-01-21 21:06:08.927 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d4e61d8 130ae9cd 6818a906 93049002 90016858 .......h....Xh.. 2019-01-21 21:06:08.927 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d4e61e8 0008f8da fa98f7fa 0008f8da 91034629 ............)F.. 2019-01-21 21:06:08.927 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d4e61f8 f04fb3e5 25000b00 94052700 faa1f7fa ..O....%.'...... 2019-01-21 21:06:08.927 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d4e6208 901bf834 4626ac0c 454d9c04 2004d820 4.....&F..ME .. 2019-01-21 21:06:08.927 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d4e6218 08c5ea40 46316820 4440462a 0a01ed10 @... h1F*F@D.... 2019-01-21 21:06:08.927 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d4e6228 0ac0eeb7 0b0ced8d 0a00ed90 0ac0eeb7 ................ 2019-01-21 21:06:08.928 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d4e6238 0b0eed8d 7710e9cd 0008f8da f8d0f7fa .......w........ 2019-01-21 21:06:08.928 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d4e6248 f1089805 35010808 901bf830 d9e1454d .......50...ME.. 2019-01-21 21:06:08.928 21207-21234/com.datcompany.fantasiapainter E/CRASH: memory near r2: 2019-01-21 21:06:08.928 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d4dff2c f7972101 bf00e978 002ca070 00247980 .!..x...p.,..y$. 2019-01-21 21:06:08.928 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d4dff3c 002c9fde 002c9f10 47704770 47704770 ..,...,.pGpGpGpG 2019-01-21 21:06:08.928 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d4dff4c 47704770 43f0e92d 2040b081 f8fcf7b4 pGpG-..C..@ .... 2019-01-21 21:06:08.929 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d4dff5c d0572800 6064f44f ff66f005 20004601 .(W.O.d`..f..F. 2019-01-21 21:06:08.929 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d4dff6c d04c2900 f2484a29 4b297622 0601f2c0 .)L.)JH."v)K.... 2019-01-21 21:06:08.929 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d4dff7c 447a4d2b f8df447b 447dc09c e098f8df +MzD{D....}D.... 2019-01-21 21:06:08.929 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d4dff8c 8098f8df f8df44fc 44fe909c 44f84c29 .....D.....D)L.D 2019-01-21 21:06:08.929 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d4dff9c 44f94f29 447c6008 0016e9c1 e9c1447f )O.D.`|D.....D.. 2019-01-21 21:06:08.930 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d4dffac e9c10008 e9c10006 660e0004 f8814e23 ...........f#N.. 2019-01-21 21:06:08.930 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d4dffbc f8810078 447e0079 5080f8c1 f8c14d1a x...y.~D...P.M.. 2019-01-21 21:06:08.930 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d4dffcc 4a1a2084 f8c1447d 4b193088 f8c1447a . .J}D...0.KzD.. 2019-01-21 21:06:08.930 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d4dffdc f8c1c08c 447be00c 8074f8c1 9090f8c1 ......{D..t..... 2019-01-21 21:06:08.930 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d4dffec 5d20f8c1 2d24f8c1 3d28f8c1 4d2cf8c1 .. ]..$-..(=..,M 2019-01-21 21:06:08.931 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d4dfffc 7d30f8c1 6d34f8c1 0d38f8c1 b0014608 ..0}..4m..8..F.. 2019-01-21 21:06:08.931 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d4e000c 83f0e8bd b0012000 83f0e8bd 000000cd ..... .......... 2019-01-21 21:06:08.931 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d4e001c 000000cd 000000bf 000000bb 000000b9 ................ 2019-01-21 21:06:08.931 21207-21234/com.datcompany.fantasiapainter E/CRASH: memory near r4: 2019-01-21 21:06:08.931 21207-21234/com.datcompany.fantasiapainter E/CRASH: 00018718 ffffffff ffffffff ffffffff ffffffff ................ 2019-01-21 21:06:08.931 21207-21234/com.datcompany.fantasiapainter E/CRASH: 00018728 ffffffff ffffffff ffffffff ffffffff ................ 2019-01-21 21:06:08.932 21207-21234/com.datcompany.fantasiapainter E/CRASH: 00018738 ffffffff ffffffff ffffffff ffffffff ................ 2019-01-21 21:06:08.932 21207-21234/com.datcompany.fantasiapainter E/CRASH: 00018748 ffffffff ffffffff ffffffff ffffffff ................ 2019-01-21 21:06:08.932 21207-21234/com.datcompany.fantasiapainter E/CRASH: 00018758 ffffffff ffffffff ffffffff ffffffff ................ 2019-01-21 21:06:08.932 21207-21234/com.datcompany.fantasiapainter E/CRASH: 00018768 ffffffff ffffffff ffffffff ffffffff ................ 2019-01-21 21:06:08.933 21207-21234/com.datcompany.fantasiapainter E/CRASH: 00018778 ffffffff ffffffff ffffffff ffffffff ................ 2019-01-21 21:06:08.933 21207-21234/com.datcompany.fantasiapainter E/CRASH: 00018788 ffffffff ffffffff ffffffff ffffffff ................ 2019-01-21 21:06:08.933 21207-21234/com.datcompany.fantasiapainter E/CRASH: 00018798 ffffffff ffffffff ffffffff ffffffff ................ 2019-01-21 21:06:08.933 21207-21234/com.datcompany.fantasiapainter E/CRASH: 000187a8 ffffffff ffffffff ffffffff ffffffff ................ 2019-01-21 21:06:08.933 21207-21234/com.datcompany.fantasiapainter E/CRASH: 000187b8 ffffffff ffffffff ffffffff ffffffff ................ 2019-01-21 21:06:08.934 21207-21234/com.datcompany.fantasiapainter E/CRASH: 000187c8 ffffffff ffffffff ffffffff ffffffff ................ 2019-01-21 21:06:08.934 21207-21234/com.datcompany.fantasiapainter E/CRASH: 000187d8 ffffffff ffffffff ffffffff ffffffff ................ 2019-01-21 21:06:08.934 21207-21234/com.datcompany.fantasiapainter E/CRASH: 000187e8 ffffffff ffffffff ffffffff ffffffff ................ 2019-01-21 21:06:08.934 21207-21234/com.datcompany.fantasiapainter E/CRASH: 000187f8 ffffffff ffffffff ffffffff ffffffff ................ 2019-01-21 21:06:08.935 21207-21234/com.datcompany.fantasiapainter E/CRASH: 00018808 ffffffff ffffffff ffffffff ffffffff ................ 2019-01-21 21:06:08.935 21207-21234/com.datcompany.fantasiapainter E/CRASH: memory near r5: 2019-01-21 21:06:08.935 21207-21234/com.datcompany.fantasiapainter E/CRASH: 634fa500 634fa480 634fa520 634fa400 634fa480 ..Oc .Oc..Oc..Oc 2019-01-21 21:06:08.935 21207-21234/com.datcompany.fantasiapainter E/CRASH: 634fa510 634fa380 80d4e970 00000000 ffffffff ..Ocp........... 2019-01-21 21:06:08.935 21207-21234/com.datcompany.fantasiapainter E/CRASH: 634fa520 803ea4f8 634fa500 634fa480 634fa400 ..>...Oc..Oc..Oc 2019-01-21 21:06:08.935 21207-21234/com.datcompany.fantasiapainter E/CRASH: 634fa530 634fa540 80d4ea60 00000000 00000001 @.Oc`........... 2019-01-21 21:06:08.936 21207-21234/com.datcompany.fantasiapainter E/CRASH: 634fa540 634fa380 634fa4c0 634fa520 00000003 ..Oc..Oc .Oc.... 2019-01-21 21:06:08.936 21207-21234/com.datcompany.fantasiapainter E/CRASH: 634fa550 00000000 00000000 00000000 40840000 ...............@ 2019-01-21 21:06:08.936 21207-21234/com.datcompany.fantasiapainter E/CRASH: 634fa560 00000000 00000000 634fb220 634fa620 ........ .Oc .Oc 2019-01-21 21:06:08.936 21207-21234/com.datcompany.fantasiapainter E/CRASH: 634fa570 634fa5c0 8bba2658 00000000 00000001 ..OcX&.......... 2019-01-21 21:06:08.937 21207-21234/com.datcompany.fantasiapainter E/CRASH: 634fa580 8a1c3318 71911000 71987000 00000001 .3.....q.p.q.... 2019-01-21 21:06:08.937 21207-21234/com.datcompany.fantasiapainter E/CRASH: 634fa590 00000000 7379732f 2f6d6574 6d617266 ..../system/fram 2019-01-21 21:06:08.937 21207-21234/com.datcompany.fantasiapainter E/CRASH: 634fa5a0 726f7765 72612f6b 6f622f6d 632d746f ework/arm/boot-c 2019-01-21 21:06:08.937 21207-21234/com.datcompany.fantasiapainter E/CRASH: 634fa5b0 2d65726f 6162696c 6f2e7472 00007461 ore-libart.oat.. 2019-01-21 21:06:08.937 21207-21234/com.datcompany.fantasiapainter E/CRASH: 634fa5c0 634fa580 71987000 71a92000 00000101 ..Oc.p.q. .q.... 2019-01-21 21:06:08.938 21207-21234/com.datcompany.fantasiapainter E/CRASH: 634fa5d0 00000000 7379732f 2f6d6574 6d617266 ..../system/fram 2019-01-21 21:06:08.938 21207-21234/com.datcompany.fantasiapainter E/CRASH: 634fa5e0 726f7765 72612f6b 6f622f6d 632d746f ework/arm/boot-c 2019-01-21 21:06:08.938 21207-21234/com.datcompany.fantasiapainter E/CRASH: 634fa5f0 2d65726f 6162696c 6f2e7472 00007461 ore-libart.oat.. 2019-01-21 21:06:08.938 21207-21234/com.datcompany.fantasiapainter E/CRASH: memory near r7: 2019-01-21 21:06:08.938 21207-21234/com.datcompany.fantasiapainter E/CRASH: 802ea100 00000000 00000000 00000000 40840000 ...............@ 2019-01-21 21:06:08.938 21207-21234/com.datcompany.fantasiapainter E/CRASH: 802ea110 00000000 00000000 00000003 00000000 ................ 2019-01-21 21:06:08.939 21207-21234/com.datcompany.fantasiapainter E/CRASH: 802ea120 00000000 00000000 00000000 00000000 ................ 2019-01-21 21:06:08.939 21207-21234/com.datcompany.fantasiapainter E/CRASH: 802ea130 00000000 00000000 00000000 00000000 ................ 2019-01-21 21:06:08.939 21207-21234/com.datcompany.fantasiapainter E/CRASH: 802ea140 00000000 00000000 00000000 00000000 ................ 2019-01-21 21:06:08.939 21207-21234/com.datcompany.fantasiapainter E/CRASH: 802ea150 00000000 00000000 00000000 00000000 ................ 2019-01-21 21:06:08.939 21207-21234/com.datcompany.fantasiapainter E/CRASH: 802ea160 00000000 00000000 00000000 00000000 ................ 2019-01-21 21:06:08.940 21207-21234/com.datcompany.fantasiapainter E/CRASH: 802ea170 00000000 00000000 00000000 00000000 ................ 2019-01-21 21:06:08.940 21207-21234/com.datcompany.fantasiapainter E/CRASH: 802ea180 00000000 00000000 00000000 00000000 ................ 2019-01-21 21:06:08.941 21207-21234/com.datcompany.fantasiapainter E/CRASH: 802ea190 00000000 00000000 00000000 00000000 ................ 2019-01-21 21:06:08.941 21207-21234/com.datcompany.fantasiapainter E/CRASH: 802ea1a0 00000000 00000000 00000000 00000000 ................ 2019-01-21 21:06:08.942 21207-21234/com.datcompany.fantasiapainter E/CRASH: 802ea1b0 00000000 00000000 00000000 00000000 ................ 2019-01-21 21:06:08.942 21207-21234/com.datcompany.fantasiapainter E/CRASH: 802ea1c0 00000000 00000000 9854bb40 00000000 ........@.T..... 2019-01-21 21:06:08.942 21207-21234/com.datcompany.fantasiapainter E/CRASH: 802ea1d0 00000000 00000000 802ea1e8 802ea260 ............`... 2019-01-21 21:06:08.942 21207-21234/com.datcompany.fantasiapainter E/CRASH: 802ea1e0 802ea368 00000000 01000000 80000062 h...........b... 2019-01-21 21:06:08.943 21207-21234/com.datcompany.fantasiapainter E/CRASH: 802ea1f0 802ea1c0 84ef5a70 00000000 00000000 ....pZ.......... 2019-01-21 21:06:08.943 21207-21234/com.datcompany.fantasiapainter E/CRASH: memory near sl: 2019-01-21 21:06:08.943 21207-21234/com.datcompany.fantasiapainter E/CRASH: 87afb560 84ef5abc 87afb64c 43011300 01d9bd4b .Z..L......CK... 2019-01-21 21:06:08.943 21207-21234/com.datcompany.fantasiapainter E/CRASH: 87afb570 80e7cdf0 7d4dff69 84ef5acc 84ef5abc ....i.M}.Z...Z.. 2019-01-21 21:06:08.943 21207-21234/com.datcompany.fantasiapainter E/CRASH: 87afb580 00000000 7ff80000 00000000 7ff80000 ................ 2019-01-21 21:06:08.943 21207-21234/com.datcompany.fantasiapainter E/CRASH: 87afb590 00000000 00000000 01d9bd4b 80e7cdf0 ........K....... 2019-01-21 21:06:08.943 21207-21234/com.datcompany.fantasiapainter E/CRASH: 87afb5a0 87afb624 84ef5aa0 87afb600 00000000 $....Z.......... 2019-01-21 21:06:08.944 21207-21234/com.datcompany.fantasiapainter E/CRASH: 87afb5b0 87afb600 87afb624 87afb6b8 7d4e0c79 ....$.......y.N} 2019-01-21 21:06:08.944 21207-21234/com.datcompany.fantasiapainter E/CRASH: 87afb5c0 84ef5acc 87afb6b8 84ef5aa0 87afb73c .Z.......Z..<... 2019-01-21 21:06:08.944 21207-21234/com.datcompany.fantasiapainter E/CRASH: 87afb5d0 00000000 7d4e2cb3 87afb640 01d9bd4b .....,N}@...K... 2019-01-21 21:06:08.944 21207-21234/com.datcompany.fantasiapainter E/CRASH: 87afb5e0 87afb6b8 3d23d70b 87afb624 80e3f198 ......#=$....... 2019-01-21 21:06:08.944 21207-21234/com.datcompany.fantasiapainter E/CRASH: 87afb5f0 7d4ef5ab 634f6768 87afb73c 7d4e7431 ..N}hgOc<...1tN} 2019-01-21 21:06:08.944 21207-21234/com.datcompany.fantasiapainter E/CRASH: 87afb600 83865500 00000080 3f800000 00000000 .U.........?.... 2019-01-21 21:06:08.945 21207-21234/com.datcompany.fantasiapainter E/CRASH: 87afb610 00000000 3f800000 00000000 00000000 .......?........ 2019-01-21 21:06:08.945 21207-21234/com.datcompany.fantasiapainter E/CRASH: 87afb620 00000000 7d75d4a0 3d23d70b 00000000 ......u}..#=.... 2019-01-21 21:06:08.945 21207-21234/com.datcompany.fantasiapainter E/CRASH: 87afb630 00000000 84ef5aa0 87afb64c 87afb650 .....Z..L...P... 2019-01-21 21:06:08.945 21207-21234/com.datcompany.fantasiapainter E/CRASH: 87afb640 87afb68c 7d47b6bf 87afb64c 00070003 ......G}L....... 2019-01-21 21:06:08.945 21207-21234/com.datcompany.fantasiapainter E/CRASH: 87afb650 83865500 7d4ef4cf 80fd90c0 00000080 .U....N}........ 2019-01-21 21:06:08.945 21207-21234/com.datcompany.fantasiapainter E/CRASH: memory near fp: 2019-01-21 21:06:08.945 21207-21234/com.datcompany.fantasiapainter E/CRASH: 00018a04 ffffffff ffffffff ffffffff ffffffff ................ 2019-01-21 21:06:08.946 21207-21234/com.datcompany.fantasiapainter E/CRASH: 00018a14 ffffffff ffffffff ffffffff ffffffff ................ 2019-01-21 21:06:08.946 21207-21234/com.datcompany.fantasiapainter E/CRASH: 00018a24 ffffffff ffffffff ffffffff ffffffff ................ 2019-01-21 21:06:08.946 21207-21234/com.datcompany.fantasiapainter E/CRASH: 00018a34 ffffffff ffffffff ffffffff ffffffff ................ 2019-01-21 21:06:08.946 21207-21234/com.datcompany.fantasiapainter E/CRASH: 00018a44 ffffffff ffffffff ffffffff ffffffff ................ 2019-01-21 21:06:08.946 21207-21234/com.datcompany.fantasiapainter E/CRASH: 00018a54 ffffffff ffffffff ffffffff ffffffff ................ 2019-01-21 21:06:08.947 21207-21234/com.datcompany.fantasiapainter E/CRASH: 00018a64 ffffffff ffffffff ffffffff ffffffff ................ 2019-01-21 21:06:08.947 21207-21234/com.datcompany.fantasiapainter E/CRASH: 00018a74 ffffffff ffffffff ffffffff ffffffff ................ 2019-01-21 21:06:08.947 21207-21234/com.datcompany.fantasiapainter E/CRASH: 00018a84 ffffffff ffffffff ffffffff ffffffff ................ 2019-01-21 21:06:08.947 21207-21234/com.datcompany.fantasiapainter E/CRASH: 00018a94 ffffffff ffffffff ffffffff ffffffff ................ 2019-01-21 21:06:08.948 21207-21234/com.datcompany.fantasiapainter E/CRASH: 00018aa4 ffffffff ffffffff ffffffff ffffffff ................ 2019-01-21 21:06:08.948 21207-21234/com.datcompany.fantasiapainter E/CRASH: 00018ab4 ffffffff ffffffff ffffffff ffffffff ................ 2019-01-21 21:06:08.948 21207-21234/com.datcompany.fantasiapainter E/CRASH: 00018ac4 ffffffff ffffffff ffffffff ffffffff ................ 2019-01-21 21:06:08.948 21207-21234/com.datcompany.fantasiapainter E/CRASH: 00018ad4 ffffffff ffffffff ffffffff ffffffff ................ 2019-01-21 21:06:08.949 21207-21234/com.datcompany.fantasiapainter E/CRASH: 00018ae4 ffffffff ffffffff ffffffff ffffffff ................ 2019-01-21 21:06:08.949 21207-21234/com.datcompany.fantasiapainter E/CRASH: 00018af4 ffffffff ffffffff ffffffff ffffffff ................ 2019-01-21 21:06:08.949 21207-21234/com.datcompany.fantasiapainter E/CRASH: memory near ip: 2019-01-21 21:06:08.949 21207-21234/com.datcompany.fantasiapainter E/CRASH: 634fa400 803ea4d8 634fa420 634fa500 634fa3e0 ..>. .Oc..Oc..Oc 2019-01-21 21:06:08.949 21207-21234/com.datcompany.fantasiapainter E/CRASH: 634fa410 634fa380 80d4ea60 00000000 00000001 ..Oc`........... 2019-01-21 21:06:08.950 21207-21234/com.datcompany.fantasiapainter E/CRASH: 634fa420 634fa3e0 634fa400 634fa3e0 634fa500 ..Oc..Oc..Oc..Oc 2019-01-21 21:06:08.950 21207-21234/com.datcompany.fantasiapainter E/CRASH: 634fa430 634fa440 80d4e970 00000000 ffffffff @.Ocp........... 2019-01-21 21:06:08.950 21207-21234/com.datcompany.fantasiapainter E/CRASH: 634fa440 634fa4c0 803ea480 634fa3e0 00000001 ..Oc..>...Oc.... 2019-01-21 21:06:08.950 21207-21234/com.datcompany.fantasiapainter E/CRASH: 634fa450 80000000 408020e3 00000000 00000000 ..... .@........ 2019-01-21 21:06:08.951 21207-21234/com.datcompany.fantasiapainter E/CRASH: 634fa460 00000000 00000000 00000000 00000000 ................ 2019-01-21 21:06:08.951 21207-21234/com.datcompany.fantasiapainter E/CRASH: 634fa470 00000000 40268000 ffffffe8 00000000 ......&@........ 2019-01-21 21:06:08.951 21207-21234/com.datcompany.fantasiapainter E/CRASH: 634fa480 634fa3c0 634fa4a0 634fa520 634fa3c0 ..Oc..Oc .Oc..Oc 2019-01-21 21:06:08.951 21207-21234/com.datcompany.fantasiapainter E/CRASH: 634fa490 634fa540 80d4e970 00000000 ffffffff @.Ocp........... 2019-01-21 21:06:08.952 21207-21234/com.datcompany.fantasiapainter E/CRASH: 634fa4a0 634fa520 634fa480 634fa3c0 634fa520 .Oc..Oc..Oc .Oc 2019-01-21 21:06:08.952 21207-21234/com.datcompany.fantasiapainter E/CRASH: 634fa4b0 634fa4c0 80d4ea60 00000000 00000001 ..Oc`........... 2019-01-21 21:06:08.952 21207-21234/com.datcompany.fantasiapainter E/CRASH: 634fa4c0 634fa540 634fa440 634fa4a0 00000002 @.Oc@.Oc..Oc.... 2019-01-21 21:06:08.952 21207-21234/com.datcompany.fantasiapainter E/CRASH: 634fa4d0 80000000 408020e3 00000000 40840000 ..... .@.......@ 2019-01-21 21:06:08.953 21207-21234/com.datcompany.fantasiapainter E/CRASH: 634fa4e0 00000000 00000000 00000000 40020000 ...............@ 2019-01-21 21:06:08.953 21207-21234/com.datcompany.fantasiapainter E/CRASH: 634fa4f0 00000000 40268000 ffffffe7 ffffffff ......&@........ 2019-01-21 21:06:08.953 21207-21234/com.datcompany.fantasiapainter E/CRASH: memory near sp: 2019-01-21 21:06:08.953 21207-21234/com.datcompany.fantasiapainter E/CRASH: 87afb4e0 802ea000 634fa4a0 634fa4a0 802ea100 ......Oc..Oc.... 2019-01-21 21:06:08.953 21207-21234/com.datcompany.fantasiapainter E/CRASH: 87afb4f0 ffffffff 7d4dcc7b 802ea000 634fa4a0 ....{.M}......Oc 2019-01-21 21:06:08.953 21207-21234/com.datcompany.fantasiapainter E/CRASH: 87afb500 802ea000 7d4e05bf 87afb624 00000004 ......N}$....... 2019-01-21 21:06:08.953 21207-21234/com.datcompany.fantasiapainter E/CRASH: 87afb510 35a00000 00000000 00000000 00000000 ...5............ 2019-01-21 21:06:08.953 21207-21234/com.datcompany.fantasiapainter E/CRASH: 87afb520 34000000 00000000 00000008 84ef5abc ...4.........Z.. 2019-01-21 21:06:08.954 21207-21234/com.datcompany.fantasiapainter E/CRASH: 87afb530 00000004 87afb580 00000000 00000024 ............$... 2019-01-21 21:06:08.954 21207-21234/com.datcompany.fantasiapainter E/CRASH: 87afb540 00000007 80e7cdf0 00000001 7d4e6249 ............IbN} 2019-01-21 21:06:08.954 21207-21234/com.datcompany.fantasiapainter E/CRASH: 87afb550 87afb600 83865640 83865600 00000002 ....@V...V...... 2019-01-21 21:06:08.954 21207-21234/com.datcompany.fantasiapainter E/CRASH: 87afb560 84ef5abc 87afb64c 43011300 01d9bd4b .Z..L......CK... 2019-01-21 21:06:08.954 21207-21234/com.datcompany.fantasiapainter E/CRASH: 87afb570 80e7cdf0 7d4dff69 84ef5acc 84ef5abc ....i.M}.Z...Z.. 2019-01-21 21:06:08.954 21207-21234/com.datcompany.fantasiapainter E/CRASH: 87afb580 00000000 7ff80000 00000000 7ff80000 ................ 2019-01-21 21:06:08.954 21207-21234/com.datcompany.fantasiapainter E/CRASH: 87afb590 00000000 00000000 01d9bd4b 80e7cdf0 ........K....... 2019-01-21 21:06:08.955 21207-21234/com.datcompany.fantasiapainter E/CRASH: 87afb5a0 87afb624 84ef5aa0 87afb600 00000000 $....Z.......... 2019-01-21 21:06:08.955 21207-21234/com.datcompany.fantasiapainter E/CRASH: 87afb5b0 87afb600 87afb624 87afb6b8 7d4e0c79 ....$.......y.N} 2019-01-21 21:06:08.955 21207-21234/com.datcompany.fantasiapainter E/CRASH: 87afb5c0 84ef5acc 87afb6b8 84ef5aa0 87afb73c .Z.......Z..<... 2019-01-21 21:06:08.955 21207-21234/com.datcompany.fantasiapainter E/CRASH: 87afb5d0 00000000 7d4e2cb3 87afb640 01d9bd4b .....,N}@...K... 2019-01-21 21:06:08.955 21207-21234/com.datcompany.fantasiapainter E/CRASH: code around pc: 2019-01-21 21:06:08.955 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d4e6160 1a406800 b004bf04 f790bdb0 bf00eee6 .h@............. 2019-01-21 21:06:08.956 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d4e6170 002c3d10 002c3cca 4604b510 44784805 .=,..<,....F.HxD 2019-01-21 21:06:08.956 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d4e6180 60203008 f7f968a0 4620ff68 4010e8bd .0 `.h..h. F...@ 2019-01-21 21:06:08.957 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d4e6190 baccf792 002773ca 4604b510 44784806 .....s'....F.HxD 2019-01-21 21:06:08.957 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d4e61a0 60203008 f7f968a0 4620ff58 fabef792 .0 `.h..X. F.... 2019-01-21 21:06:08.957 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d4e61b0 4010e8bd bb1af792 002773aa 4ff0e92d ...@.....s'.-..O 2019-01-21 21:06:08.957 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d4e61c0 4682b093 460c4838 4478991c 68004615 ...F8H.F..xD.F.h 2019-01-21 21:06:08.957 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d4e61d0 90126800 60486808 130ae9cd 6818a906 .h...hH`.......h 2019-01-21 21:06:08.957 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d4e61e0 93049002 90016858 0008f8da fa98f7fa ....Xh.......... 2019-01-21 21:06:08.958 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d4e61f0 0008f8da 91034629 f04fb3e5 25000b00 ....)F....O....% 2019-01-21 21:06:08.958 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d4e6200 94052700 faa1f7fa 901bf834 4626ac0c .'......4.....&F 2019-01-21 21:06:08.958 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d4e6210 454d9c04 2004d820 08c5ea40 46316820 ..ME .. @... h1F 2019-01-21 21:06:08.958 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d4e6220 4440462a 0a01ed10 0ac0eeb7 0b0ced8d *F@D............ 2019-01-21 21:06:08.958 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d4e6230 0a00ed90 0ac0eeb7 0b0eed8d 7710e9cd ...............w 2019-01-21 21:06:08.959 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d4e6240 0008f8da f8d0f7fa f1089805 35010808 ...............5 2019-01-21 21:06:08.959 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d4e6250 901bf830 d9e1454d 0008f8da fa8af7fa 0...ME.......... 2019-01-21 21:06:08.959 21207-21234/com.datcompany.fantasiapainter E/CRASH: code around lr: 2019-01-21 21:06:08.959 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d4e059c d0064282 1d38f8d4 2026f648 0001f2c0 .B....8.H.& .... 2019-01-21 21:06:08.959 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d4e05ac 68e1e098 2026f648 0001f2c0 68e1e09b ...hH.& .......h 2019-01-21 21:06:08.959 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d4e05bc 68a04788 d15a2800 0098f8d4 dc0f2863 .G.h.(Z.....c(.. 2019-01-21 21:06:08.960 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d4e05cc 1040eb04 60b8f8c0 ab28ed80 9b2aed80 ..@....`..(...*. 2019-01-21 21:06:08.960 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d4e05dc 8b2ced80 0098f8d4 f8c43001 e0670098 ..,......0....g. 2019-01-21 21:06:08.960 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d4e05ec f7fc9601 60a0fc46 d06a2800 0098f8d4 ....F..`.(j..... 2019-01-21 21:06:08.960 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d4e05fc db362801 1040eb04 f1006865 f10409a0 .(6...@.eh...... 2019-01-21 21:06:08.960 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d4e060c f04f07a0 f04f0a01 69be38ff 4628b135 ..O...O..8.i5.(F 2019-01-21 21:06:08.961 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d4e061c fb29f7fc d0542800 e00b68ed f7fc68a0 ..)..(T..h...h.. 2019-01-21 21:06:08.961 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d4e062c 4605f951 d04c2d00 46286869 f9d5f7fc Q..F.-L.ih(F.... 2019-01-21 21:06:08.961 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d4e063c d0462800 60c66928 0b00ed97 0b04ed80 .(F.(i.`........ 2019-01-21 21:06:08.961 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d4e064c 0b02ed97 0b06ed80 0b04ed97 454f3720 ............ 7OE 2019-01-21 21:06:08.961 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d4e065c 0b08ed80 a01cf8c5 f8c06868 6065801c ........hh....e` 2019-01-21 21:06:08.962 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d4e066c 2000d3d3 0098f8c4 0094f884 68659e01 ... ..........eh 2019-01-21 21:06:08.962 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d4e067c 4628b12d faf7f7fc 68edb300 68a0e009 -.(F.......h...h 2019-01-21 21:06:08.962 21207-21234/com.datcompany.fantasiapainter E/CRASH: 7d4e068c f920f7fc b1cd4605 46286869 f9a5f7fc .. ..F..ih(F.... |
||||
Tags: | |||||
Steps To Reproduce: | See description | ||||
Additional Information: | |||||
Attached Files: |
stack.txt (14,307 bytes) 2019-01-22 13:14 https://www.noesisengine.com/bugs/file_download.php?file_id=961&type=bug |
||||
Notes | |
(0005406)
nokola 2019-01-22 07:47 |
Figured out how to work around the crash. I was assigning _adorner.Width and other controls' properties (e.g. border.Thickness = new Thickness(...)) twice to the same value in two consecutive frames. Once I changed my code to assign only once, the crash stopped. Likely crash is caused due to combination of calling UpdateLayout() and assigning values to controls' properties from C# in two consecutive frames. The code in question is handling orientation change (portrait to landscape and vice versa). Hope that helps pinpoint the crash! Currently I'm not blocked anymore, just very cautious with assigning properties to Noesis controls. |
(0005408)
sfernandez 2019-01-22 13:14 |
@jsantos Could you help here, the stack points to a crash inside the tessellator: CALL_ERROR_OR_ERROR_DATA( GLU_TESS_COORD_TOO_LARGE ); |
(0005409)
jsantos 2019-01-22 14:09 |
Sure, I will analyze it |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1396 | [NoesisGUI] C++ SDK | feature | always | 2019-01-21 07:40 | 2019-01-21 13:46 |
Reporter: | nikobarli | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 2.2.0b6 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | More generic IDictionaryIndexer implemetation | ||||
Description: |
Follow up from https://www.noesisengine.com/forums/viewtopic.php?f=3&t=1561 NoesisGUI currently cannot handle binding to a dictionary indexer with key other than string. # This is currently low priority issue for us |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1389 | [NoesisGUI] C++ SDK | block | always | 2019-01-17 06:10 | 2019-01-18 11:44 |
Reporter: | nikobarli | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.0b5 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Cannot build C++ SDK from trunk r | ||||
Description: |
Hi, today I updated our source code with Noesis SDK r7643 but it caused the projects failed to build with the following errors: 1> Creating library ..\..\..\..\NoesisSDK\Lib\windows_x86\Noesis.lib and object ..\..\..\..\NoesisSDK\Lib\windows_x86\Noesis.exp 1>Rect.obj : error LNK2019: unresolved external symbol "int __cdecl Noesis::String::ToInteger(char const *,unsigned int *)" (?ToInteger@String@Noesis@@YAHPBDPAI@Z) referenced in function "public: struct Noesis::Recti __thiscall Noesis::Recti::Intersect(struct Noesis::Recti const &)const " (?Intersect@Recti@Noesis@@QBE?AU12@ABU12@@Z) 1>Size.obj : error LNK2001: unresolved external symbol "int __cdecl Noesis::String::ToInteger(char const *,unsigned int *)" (?ToInteger@String@Noesis@@YAHPBDPAI@Z) 1>KeyTime.obj : error LNK2001: unresolved external symbol "int __cdecl Noesis::String::ToInteger(char const *,unsigned int *)" (?ToInteger@String@Noesis@@YAHPBDPAI@Z) 1>RepeatBehavior.obj : error LNK2001: unresolved external symbol "int __cdecl Noesis::String::ToInteger(char const *,unsigned int *)" (?ToInteger@String@Noesis@@YAHPBDPAI@Z) 1>TimeSpan.obj : error LNK2001: unresolved external symbol "int __cdecl Noesis::String::ToInteger(char const *,unsigned int *)" (?ToInteger@String@Noesis@@YAHPBDPAI@Z) 1>Point.obj : error LNK2001: unresolved external symbol "int __cdecl Noesis::String::ToInteger(char const *,unsigned int *)" (?ToInteger@String@Noesis@@YAHPBDPAI@Z) 1>StringFormat.obj : error LNK2001: unresolved external symbol "int __cdecl Noesis::String::ToInteger(char const *,unsigned int *)" (?ToInteger@String@Noesis@@YAHPBDPAI@Z) 1>NumericConverter.obj : error LNK2001: unresolved external symbol "int __cdecl Noesis::String::ToInteger(char const *,unsigned int *)" (?ToInteger@String@Noesis@@YAHPBDPAI@Z) 1>PropertyPath.obj : error LNK2001: unresolved external symbol "int __cdecl Noesis::String::ToInteger(char const *,unsigned int *)" (?ToInteger@String@Noesis@@YAHPBDPAI@Z) 1>Duration.obj : error LNK2001: unresolved external symbol "int __cdecl Noesis::String::ToInteger(char const *,unsigned int *)" (?ToInteger@String@Noesis@@YAHPBDPAI@Z) 1>Thickness.obj : error LNK2001: unresolved external symbol "float __cdecl Noesis::String::ToFloat(char const *,unsigned int *)" (?ToFloat@String@Noesis@@YAMPBDPAI@Z) 1>Transform.obj : error LNK2001: unresolved external symbol "float __cdecl Noesis::String::ToFloat(char const *,unsigned int *)" (?ToFloat@String@Noesis@@YAMPBDPAI@Z) 1>Point.obj : error LNK2001: unresolved external symbol "float __cdecl Noesis::String::ToFloat(char const *,unsigned int *)" (?ToFloat@String@Noesis@@YAMPBDPAI@Z) 1>Rect.obj : error LNK2001: unresolved external symbol "float __cdecl Noesis::String::ToFloat(char const *,unsigned int *)" (?ToFloat@String@Noesis@@YAMPBDPAI@Z) 1>Size.obj : error LNK2001: unresolved external symbol "float __cdecl Noesis::String::ToFloat(char const *,unsigned int *)" (?ToFloat@String@Noesis@@YAMPBDPAI@Z) 1>SVGPath.obj : error LNK2001: unresolved external symbol "float __cdecl Noesis::String::ToFloat(char const *,unsigned int *)" (?ToFloat@String@Noesis@@YAMPBDPAI@Z) 1>KeyTime.obj : error LNK2001: unresolved external symbol "float __cdecl Noesis::String::ToFloat(char const *,unsigned int *)" (?ToFloat@String@Noesis@@YAMPBDPAI@Z) 1>RepeatBehavior.obj : error LNK2001: unresolved external symbol "float __cdecl Noesis::String::ToFloat(char const *,unsigned int *)" (?ToFloat@String@Noesis@@YAMPBDPAI@Z) 1>Color.obj : error LNK2001: unresolved external symbol "float __cdecl Noesis::String::ToFloat(char const *,unsigned int *)" (?ToFloat@String@Noesis@@YAMPBDPAI@Z) 1>CornerRadius.obj : error LNK2001: unresolved external symbol "float __cdecl Noesis::String::ToFloat(char const *,unsigned int *)" (?ToFloat@String@Noesis@@YAMPBDPAI@Z) 1>Slider.obj : error LNK2001: unresolved external symbol "float __cdecl Noesis::String::ToFloat(char const *,unsigned int *)" (?ToFloat@String@Noesis@@YAMPBDPAI@Z) 1>TickBar.obj : error LNK2001: unresolved external symbol "float __cdecl Noesis::String::ToFloat(char const *,unsigned int *)" (?ToFloat@String@Noesis@@YAMPBDPAI@Z) 1>VirtualizationCacheLength.obj : error LNK2001: unresolved external symbol "float __cdecl Noesis::String::ToFloat(char const *,unsigned int *)" (?ToFloat@String@Noesis@@YAMPBDPAI@Z) 1>KeySpline.obj : error LNK2001: unresolved external symbol "float __cdecl Noesis::String::ToFloat(char const *,unsigned int *)" (?ToFloat@String@Noesis@@YAMPBDPAI@Z) 1>NumericConverter.obj : error LNK2001: unresolved external symbol "float __cdecl Noesis::String::ToFloat(char const *,unsigned int *)" (?ToFloat@String@Noesis@@YAMPBDPAI@Z) 1>DashStyle.obj : error LNK2001: unresolved external symbol "float __cdecl Noesis::String::ToFloat(char const *,unsigned int *)" (?ToFloat@String@Noesis@@YAMPBDPAI@Z) 1>GridLength.obj : error LNK2001: unresolved external symbol "float __cdecl Noesis::String::ToFloat(char const *,unsigned int *)" (?ToFloat@String@Noesis@@YAMPBDPAI@Z) 1>LengthConverter.obj : error LNK2001: unresolved external symbol "float __cdecl Noesis::String::ToFloat(char const *,unsigned int *)" (?ToFloat@String@Noesis@@YAMPBDPAI@Z) 1>NumericConverter.obj : error LNK2019: unresolved external symbol "double __cdecl Noesis::String::ToDouble(char const *,unsigned int *)" (?ToDouble@String@Noesis@@YANPBDPAI@Z) referenced in function "public: struct Noesis::ParseResult __thiscall Noesis::PE::Double::TryParse<struct Noesis::DefaultSkip>(class Noesis::ParserSource<struct Noesis::DefaultSkip> const &)" (??$TryParse@UDefaultSkip@Noesis@@@Double@PE@Noesis@@QAE?AUParseResult@2@ABV?$ParserSource@UDefaultSkip@Noesis@@@2@@Z) 1>D:\Noesis\v2.9.5.0_libz_NoesisMerge\libz\\Debug\Noesis32.dll : fatal error LNK1120: 3 unresolved externals It seems that the following functions inside NsCore/StringUtils.h are not implemented /// Parses the string, interpreting its content as a float and returns its value float ToFloat(const char* str, uint32_t* charParsed); /// Parses the string, interpreting its content as a double and returns its value double ToDouble(const char* str, uint32_t* charParsed); /// Parses the string, interpreting its content as an integer and returns its value int ToInteger(const char* str, uint32_t* charParsed); |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0005396)
sfernandez 2019-01-17 13:59 (Last edited: 2019-01-17 14:01) |
The implementation of those functions is in StringUtils.cpp (added in r7629). I've just updated trunk in a clean working directory and built Noesis-win-x86.conf without problems. Is it possible that you didn't regenerate the Noesis project after updating? |
(0005397)
jsantos 2019-01-17 15:34 |
I just generated a clean version right now and I have verified that those functions are being exported (using Depends.exe):?ToDouble@String@Noesis@@YANPBDPAI@Z ?ToFloat@String@Noesis@@YAMPBDPAI@Z ?ToInteger@String@Noesis@@YAHPBDPAI@Z Could you try first in a clean version? What visual studio version are you using? |
(0005399)
nikobarli 2019-01-17 23:57 |
Hi, yes you are right. I missed the StringUtils.cpp when merging your source code (it wasn't SVN added to our source tree). Sorry for the trouble. Please close this issue. |
(0005400)
jsantos 2019-01-18 11:44 |
Thanks! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
707 | [NoesisGUI] C++ SDK | minor | always | 2015-08-16 16:52 | 2019-01-15 17:09 |
Reporter: | movra | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | low | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Fullscreen XamlPlayer big difference in GPU usage with MSAA | ||||
Description: | When running certain XAMLs in fullscreen XamlPlayer there's a big difference in GPU usage between the MSAA modes. | ||||
Tags: | |||||
Steps To Reproduce: |
- Load TicTacToe.xaml or MasterMind.xaml in XamlPlayer. - Disable any animations. - Maximize the XamlPlayer window. - When switching from MSAA 2x to MSAA 4x or MSAA 8x the GPU usage will jump from about 1% to 70%. |
||||
Additional Information: | |||||
Attached Files: |
TicTacToe-1920x1148-MSAA8x.png (187,356 bytes) 2015-10-19 23:07 https://www.noesisengine.com/bugs/file_download.php?file_id=564&type=bug TicTacToe-1920x1148-MSAA4x.png (172,317 bytes) 2015-10-19 23:08 https://www.noesisengine.com/bugs/file_download.php?file_id=565&type=bug TicTacToe-784x562-MSAA8x.png (92,057 bytes) 2015-10-19 23:08 https://www.noesisengine.com/bugs/file_download.php?file_id=566&type=bug |
||||
Notes | |
(0003085)
jsantos 2015-10-08 18:25 |
Yes, what you are observing is normal because MSAA demands more bandwidth to the GPU so the time is moved there. Could you elaborate more about this ticket? Thanks for your feedback! |
(0003122)
movra 2015-10-19 23:23 |
Hm, I didn't get an e-mail about your reply. I just retested the TicTacToe example in XAML Player. See screenshots. MSAA 4x Maximized: 1.6 ms MSAA 8x Windowed: 0.58 ms MSAA 8x Maximized: 66.59 ms (sometimes it jumps to 133 ms) See, there's a huge jump. There should be enough video memory available. With MSAA 8x Maximized it sits at about 820 MB out of 1 GB. After closing XAML Player it's 383 MB. But there's something else strange going on. Sometimes the MSAA 4x Maximized jumps to 33 ms and stays there until switching the AA or resizing the window. |
(0005391)
jsantos 2019-01-10 14:08 (Last edited: 2019-01-10 14:09) |
So many changes in XamlPlayer since this report. :) Did you have the chance to test the latest version of NoesisGUI? In these new versions you need to indicate the multisample level at the command line (--samples 8) |
(0005392)
movra 2019-01-10 23:40 |
Hey jsantos. I just tested 2.2.0b5. Looking good so far! Of course, since my bug report in 2015 I have upgraded some hardware. From an i7-920 and a 460 GTX to a Ryzen 5 2600 with 1070 GTX. Also the example TicTacToe.xaml has changed and MasterMind.xaml is removed. So it is not really a fair comparison. But with Palette.xaml at 8x MSAA 1080p 60 fps, GPU time is max 2.39 ms. |
(0005395)
jsantos 2019-01-15 17:09 |
Those are good numbers I think, you will probably get better GPU numbers if you disable vsynv (--vsync 0). So many optimizations happened since the last version you tried. :) |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
826 | [NoesisGUI] C# SDK | minor | have not tried | 2016-02-09 01:38 | 2019-01-10 14:10 |
Reporter: | flownthecoop | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | 1.3 Beta Download | ||||
Description: | I was asked to create a ticket for the 1.3 beta and android x64 support. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0003533)
jsantos 2016-02-09 12:58 |
Thanks! |
(0003549)
flownthecoop 2016-02-12 23:30 |
Do you know when the beta will be available? |
(0003553)
jsantos 2016-02-16 19:03 |
Can't give you a date right now. This is the plan we are following: 1. Release 1.2.6 with many improvements and optimizations. 2. Release first public 1.3 beta for C++ 3. Release 1.3 for C# 4. Release 1.3 for Unity. Please, a bit of patience. :) |
(0004582)
jsantos 2017-04-26 02:21 |
android_arm and android_x86 are already available in C# SDK 2.0 is that enough for you? Do you need 64 bits? |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1383 | [NoesisGUI] Unity3D | minor | always | 2019-01-08 04:42 | 2019-01-08 10:36 |
Reporter: | liusujin | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 2.1.0f1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Windows | ||||
Summary: | NoesisException:Can't assign property to abstract class 'CornerRadius'. | ||||
Description: | ResourceDictionary code : <CornerRadius x:Key="RoundedCorner" TopLeft="5.0" TopRight="5.0" BottomRight="5.0" BottomLeft="5.0"/> can't converted in unity. | ||||
Tags: | Unity | ||||
Steps To Reproduce: |
a. declares cornerradius source like this:<CornerRadius x:Key="RoundedCorner" TopLeft="5.0" TopRight="5.0" BottomRight="5.0" BottomLeft="5.0"/>; b.quate it like this: CornerRadius="{StaticResource RoundedCorner}"; c.import files in unity3d; d.the error appears. |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1235 | [NoesisGUI] C++ SDK | major | always | 2018-02-06 06:01 | 2018-12-31 11:44 |
Reporter: | nikobarli | Platform: | Windows | ||
Assigned To: | sfernandez | OS: | Windows 10 | ||
Priority: | high | OS Version: | Windows 10 FCU | ||
Status: | resolved | Product Version: | 2.1.0rc2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b4 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | Assertion triggered inside FrameworkElement::ResetInheritanceParent() | ||||
Description: | Assertion mTEmplatedParent == 0 inside FrameworkElement::ResetInheritanceParent() is triggered in some cases | ||||
Tags: | |||||
Steps To Reproduce: |
1. Run XamlPlayer using VS debugger in Debug mode 2. Extract the attached Repro.zip to a directory 3. Drop NoesisControls.xaml to the XamlPlayer (there are errors because I couldn't attach all the resources, but I think it doesn't relate to the issue) 4. Exit the XamlPlayer -> Assertion mTEmplatedParent == 0 inside FrameworkElement::ResetInheritanceParent() is triggered multiple of times: -> If I removed the reference to NoesisStyle.xaml from inside NoesisControls.xaml, then the assertion disappears. |
||||
Additional Information: | |||||
Attached Files: |
Repro.zip (70,871 bytes) 2018-02-06 06:07 https://www.noesisengine.com/bugs/file_download.php?file_id=881&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1382 | [NoesisGUI] C++ SDK | major | always | 2018-12-29 10:21 | 2018-12-31 11:29 |
Reporter: | nikobarli | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.0b3 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b5 | ||
Target Version: | 2.2.0 | ||||
Platform: | Windows | ||||
Summary: | ContextMenuOpening event is not sent when button is disabled | ||||
Description: |
From https://www.noesisengine.com/forums/viewtopic.php?f=3&t=1549&sid=9bdfdd01c790c93445e429d25e5fb373 In WPF, we get ContextMenuOpening event on both the button and the grid. However, in NoesisGUI, the event is not fired (it is fired if the button IsEnabled="True"). |
||||
Tags: | |||||
Steps To Reproduce: |
The XAML is as follows: <Grid ContextMenuOpening="Grid_ContextMenuOpening"> <Button Name="testDisabledButton" IsEnabled="False" Content="Disabled Button" ContextMenuOpening="testDisabledButton_ContextMenuOpening"> <Button.ContextMenu> <ContextMenu> <MenuItem Header="Test 1"/> <MenuItem Header="Test 2"/> </ContextMenu> </Button.ContextMenu> </Button> </Grid> |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1220 | [NoesisGUI] Unity3D | major | always | 2018-01-17 18:52 | 2018-12-27 13:33 |
Reporter: | ivan_b | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | high | OS Version: | |||
Status: | resolved | Product Version: | 2.1.0b15 | ||
Product Build: | Resolution: | won't fix | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | Memory issue | ||||
Description: |
In the Control gallery sample, when switching between two items, the memory usage grows and it is never released. In general this occurs when instantiating new user controls, the memory is not released after the UserControl is not in use anymore. I will try to reproduce this in an empty unity project. |
||||
Tags: | 2.1Beta | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
Noesis bug.rar (11,750 bytes) 2018-01-20 15:56 https://www.noesisengine.com/bugs/file_download.php?file_id=874&type=bug |
||||
Notes | |
(0005025)
sfernandez 2018-01-18 00:34 |
I'm trying to reproduce the problem with the ControlGallery and after switching between samples I see the memory growing, but after Garbage Collector kicks in memory is returned to the system. Are you sure the memory keeps growing forever? |
(0005033)
ivan_b 2018-01-20 15:56 |
I think I have located the problem, the problem is not when you load the xaml's as in the control gallery sample but when you use a UserControl and the inside a user control you use Noesis.GUI.LoadComponent. I have uploaded a small sample. When you switch multiple time between the two view you can see that the memory usage grows but when you click the button for garbage collection (it calls GC.Collect) the memory is not deallocated. |
(0005043)
sfernandez 2018-01-23 17:48 |
Thanks for the project ivan... I'm investigating the issue. |
(0005051)
sfernandez 2018-01-25 13:53 |
Hi ivan, The problem is related to the event hook (Initialized in your example). Our current implementation requires to store the event handler in a static dictionary to communicate with native code. This is causing the delegate Target to remain strongly referenced and object is not released. We know about this problem but the right solution is not totally clear as we don't want to harm event performance. In your scenario this problem can be workaround by manually unregistering from the events when control is removed from the tree: namespace NoesisBug { public class Menu : UserControl { public Menu() { this.Initialized += OnInitialized; this.Unloaded += OnUnloaded; this.InitializeComponent(); } private void InitializeComponent() { Noesis.GUI.LoadComponent(this, "Assets/MemoryBug/Menu.xaml"); } private void OnInitialized(object sender, EventArgs args) { } private void OnUnloaded(object sender, RoutedEventArgs e) { Initialized -= OnInitialized; Unloaded -= OnUnloaded; } } } |
(0005052)
ivan_b 2018-01-25 14:14 |
Thanks for the help. I don't mind if it stays this way :). |
(0005378)
sfernandez 2018-12-27 13:33 |
I found another simple way to break the strong reference, to allow memory to be correctly disposed. Instead of unregistering from the events, use an intermediate weak reference: namespace NoesisBug { public class Menu : UserControl { public Menu() { WeakReference weak = new WeakReference(this); this.MouseDown += (s, e) => { ((Menu)weak.Target)?.OnMouseDown(s, e); }; this.InitializeComponent(); } private void InitializeComponent() { Noesis.GUI.LoadComponent(this, "Assets/MemoryBug/Menu.xaml"); } private void OnMouseDown(object sender, MouseButtonEventArgs args) { } } } This will correctly destroy Menu instances, even when registering against own events. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
833 | [NoesisGUI] C# SDK | minor | N/A | 2016-02-25 09:00 | 2018-12-27 11:18 |
Reporter: | ai_enabled | Platform: | PC | ||
Assigned To: | sfernandez | OS: | Windows | ||
Priority: | normal | OS Version: | 10 | ||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b5 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | Difference with WPF - StreamGeometryContext | ||||
Description: |
Hello! I've noticed that StreamGeometryContext API is little bit different. The fix should be pretty easy. Regards! |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1148 | [NoesisGUI] Unity3D | block | sometimes | 2017-09-15 13:51 | 2018-12-27 11:18 |
Reporter: | easylaser | Platform: | Windows | ||
Assigned To: | sfernandez | OS: | Windows | ||
Priority: | normal | OS Version: | 10 | ||
Status: | resolved | Product Version: | 2.0.2f2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b5 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | NoesisException: Calling thread (12260) doesn't have access to this object (10004) | ||||
Description: |
Hi, We are getting this exception rather often. After running a debug build of noesis I tracked it down to "NoesisGUI_PINVOKE.delete_StreamGeometryContext(swigCPtr);". In the C++ the call chain are: ~StreamGeometryContext -> Close -> UpdateFillRule -> SetFillRule .... So, what to do? remove the close from the destructor? |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0004814)
2017-09-15 14:45 |
As a quick solution, I added Dispose calls in our code to force the destructor to run in main thread |
(0004817)
sfernandez 2017-09-20 16:48 |
I was going to suggest to follow the using pattern:StreamGeometry geom = new StreamGeometry(); using (StreamGeometryContext ctx = geom.Open()) { ctx.BeginFigure(...); ctx.LineTo(...); ctx.LineTo(...); } return geom; It should automatically call Dispose. |
(0004820)
2017-09-21 08:04 |
I know, that is my quick fix. But the problem is still there, the Finalizers in .net is executed in some GC thread. That must be handled correctly. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1381 | [NoesisGUI] C++ SDK | feature | have not tried | 2018-12-23 20:41 | 2018-12-24 01:32 |
Reporter: | jsantos | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b5 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | Improvements to StringFormat | ||||
Description: |
There a few bugs in the implementation of StringFormat (see related tickets) that must be fixed. Besides, custom numeric formats should be implemented to allow things like:<TextBlock Text="{Binding ElementName=wnd, Path=ActualWidth, StringFormat=Window width: {0:#,#.0}}" /> |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
996 | [NoesisGUI] C# SDK | minor | always | 2016-12-28 16:24 | 2018-12-24 01:29 |
Reporter: | WaveEngineTeam | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 1.3.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b5 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | StringFormat de los Binding | ||||
Description: |
Al usar StringFormat en los Binding, el comportamiento en el siguiente caso no es el mismo que en WPF: En un TextBlock usando la propiedad Text de la siguiente forma, muestra el texto "{0}m". Siendo Area un double. - Text="{Binding Info.Area, StringFormat={}{0}m}" Si lo uso de la siguiente forma, muestra "123m": - Text="{Binding Info.Area, StringFormat={}{0:F0}m}" En WPF los dos casos muestran lo mismo. |
||||
Tags: | WaveEngine | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1363 | [NoesisGUI] Unity3D | minor | always | 2018-11-29 05:10 | 2018-12-10 13:43 |
Reporter: | arukari | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 2.1.0f1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Windows | ||||
Summary: | GC.Alloc occurs each time PropertyChanged is executed. | ||||
Description: | Reference:https://www.noesisengine.com/forums/viewtopic.php?f=3&t=1525&p=8720#p8689 | ||||
Tags: | Unity | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1367 | [NoesisGUI] C++ SDK | feature | have not tried | 2018-12-05 12:49 | 2018-12-05 13:06 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b5 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | Implement Binding.Delay property | ||||
Description: |
To allow scenarios like this, where you don't want to update the source on every key stroke:<Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <StackPanel HorizontalAlignment="Center" VerticalAlignment="Center"> <TextBox Text="{Binding Text, ElementName=source, UpdateSourceTrigger=PropertyChanged, Delay=1000}" Width="200"/> <TextBlock x:Name="source" Text="Type something here..." Margin="3,10"/> </StackPanel> </Grid> |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1143 | [NoesisGUI] C# SDK | minor | always | 2017-08-28 15:45 | 2018-12-04 17:39 |
Reporter: | ai_enabled | Platform: | PC | ||
Assigned To: | sfernandez | OS: | Windows | ||
Priority: | normal | OS Version: | 10 x64 | ||
Status: | resolved | Product Version: | 2.0.2f2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b5 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | Exception "Native type is not registered" when trying to get Parent of ToolTip | ||||
Description: |
Hi guys, I'm reworking our in-game tooltip system to use NoesisGUI native tooltip system with minimal customization on our side. The idea is to use Absolute positioning and manually position control as we need. The tooltip control template contains my custom content control. On loaded I can get ToolTip object. But the problem is I can't get parent of this ToolTip object - it throws an exception "Native type is not registered". |
||||
Tags: | |||||
Steps To Reproduce: |
public class TestTooltipInside : ContentControl { public TestTooltipInside() { this.Loaded += this.OnLoaded; } protected void OnLoaded(object sender, RoutedEventArgs routedEventArgs) { var tooltip = VisualTreeHelper.GetParent(this) as ToolTip; // this throws exception - cannot get the tooltip parent var tooltipParent = VisualTreeHelper.GetParent(tooltip); } } And style: <Style TargetType="ToolTip"> <Setter Property="OverridesDefaultStyle" Value="true" /> <Setter Property="Placement" Value="Absolute" /> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="ToolTip"> <styles:TestTooltipInside> <Border Name="Border" BorderThickness="1" Width="{TemplateBinding Width}" Height="{TemplateBinding Height}" Background="Red" BorderBrush="Blue"> <ContentPresenter Margin="4" HorizontalAlignment="Left" VerticalAlignment="Top" /> </Border> </styles:TestTooltipInside> </ControlTemplate> </Setter.Value> </Setter> </Style> Then create any control and add any tooltip. On hover tooltip should be opened and TestTooltipInside will be instantiated, when it's loaded an exception is thrown. |
||||
Additional Information: | |||||
System Description | |||||
Attached Files: | |||||
Notes | |
(0004797)
sfernandez 2017-08-30 12:25 |
Thanks for reporting, I found what is happening and will solve it for the next release. |
(0005134)
ai_enabled 2018-03-15 09:51 |
The issue is still happening in v2.1.0f1. |
(0005137)
ai_enabled 2018-03-15 10:20 |
I think it's not critical for us as I can use tooltip HorizontalOffset and VerticalOffset properties... But we definitely need https://www.noesisengine.com/bugs/view.php?id=1142 fixed to make proper tooltips and get rid of our custom tooltips system (it's quite inconvenient to use as we can't simply set ToolTip property in XAML or C# and have to use our custom attached property like this: ui:ToolTipServiceExtend.ToolTip="{Binding TooltipContent}"> |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1044 | [NoesisGUI] C# SDK | tweak | always | 2017-04-05 18:37 | 2018-12-04 17:06 |
Reporter: | KeldorKatarn | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b5 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | ItemCollection should implement IEnumerable | ||||
Description: |
ItemCollection should implement IEnumerable and all other collection interfaces it supports. Otherwise LINQ extension methods and other standard code can not be used on the collection. It already exposes the GetEnumerator() method defined by IEnumerable, so it is just to add the interface to the inheritance list (other classes like Collection and FreezableCollection should add it too). |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1304 | [NoesisGUI] C# SDK | minor | always | 2018-05-25 10:57 | 2018-12-01 19:36 |
Reporter: | grigoryp | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | confirmed | Product Version: | 2.1.0f1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | NoesisException on 2nd launch of Android app | ||||
Description: |
I think that happens due to static initialization. On Xamarin.Android AppDomain remains the same (if you don't kill process) and static fields have old values (from previous launch) This is why its a bad practice to have any static fields in XA apps. _view = GUI.CreateView((FrameworkElement)GUI.LoadXaml(XamlName)); - this line throws exception |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0005208)
jsantos 2018-06-01 22:34 |
With '2nd launch of Android app' you mean a second Noesis initialization within the same process? |
(0005216)
grigoryp 2018-06-04 12:27 |
Yeah. And on Android it happens kind of implicitly (coz the process isn't killed when u exit the application). |
(0005218)
jsantos 2018-06-05 20:46 |
This is weird and also the fact that nobody reported it before. I wonder if there is a way to 'force' killing the process. |
(0005353)
jsantos 2018-12-01 19:35 (Last edited: 2018-12-01 19:35) |
We have this in the C++ Application Framework:void android_main(android_app* app) { // Store current app environment NoesisApp::Display::SetPrivateData(app); const char* argv[] = { "/system/bin/app_process" }; NsMain(1, (char**)argv); // We need to kill the process because if we don't do that the native dynamic library will // be reused for the next activity and all our static variables will have garbage exit(0); } I will check we are doing the same in C#. Long term solution, we should stop using statics in Noesis. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
739 | [NoesisGUI] Unity3D | minor | have not tried | 2015-10-21 21:30 | 2018-11-30 21:08 |
Reporter: | easylaser | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b5 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | GridLength struct is not exposed to C# correctly | ||||
Description: |
I cannot make a value converter that returns a GridLength. I get these errors when running: 1: Exception: System.InvalidOperationException: Native type is not registered at Noesis.Extend.GetNativeTypeInfo (IntPtr nativeType) [0x00012] in /Users/MarJoh/G3/g3_unity/Assets/Plugins/NoesisGUI/Scripts/Core/NoesisExtend.cs:294 at Noesis.Extend.ConverterConvert (IntPtr unityType, IntPtr cPtr, IntPtr valPtr, IntPtr typePtr, IntPtr paramPtr) [0x0000d] in /Users/MarJoh/G3/g3_unity/Assets/Plugins/NoesisGUI/Scripts/Core/NoesisExtend.cs:1582 Noesis.Error.Check () (at Assets/Plugins/NoesisGUI/Scripts/Core/NoesisError.cs:21) Noesis.UIRenderer.Noesis_CreateRenderer (IntPtr root) (at Assets/Plugins/NoesisGUI/Scripts/Core/NoesisUIRendererImports.cs:87) Noesis.UIRenderer..ctor (Noesis.FrameworkElement content, Vector2 offscreenSize, UnityEngine.GameObject target) (at Assets/Plugins/NoesisGUI/Scripts/Core/NoesisUIRenderer.cs:112) NoesisGUIPanel.LoadXaml () (at Assets/Plugins/NoesisGUI/Scripts/NoesisGUIPanel.cs:503) NoesisGUIPanel.OnEnable () (at Assets/Plugins/NoesisGUI/Scripts/NoesisGUIPanel.cs:375) 2: InvalidOperationException: Native type is not registered Noesis.Extend.GetNativeTypeInfo (IntPtr nativeType) (at Assets/Plugins/NoesisGUI/Scripts/Core/NoesisExtend.cs:294) Noesis.Extend.ConverterConvert (IntPtr unityType, IntPtr cPtr, IntPtr valPtr, IntPtr typePtr, IntPtr paramPtr) (at Assets/Plugins/NoesisGUI/Scripts/Core/NoesisExtend.cs:1582) UnityEngine.Debug:LogException(Exception) Noesis.Error:SetNativePendingError(Exception) (at Assets/Plugins/NoesisGUI/Scripts/Core/NoesisError.cs:29) Noesis.Extend:ConverterConvert(IntPtr, IntPtr, IntPtr, IntPtr, IntPtr) (at Assets/Plugins/NoesisGUI/Scripts/Core/NoesisExtend.cs:1601) System.Object:wrapper_native_0x156ccf250(IntPtr) Noesis.UIRenderer:Noesis_CreateRenderer(IntPtr) (at Assets/Plugins/NoesisGUI/Scripts/Core/NoesisUIRendererImports.cs:86) Noesis.UIRenderer:.ctor(FrameworkElement, Vector2, GameObject) (at Assets/Plugins/NoesisGUI/Scripts/Core/NoesisUIRenderer.cs:112) NoesisGUIPanel:LoadXaml() (at Assets/Plugins/NoesisGUI/Scripts/NoesisGUIPanel.cs:503) NoesisGUIPanel:OnEnable() (at Assets/Plugins/NoesisGUI/Scripts/NoesisGUIPanel.cs:375) |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1162 | [NoesisGUI] Unity3D | minor | always | 2017-10-14 14:07 | 2018-11-30 20:38 |
Reporter: | monstercho | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | not fixable | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | Noesis.GUI.SoftwareKeyboard.Hide() doesn't hide the keyboard | ||||
Description: |
It's known issue because Inside UnitySoftwareKeyboard.Hide() I see comment: // TODO: Force software keyboard to hide As workaround I added to this method: _keyboard.active = false; and now it closes the keyboard |
||||
Tags: | 2.1Beta | ||||
Steps To Reproduce: |
Call Noesis.GUI.SoftwareKeyboard.Hide() while keyboard is on-screen. Tested on iOS. |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0005352)
sfernandez 2018-11-30 20:38 |
New Keyboard integration API doesn't deal with this, it only notifies when software keyboard should be opened or close (when a text control gets or lost forcus). |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1043 | [NoesisGUI] C# SDK | tweak | always | 2017-04-05 18:10 | 2018-11-30 20:35 |
Reporter: | KeldorKatarn | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b5 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | VisualTreeHelper methods should receive a DependencyObject | ||||
Description: | VisualTreeHelper.GetParent, VisualTreeHelper.GetChild, ... expect a DependencyObject instance in WPF. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1356 | [NoesisGUI] C# SDK | minor | have not tried | 2018-11-21 13:57 | 2018-11-30 18:07 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.1.0f1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b5 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | Geometry.Parse not implemented | ||||
Description: | https://www.noesisengine.com/forums/viewtopic.php?f=3&t=752 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1181 | [NoesisGUI] Unity3D | minor | always | 2017-11-11 03:01 | 2018-11-30 14:46 |
Reporter: | vaninadisc | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.0.2f2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b1 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | Mismatched return types from a Converter silently fail | ||||
Description: |
<Setter Property="Canvas.Left" Value="{Binding WorldLeftPosition, Converter={StaticResource ResourceKey="WorldLeftPositionConverter"} /> If WorldLeftPositionConverter provides an int instead of a float... ie return 100; instead of return 100f; There will be a silent failure and the property will end up getting set to 0. It would be much better to not have a silent failure and instead throw an error. |
||||
Tags: | |||||
Steps To Reproduce: | see description | ||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1329 | [NoesisGUI] C# SDK | minor | have not tried | 2018-10-30 12:48 | 2018-11-30 14:43 |
Reporter: | C4ustic | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b5 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | Exceptions in converters is thrown at confusing times. | ||||
Description: |
Exceptions thrown in converters are "buffered" in the Noesis.Error class and not thrown until something else runs Check. This causes very confusing exceptions to be thrown at the wrong time. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0005269)
admin 2018-10-30 12:49 |
Our hosting company corrupted our database without a backup. We are manually reconstructing all the issues. |
(0005270)
admin 2018-10-30 12:51 |
---------------------------------------------------------------------- (0005269) C4ustic (reporter) - 2018-09-30 11:48 https://www.noesisengine.com/bugs/view.php?id=1329#c5269 ---------------------------------------------------------------------- Yes sure, I think it is a fairly usual case. I set the binding in code: c_slider = GetTemplateChild("PART_slider") as Slider; c_sliderBinding = new Binding("SliderValue"); c_sliderBinding.Source = c_propertyItem; c_sliderBinding.Path = new PropertyPath("Value"); c_sliderBinding.Mode = BindingMode.TwoWay; c_sliderBinding.Converter = new NsUIConverters.NsFloatToInt(); BindingOperations.SetBinding(c_slider, Slider.ValueProperty, c_sliderBinding); The exception should have been thrown during the SetBinding() call because it runs the converter which throws an exception. However what happened is that the next Noesis Code that happens to run throws that exception instead. I have another Converter issue where I get a call to Convert when I expected ConvertBack to be called. I don't know enough about WPF to know if this is a bug though. I expected ConvertBack to be called every time the target changes and Convert every time the source changes. It that is supposed to be the case you have another bug there. Another thing that isn't really a bug but it is very annoying is that the code that builds Noesis Assets must have write rights to the source files. This makes it so I must check out every UI source file and run reimport every time I open Unity. This goes for font files too. It is not necessary since you never change anything in the source file. To be clear in order to properly build MyMenu.asset, MyMenu.xaml must not be write protected. ---------------------------------------------------------------------- |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
906 | [NoesisGUI] Unity3D | major | N/A | 2016-06-09 16:07 | 2018-11-30 14:30 |
Reporter: | Scherub | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | iOS BitCode Support | ||||
Description: | Not much more to say I guess. :) | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1348 | [NoesisGUI] Unity3D | minor | have not tried | 2018-11-21 13:23 | 2018-11-30 14:30 |
Reporter: | jsantos | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | iOS | ||||
Summary: | Add support for Bitcode | ||||
Description: | https://www.noesisengine.com/forums/viewtopic.php?f=3&t=867 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1163 | [NoesisGUI] Unity3D | minor | always | 2017-10-17 21:09 | 2018-11-30 12:34 |
Reporter: | Gwynneth | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b5 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | Strange values appear when calling SetCurrentValue with floats on double properties. | ||||
Description: | Attached properties of type double produce strange values when trying to set a float value using the method SetCurrentValue. | ||||
Tags: | |||||
Steps To Reproduce: |
Use example code from: https://www.noesisengine.com/forums/viewtopic.php?f=3&t=1201 |
||||
Additional Information: | Occurred on v2.1.0b4 (Unity) | ||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1323 | [NoesisGUI] C# SDK | minor | have not tried | 2018-10-30 12:27 | 2018-11-30 11:42 |
Reporter: | JasonL663 | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b5 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | Binding Context Becomes Unavailable Inside Nested Scopes | ||||
Description: |
Any object not inheriting from FrameworkElement loses access to the entire binding context when inside a nested scope. |
||||
Tags: | |||||
Steps To Reproduce: |
1. Open the attached repro project in Visual Studio 2. Build the project and observe the "Binding Succeeded" message confirming the binding working for WPF 3. Open the project properties and add NOESIS to the conditional compilation symbols 4. Set the Build Action for App.xaml and MainWindow.xaml to 'None' 5. Build the project again and observe the exception indicating that the 'TestMsg' resource could not be found 6. Change the TestComponent class's base class from UIElement to FrameworkElement 7. Build the project again and observe that the "Binding Succeeded" message indicating that the binding is working properly again |
||||
Additional Information: | |||||
Attached Files: |
BindingRepro.zip (3,821,946 bytes) 2018-11-25 22:41 https://www.noesisengine.com/bugs/file_download.php?file_id=947&type=bug |
||||
Notes | |
(0005260)
admin 2018-10-30 12:32 |
Our hosting company corrupted our database without a backup. We are manually reconstructing all the issues. I know this sounds embarrassing but could you please upload 'BindingRepro.zip' again? |
(0005345)
JasonL663 2018-11-25 22:41 |
Reuploaded bug repro |
(0005346)
sfernandez 2018-11-26 19:25 |
Thank you very much. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1362 | [NoesisGUI] C++ SDK | minor | always | 2018-11-28 18:03 | 2018-11-29 15:28 |
Reporter: | asusralis | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 2.1.0f1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Setting ListBoxItem's Focusable property allows list selection | ||||
Description: |
When setting ListBoxItem's Focusable property, items in the list should not be selectable. This works in WPF, but not in Noesis. Reference: https://www.noesisengine.com/forums/viewtopic.php?f=3&t=1528 |
||||
Tags: | |||||
Steps To Reproduce: |
<ListBox.ItemContainerStyle> <Style TargetType="ListBoxItem"> <Setter Property="Focusable" Value="False"/> </Style> </ListBox.ItemContainerStyle> |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
850 | [NoesisGUI] Unity3D | major | always | 2016-03-18 23:30 | 2018-11-29 15:18 |
Reporter: | Erio | Platform: | i7-4790k, GTX980, 32GB DDR3 RAM | ||
Assigned To: | sfernandez | OS: | Windows 64b | ||
Priority: | normal | OS Version: | 10 | ||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Xaml Display down Y axis | ||||
Description: |
Hey guys, I just found something "interesting", if you have any idea as of how to fix it, please let me know. Now, the problem: http://puu.sh/nKxIg/b04919454b.jpg http://puu.sh/nKxW7/2bd9ffa8fe.jpg The control should be centered but it's being put a bit down. the amount change with the window size. Regarding the clicks however, they still are positionned correctly, so it's correctly hitting the buttons for the hover events etc etc but it's doing this weird visual thing. It works well in the editor and I'm using 1.2.5f10 of NoesisGUI. ----- No, it was not happening with Unity 5.3. I am using the default so it's in the User Player Settings. so, it's the Forward Rendering Path. If I do move the window around my screens the placement doesn't change. But if I do resize it, it does xD The effect is indeed extremely weird. THE WORSE being that it works perfectly in the editor "play"... xD ---- |
||||
Tags: | |||||
Steps To Reproduce: |
Import NoesisGUI in Unity 5.4.0b10 editor Add a new NoesisGUIPanel to Camera Select a XAML (for example Style) Press play in editor (will display correctly) Press Build & run Select exe location See that it's not being displayed correctly in standalone mode. |
||||
Additional Information: |
Thread: http://www.noesisengine.com/forums/viewtopic.php?f=3&t=893&p=4853#p4853 I do included a unitypackage for a setup I made showing it |
||||
Attached Files: |
NoesisGUIUnity5.4.0b10.unitypackage (19,860 bytes) 2016-03-18 23:30 https://www.noesisengine.com/bugs/file_download.php?file_id=629&type=bug |
||||
Notes | |
(0003611)
Erio 2016-03-18 23:33 |
Note: Resizing the window will (allowing it at first in the player settings) will change the space between the top of the window and the top of the xaml. |
(0003617)
jsantos 2016-03-21 15:08 |
Thanks for the report Erio! |
(0005339)
sfernandez 2018-11-23 11:54 |
If this is no longer happening, could we close it? |
(0005351)
Erio 2018-11-29 15:18 |
I imagine this has been fixed with the use of most recent NoesisGUI versions and Unity (since this is fairly old now), but I didn't try so I could not tell. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
660 | [NoesisGUI] Unity3D | major | N/A | 2015-05-04 14:56 | 2018-11-27 19:55 |
Reporter: | easylaser | Platform: | Android | ||
Assigned To: | jsantos | OS: | Android | ||
Priority: | immediate | OS Version: | 4 and 5 | ||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b4 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | Feature request: Possibility to use systems fonts | ||||
Description: |
Hi, Most android distributions have a lot of common fonts in /system/fonts. I want the possibility to use those fonts and other "non asset" fonts in Noesis Gui. In our case, we want to let the customer download fonts at a later time |
||||
Tags: | Damalini | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0002619)
2015-05-15 07:57 |
bump |
(0002623)
sfernandez 2015-05-19 09:43 |
We will study this request and provide you a quote for this specific task. |
(0004943)
jsantos 2017-12-14 19:22 |
We are adding support for system fonts in 2.1. For now, it is implemented only in Windows. |
(0005347)
jsantos 2018-11-27 19:54 |
Already implemented for Windows, macOS, Linux, iOS and Android |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1344 | [NoesisGUI] C++ SDK | major | always | 2018-11-21 11:00 | 2018-11-24 01:33 |
Reporter: | a.devaykin | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.0b2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b4 | ||
Target Version: | 2.2.0 | ||||
Platform: | Windows | ||||
Summary: | TabControl.ContentTemplate only displayed when ContentPresenter is direct child of DataTamplate | ||||
Description: |
XAML markup that worked in the stable version does not work in preview as the title says. Here is the basic example: ... <TabControl TabStripPlacement="Left" Height="300"> <TabControl.ContentTemplate> <DataTemplate> <Grid> <ContentPresenter Content="{Binding}" Width="230" Margin="20" /> </Grid> <!-- Uncomment this line and text will be visible! --> <!--<ContentPresenter Content="{Binding}" Width="230" Margin="20" />--> </DataTemplate> </TabControl.ContentTemplate> ... Here if I wrap ContentPresenter in a Grid or other elements it won't be displayed when the tab is selected. Removing any wrappers and making ContentPresenter direct child of DataTemplate solves the problem, but the no custom content template layout is possible. |
||||
Tags: | |||||
Steps To Reproduce: | Check out the attached changed HelloWorld example from official Samples directory. | ||||
Additional Information: | |||||
Attached Files: |
HelloWorld.zip (47,514 bytes) 2018-11-21 11:00 https://www.noesisengine.com/bugs/file_download.php?file_id=946&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
620 | [NoesisGUI] C++ SDK | feature | always | 2015-03-25 17:07 | 2018-11-23 19:45 |
Reporter: | ZanAlex | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b1 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | Drag'n drop implementation | ||||
Description: | Even though the drag'n drop example is very useful and the behaviour can be quite easily implemented, having the full set of DragEnter/DragOver/DragLeave/Drop events implemented would be very valuable. In this current state, one have to reimplement all of these behaviours with all the troubles caused by mouse capture everytime one need drag'n drop behaviour. It makes duplicated code everywhere this behaviour is needed. In my opinion, it is the kind of feature that is expected from an UI framework and not having to bother with part of this thing would be brilliant. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0002363)
sfernandez 2015-03-25 22:10 |
We agree that Drag & Drop events are important, so we have plans to include them in our next major version. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1138 | [NoesisGUI] C++ SDK | minor | always | 2017-08-24 09:14 | 2018-11-23 19:44 |
Reporter: | realesmedia | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.0.2f2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b4 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | Hide context menu after focus inside | ||||
Description: |
I create custom context menu on right mouse button. When context menu shows I can close it by clicking outside of the context menu. If I click on active elements (such as slider, buttons, checkitems) inside custom context menu I can't close it by clicking outside. I temporarily add OnMouseLeave event with next code: menu->SetIsOpen(false); but it crashed on Win7 in xaml view MouseMove(). |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | Forum topic: http://www.noesisengine.com/forums/viewtopic.php?f=3&t=1153 | ||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1054 | [NoesisGUI] C# SDK | major | always | 2017-04-12 12:06 | 2018-11-23 19:33 |
Reporter: | ai_enabled | Platform: | PC | ||
Assigned To: | sfernandez | OS: | Windows | ||
Priority: | normal | OS Version: | 10 x64 | ||
Status: | assigned | Product Version: | 1.3.0 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Cannot bind StaticResource of type Double to dependency property of type Double | ||||
Description: |
Hi guys, I cannot use double value defined in ResourceDictionary as static resource for style: <system:Double x:Key="GameMenuWindowWidth">526</system:Double> <Style TargetType="{x:Type core:GameWindow}"> <Setter Property="WindowWidth" Value="{StaticResource GameMenuWindowWidth}" /> </Style> Noesis.Error+NoesisException: Invalid value 'Boxed<Float32>' for property '.?AVTypeClass@Core@Noesis@@.WindowWidth' It seems NoesisGUI consider every system:Double property to be Float32 (system:Single), but dependency property is expecting value of type double. Regards! |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
System Description | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1360 | [NoesisGUI] C++ SDK | major | always | 2018-11-22 17:45 | 2018-11-23 17:32 |
Reporter: | tkawa | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.2.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b4 | ||
Target Version: | 2.2.0 | ||||
Platform: | Windows | ||||
Summary: | MouseDown/Up events come to owner control when click to context menu. | ||||
Description: |
See: https://www.noesisengine.com/forums/viewtopic.php?f=3&t=1508 |
||||
Tags: | C++ | ||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1352 | [NoesisGUI] C++ SDK | minor | have not tried | 2018-11-21 13:50 | 2018-11-23 16:58 |
Reporter: | jsantos | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b1 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | Loaded event raised twice when UpdateLayout is called on children. | ||||
Description: | If you call UpdateLayout() on children of an element from its Loaded event, then Loaded is raised twice on the children and error is thrown. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
508 | [NoesisGUI] Unity3D | major | always | 2014-12-03 00:01 | 2018-11-23 16:52 |
Reporter: | MrHayato | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | high | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.1.0f1 | ||
Target Version: | |||||
Platform: | Any | ||||
Summary: | ColorAnimationUsingKeyframes does not animate the dependency property | ||||
Description: |
When using a ColorAnimationUsingKeyframes, and you use Dynamic Resources as the value for the keyframes, the actual resource itself gets modified. For example: <Color x:Key="Theme1Color">#FFFFFFFF</Color> <Color x:Key="Theme2Color">#FF000000</Color> <Storyboard x:Key="ChangeSelectedTextColorTransition"> <ColorAnimationUsingKeyFrames BeginTime="0:0:0" Storyboard.TargetProperty="(TextBlock.Foreground).(SolidColorBrush.Color)"> <EasingColorKeyFrame KeyTime="0:0:0" Value="{DynamicResource Theme1Color}" /> <EasingColorKeyFrame KeyTime="0:0:0.250" Value="{DynamicResource Theme2Color}" /> </ColorAnimationUsingKeyFrames> </Storyboard> When running this storyboard via C# and passing in a TextBlock as the FrameworkElement to animate, it looks like the textblock is animating from white to black as it should. However, everything else that uses the Theme1Color resource is now black. It seems like the animation isn't animating the TextBlock's color, but it's actually modifying the Color resource itself. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0001856)
MrHayato 2014-12-03 00:41 |
Actually, turns out the problem is because the TextBlock has a binding to Foreground like so: <TextBlock Foreground="{Binding TextColorBrush}" /> And TextColor is a reference to the original Color brush (which I get from the ResourceDictionary programmatically), and is getting modified because of the binding. Setting Mode=OneWay does not solve the problem unfortunately. |
(0002000)
sfernandez 2015-01-21 13:04 |
Hi, I tried the following sample in WPF: --- <Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Background="Red"> <Grid.Resources> <Color x:Key="Theme1Color">#FFFFFFFF</Color> <Color x:Key="Theme2Color">#FF000000</Color> <SolidColorBrush x:Key="TextColorBrush" Color="{DynamicResource Theme1Color}"/> <Storyboard x:Key="ChangeSelectedTextColorTransition"> <ColorAnimationUsingKeyFrames Storyboard.TargetName="txt" Storyboard.TargetProperty="(TextBlock.Foreground).(SolidColorBrush.Color)"> <EasingColorKeyFrame KeyTime="0:0:0" Value="{StaticResource Theme1Color}" /> <EasingColorKeyFrame KeyTime="0:0:2" Value="{StaticResource Theme2Color}" /> </ColorAnimationUsingKeyFrames> </Storyboard> </Grid.Resources> <Grid.Triggers> <EventTrigger RoutedEvent="FrameworkElement.Loaded"> <EventTrigger.Actions> <BeginStoryboard Storyboard="{StaticResource ChangeSelectedTextColorTransition}"/> </EventTrigger.Actions> </EventTrigger> </Grid.Triggers> <Rectangle x:Name="rect" Fill="{StaticResource TextColorBrush}" Width="200" Height="100"/> <TextBlock x:Name="txt" Text="Hello World" FontSize="40" Foreground="{Binding Fill, ElementName=rect}"/> </Grid> --- And the animation is modifying the color of the rectangle too, so I think we are doing the correct thing here. You can Freeze the resource obtained from the ResourceDictionary, so it gets cloned when animation tries to modify it. Let me know if this solution works for you. |
(0002015)
MrHayato 2015-01-26 21:56 |
I'm not sure that's a viable solution. To me, the Color itself should not change. It should be making a copy of the color and animating that rather than modifying the original resource. We use the same color key throughout the application so it's not possible for us to Freeze the value every time we need to animate it. Right now, we have to animate everything through code to prevent this issue. Our current solution is something along the lines of: private ColorAnimation CreateSelectAnimation() { var colorAnim = new ColorAnimation(); colorAnim.SetFrom(new NullableColor(Theming.GetColor("BlackColor"))); colorAnim.SetTo(new NullableColor(Theming.GetColor("Theme1Color"))); colorAnim.SetDuration(new Duration(new TimeSpan(0.250))); return colorAnim; } |
(0002016)
MrHayato 2015-01-26 22:24 |
And this is our other animation code for animating a color when we don't know what color we're animating from: private void Animate(TextBlock depObj, Action callback) { var sb = new Storyboard(); var currentColor = depObj.GetForeground().As<SolidColorBrush>().GetColor(); //TODO: Refactor once we get DataTriggers. //Bug in Noesis prevents us from using the values directly in a storyboard... depObj.SetForeground(new SolidColorBrush(new Color(currentColor.GetRedF(), currentColor.GetGreenF(), currentColor.GetBlueF(), currentColor.GetAlphaF()))); Storyboard.SetTarget(_selectAnimation, depObj); Storyboard.SetTargetProperty(_selectAnimation, new PropertyPath("(TextBlock.Foreground).(SolidColorBrush.Color)")); sb.GetChildren().Add(_selectAnimation); BeginStoryboard(depObj, sb, callback); } |
(0002079)
MrHayato 2015-02-13 06:43 |
Hi Sergio, I looked into this a little further as I encountered this problem again. The way to fix it in WPF is to add 'x:Shared="False"' to the SolorColorBrush. This isn't supported in the Unity version of Noesis, but it would solve the problem. This creates a new instance of the color object instead of using the reference. Here's the working WPF example: <Grid Background="Red"> <Grid.Resources> <Color x:Key="Theme1Color">#FFFFFFFF</Color> <Color x:Key="Theme2Color">#FF000000</Color> <SolidColorBrush x:Key="Theme1Brush" x:Shared="False" Color="{StaticResource Theme1Color}" /> <SolidColorBrush x:Key="Theme2Brush" x:Shared="False" Color="{StaticResource Theme2Color}" /> <Storyboard x:Key="ChangeSelectedTextColorTransition"> <ColorAnimationUsingKeyFrames RepeatBehavior="Forever" AutoReverse="True" Storyboard.TargetName="txt" Storyboard.TargetProperty="(TextBlock.Foreground).(SolidColorBrush.Color)"> <EasingColorKeyFrame KeyTime="0:0:0" Value="{StaticResource Theme1Color}" /> <EasingColorKeyFrame KeyTime="0:0:2" Value="{StaticResource Theme2Color}" /> </ColorAnimationUsingKeyFrames> </Storyboard> </Grid.Resources> <Grid.Triggers> <EventTrigger RoutedEvent="FrameworkElement.Loaded"> <EventTrigger.Actions> <BeginStoryboard Storyboard="{StaticResource ChangeSelectedTextColorTransition}" /> </EventTrigger.Actions> </EventTrigger> </Grid.Triggers> <Rectangle x:Name="rect" Fill="{StaticResource Theme1Brush}" Width="200" Height="100" /> <TextBlock x:Name="txt" Text="Hello World" FontSize="40" Foreground="{StaticResource Theme1Brush}" /> </Grid> |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
573 | [NoesisGUI] Unity3D | minor | always | 2015-02-16 01:15 | 2018-11-23 16:32 |
Reporter: | elecman | Platform: | Win 7 | ||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b1 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | FontFamily compatibility with Inkscape | ||||
Description: | The FontFamily property exported by inkscape does not include a hash (#) character, causing a parsing error. This can be added manually, but to include the workflow, it would be great if you can interpret FontFamily="Arial" the same way as FontFamily="#Arial". This would require the font to be in the same folder as the xaml, but that is an acceptable trade off. | ||||
Tags: | |||||
Steps To Reproduce: |
-Open Inkscape 0.91 -Add text. -Export as xaml. -Remove the span (not supported yet) and put the text in the textbox item. -Add the xaml in a Unity NoesisGUI project. -See the console for the parsing error. |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0004854)
elecman 2017-10-27 11:15 |
Any update on this? |
(0004860)
sfernandez 2017-10-30 12:40 |
Nothing new on this issue yet. We haven't decided because using a FontFamily without the # has a different meaning, it indicates that you are using a system font. We'll discuss about this topic again and let you know what are our plans. |
(0004869)
elecman 2017-10-31 01:13 |
It will be fine if I just modify the NoesisGUI code dealing with this. Which part do I need to modify? |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1350 | [NoesisGUI] C++ SDK | minor | have not tried | 2018-11-21 13:44 | 2018-11-23 16:31 |
Reporter: | jsantos | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b4 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | Incorrect layout of Grid | ||||
Description: | http://www.noesisengine.com/forums/viewtopic.php?f=3&t=656 | ||||
Tags: | |||||
Steps To Reproduce: |
<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="200" /> <ColumnDefinition Width="*" /> </Grid.ColumnDefinitions> <Grid.RowDefinitions> <RowDefinition Height="*" /> <RowDefinition Height="Auto" /> </Grid.RowDefinitions> <Ellipse Grid.Column="0" Grid.Row="0" Width="200" Height="3000" Fill="Red"/> <StackPanel Grid.Column="0" Grid.Row="1"> <Button Content="Save Planet" Margin="2"/> <Button Content="Revert Planet" Margin="2"/> <Button Content="Randomize Planet" Margin="2"/> </StackPanel> </Grid> </Page> |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
816 | [NoesisGUI] Unity3D | minor | random | 2016-02-01 22:39 | 2018-11-23 13:19 |
Reporter: | Scherub | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.1.0f1 | ||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Animating "(TextElement.Foreground).(Brush.Opacity)" leads sometimes to unexpected results | ||||
Description: |
I've created a TextBox style that occasionally has some unexpected results due to the following line: [code] <DoubleAnimation Storyboard.TargetName="Border" Storyboard.TargetProperty="(TextElement.Foreground).(Brush.Opacity)" To="0.5" /> [/code] The results so far only apply to a ReadOnly textbox and reach from everything as expected over black font to non-visible font (but the text is there). I've put the whole Style under "Additional Information". |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: |
<Style TargetType="TextBox"> <Setter Property="Background" Value="{DynamicResource ControlBackgroundBrush}" /> <Setter Property="BorderThickness" Value="{DynamicResource TextBoxBorderThickness}" /> <Setter Property="Foreground" Value="{DynamicResource ControlForegroundBrush}" /> <Setter Property="VerticalContentAlignment" Value="Center" /> <Setter Property="Padding" Value="5,2" /> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="TextBox"> <Grid> <VisualStateManager.VisualStateGroups> <VisualStateGroup x:Name="CommonStates"> <VisualStateGroup.Transitions> <VisualTransition GeneratedDuration="0:0:0.1" To="MouseOver"/> <VisualTransition GeneratedDuration="0:0:0.3" From="MouseOver" /> <VisualTransition GeneratedDuration="0:0:0.1" To="Disabled" /> <VisualTransition GeneratedDuration="0:0:0.1" From="Disabled" /> <VisualTransition GeneratedDuration="0:0:0.1" To="ReadOnly"/> <VisualTransition GeneratedDuration="0:0:0.1" From="ReadOnly"/> </VisualStateGroup.Transitions> <VisualState x:Name="Normal" /> <VisualState x:Name="Disabled"> <Storyboard> <DoubleAnimation Storyboard.TargetName="FocusBorder" Storyboard.TargetProperty="(Border.Background).(Brush.Opacity)" To="0.2" /> <ColorAnimation Storyboard.TargetName="Border" Storyboard.TargetProperty="(Border.BorderBrush).(SolidColorBrush.Color)" To="{DynamicResource ControlDisabledColor}" /> </Storyboard> </VisualState> <VisualState x:Name="ReadOnly"> <Storyboard> <DoubleAnimation Storyboard.TargetName="Border" Storyboard.TargetProperty="(Border.BorderBrush).(Brush.Opacity)" To="0.3" /> <DoubleAnimation Storyboard.TargetName="Border" Storyboard.TargetProperty="(TextElement.Foreground).(Brush.Opacity)" To="0.5" /> </Storyboard> </VisualState> <VisualState x:Name="MouseOver"> <Storyboard> <DoubleAnimation Storyboard.TargetName="Border" Storyboard.TargetProperty="(Border.BorderBrush).(Brush.Opacity)" To="0.8" /> </Storyboard> </VisualState> </VisualStateGroup> <VisualStateGroup x:Name="FocusStates"> <VisualStateGroup.Transitions> <VisualTransition GeneratedDuration="0:0:0.1" To="Focused"/> <VisualTransition From="Focused" GeneratedDuration="0:0:0.3"/> </VisualStateGroup.Transitions> <VisualState x:Name="Unfocused" /> <VisualState x:Name="Focused"> <Storyboard> <DoubleAnimation Storyboard.TargetName="FocusBorder" Storyboard.TargetProperty="(Border.BorderBrush).(Brush.Opacity)" To="1.0" /> <DoubleAnimation Storyboard.TargetName="FocusBorder" Storyboard.TargetProperty="(Border.Background).(Brush.Opacity)" To="0.1" /> </Storyboard> </VisualState> </VisualStateGroup> </VisualStateManager.VisualStateGroups> <Border Name="Border" CornerRadius="{DynamicResource ControlCornerRadiusSmall}" Padding="{TemplateBinding Padding}" Background="{TemplateBinding Background}" BorderThickness="{TemplateBinding BorderThickness}"> <Border.BorderBrush> <SolidColorBrush Color="{DynamicResource ControlBorderColor}" Opacity="0.5" /> </Border.BorderBrush> <ScrollViewer x:Name="PART_ContentHost" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" /> </Border> <Border Name="FocusBorder" CornerRadius="{DynamicResource ControlCornerRadiusSmall}" BorderThickness="{DynamicResource TextBoxBorderThickness}"> <Border.Background> <SolidColorBrush Color="{DynamicResource ControlFocusColor}" Opacity="0.0" /> </Border.Background> <Border.BorderBrush> <SolidColorBrush Color="{DynamicResource ControlBorderColor}" Opacity="0.0" /> </Border.BorderBrush> </Border> </Grid> </ControlTemplate> </Setter.Value> </Setter> </Style> |
||||
Attached Files: | |||||
Notes | |
(0003508)
sfernandez 2016-02-02 13:06 |
The behavior is unexpected as you are animating a DynamicResource brush that it is probably shared and animated in other places. Anyway I tried this Style in Kaxaml and it complains about trying to animate an immutable object. Besides inherited properties doesn't transfer its values beyond the ControlTemplate, so if you want to modify the Foreground property of a Control you should do it using a Setter that targets the control itself: <ControlTemplate TargetType="TextBox"> ... <ControlTemplate.Triggers> <Trigger Property="IsReadOnly" Value="True"> <Setter Property="Foreground" Value="{DynamicResource ControlReadOnlyBrush}"/> </Trigger> <ControlTemplate.Triggers> </ControlTemplate> |
(0003509)
Scherub 2016-02-02 13:55 |
Ah, of course. I forgot that it was a shared resource. I had the same problem with the border and background too until I instantiated a new SolidColorBrush from a color. I'll try to change it, thanks! :) |
(0003510)
jsantos 2016-02-02 15:04 |
Anyway, Sergio, shouldn't we be giving the same error as KaXaml/WPF? |
(0003513)
sfernandez 2016-02-02 18:02 |
Yes, this is something we have to fix. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
799 | [NoesisGUI] Unity3D | minor | always | 2016-01-18 13:50 | 2018-11-23 13:03 |
Reporter: | Scherub | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Focused controls inside ScrollViewer disappear when size of ScrollViewer is reduced | ||||
Description: |
I've uploaded a screenshot displaying the problem. But as a short explanation: I have a "create user" dialog that is divided into a 'form' area and a message area. The form area can take all the space that's the available and the content is surrounded by a ScrollViewer. The message area just takes the space that's required. Now in a worst case scenario this dialog displays lots of messages. The Scollbars appear as they should but if the user is in the "password confirmation" textbox and now changes the password that doesn't match the other password, the currently focused textbox disapppears (partially) as the ScrollViewer doesn't keep it inside its visible area. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
AccountManagement - Create User 4.jpg (124,213 bytes) 2016-01-18 13:51 https://www.noesisengine.com/bugs/file_download.php?file_id=608&type=bug |
||||
Notes | |
(0003462)
sfernandez 2016-01-19 07:09 |
Yes, I confirmed it is a bug. We will fix it as soon as possible. Meanwhile you can force the focused TextBox to show entirely by calling BringIntoView when you add messages to the message area. |
(0003463)
Scherub 2016-01-19 17:14 |
Okay, thanks a lot. :) |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
786 | [NoesisGUI] Unity3D | minor | always | 2015-12-20 14:29 | 2018-11-23 12:29 |
Reporter: | Scherub | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b1 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | ComboBox-Popup stays open when containing UserControls switches to hidden | ||||
Description: |
I have an options dialog with various ComboBoxes. When I open a ComboBox (the popup/dropdown of it) and just close (hide) the dialog without mouse interaction (using keyboard or gamepad) the popup stays open. Until this is solved I'll try to use the "IsDropDownOpen"-Property to close it. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
785 | [NoesisGUI] Unity3D | minor | always | 2015-12-19 05:37 | 2018-11-23 12:28 |
Reporter: | Scherub | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | low | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.1.0f1 | ||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Changing content of ToggleButton in Trigger doesn't work | ||||
Description: | As the subject says, changing the content of a toggle button depending on its checked state doesn't work. Also setting the content in the style-setter doesn't work. It works in WPF, though. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
932 | [NoesisGUI] Unity3D | minor | always | 2016-07-27 12:55 | 2018-11-23 12:26 |
Reporter: | ivan_b | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 1.2.6f4 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.1.0f1 | ||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Button in ListBox does not absorb touch events | ||||
Description: | On touch devices when the Button is placed inside the ListBox and you click on the button the item in the ListBox gets selected. Also the Button stay highlighted. | ||||
Tags: | |||||
Steps To Reproduce: |
Start the scene GUI.unity in the project it will be displayed a list with a button inside each element. Every time the button is clicked the containing ListBoxItem will be selected. I have tried on an Android device |
||||
Additional Information: | |||||
Attached Files: |
Assets.zip (1,130,731 bytes) 2016-07-27 12:55 https://www.noesisengine.com/bugs/file_download.php?file_id=690&type=bug |
||||
Notes | |
(0004097)
sfernandez 2016-08-25 19:41 |
Ok, I was able to reproduce the problem with this sample, thank you. We will fix it as soon as possible. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
909 | [NoesisGUI] Unity3D | major | always | 2016-06-11 14:52 | 2018-11-23 12:13 |
Reporter: | roland.tomczak | Platform: | Android | ||
Assigned To: | jsantos | OS: | Android 4.2.2 | ||
Priority: | normal | OS Version: | Android 4.2.2 | ||
Status: | feedback | Product Version: | 1.2.6f3 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | ClipToBounds issue | ||||
Description: |
The issue occurs on a Samsung Galaxy Tab 3 8' (2013). ClipToBounds on a screen-sized item prevent the item to render : The item is simply not displayed. The issue occurs on the GUIPanel being associated with the main camera (but if I render the camera to a texture, I don't have the issue). I don't have the issue on smaller items. I don't have the issue on Lenovo Yoga Tab 3, or on my Samsung Galaxy S6. For now, my only workaround is to overlap two black rectangles over the viewbox (cf repro) in order to "hide" the non-clipped part of the screen. |
||||
Tags: | |||||
Steps To Reproduce: |
The problem occured with this very simple snippet : This very simple snippet : <UserControl> <Grid> <Viewbox x:Name="vbxMain"> <Grid Width="1280" Height="800" ClipToBounds='true'> <Rectangle Width="Auto" Height="Auto" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" /> </Grid> </Viewbox> </Grid> </UserCOntrol> The same with (ClipToBounds is set to the viewbox, not on its content): <UserControl> <Grid> <Viewbox x:Name="vbxMain" ClipToBounds='true'> <Grid Width="1280" Height="800"> <Rectangle Width="Auto" Height="Auto" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" /> </Grid> </Viewbox> </Grid> </UserCOntrol> |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0005341)
sfernandez 2018-11-23 12:13 |
Is this still being an issue with the latest 2.1 version? |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
831 | [NoesisGUI] C# SDK | minor | always | 2016-02-24 11:54 | 2018-11-23 11:52 |
Reporter: | anthonyLeBot | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 1.2.5f8 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b1 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | Datetime binding not working | ||||
Description: |
Hello When binding a textblock to a datetime field, nothing is displayed. If i put a converter, it won't enter into the converter |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
792 | [NoesisGUI] C++ SDK | minor | always | 2016-01-07 15:27 | 2018-11-23 11:40 |
Reporter: | easylaser | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 1.2.5f9 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b3 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | Setter value not restored in a Trigger if animated | ||||
Description: |
As described in this forum post: http://www.noesisengine.com/forums/viewtopic.php?f=3&t=856 If a trigger sets a new Brush and animates it (on the Trigger.EnterActions), when the trigger stops being active, original Brush value is not restored, the animation stays playing. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: |
<Style x:Key="MyStyle" TargetType="{x:Type common:MyComponent}"> <Style.Triggers> <DataTrigger Binding="{Binding State}" Value="Done"> <Setter Property="Background" Value="Green"/> </DataTrigger> <DataTrigger Binding="{Binding State}" Value="Doing"> <Setter Property="Background"> <Setter.Value> <RadialGradientBrush x:Name="RadialGradient" > <GradientStop Color="White" Offset="0.0"/> <GradientStop Color="{StaticResource Color.Active.Bright.Normal}" Offset="1.5"/> </RadialGradientBrush> </Setter.Value> </Setter> <DataTrigger.EnterActions> <BeginStoryboard x:Name="FlashingAnimation"> <Storyboard> <DoubleAnimation x:Name="xAnimation" Storyboard.TargetProperty="Background.RadiusX" From="5" To="1" Duration="0:0:1" AutoReverse="True" RepeatBehavior="Forever" /> <DoubleAnimation x:Name="yAnimation" Storyboard.TargetProperty="Background.RadiusY" From="5" To="1" Duration="0:0:1" AutoReverse="True" RepeatBehavior="Forever" /> </Storyboard> </BeginStoryboard> </DataTrigger.EnterActions> <DataTrigger.ExitActions> <StopStoryboard BeginStoryboardName="FlashingAnimation"/> </DataTrigger.ExitActions> </DataTrigger> </Style.Triggers> </Style> |
||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
789 | [NoesisGUI] Unity3D | major | always | 2015-12-29 09:31 | 2018-11-23 11:39 |
Reporter: | easylaser | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b3 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | Brush animations won't stop playing when leaving DataTrigger. | ||||
Description: | If a trigger sets a new Brush and animates it (on the Trigger.EnterActions), when the trigger stops being active, original Brush value is not restored, the animation stays playing. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | http://www.noesisengine.com/forums/viewtopic.php?f=3&t=856&sid=fcd3b2b04b06023400cb3c2965c22ad0 | ||||
Attached Files: | |||||
Notes | |
(0003425)
sfernandez 2015-12-29 12:24 (Last edited: 2015-12-29 12:27) |
Hi, While we solve this bug, you can use another Storyboard in the Trigger.ExitActions to transition to normal state brush: <Style x:Key="MyStyle" TargetType="{x:Type common:MyComponent}"> <Setter Property="Background"> <Setter.Value> <RadialGradientBrush> <GradientStop Color="Green" Offset="0.0"/> <GradientStop Color="Green" Offset="1.5"/> </RadialGradientBrush> </Setter.Value> </Setter> <Style.Triggers> <DataTrigger Binding="{Binding State}" Value="Doing"> <DataTrigger.EnterActions> <BeginStoryboard> <Storyboard> <ColorAnimation Storyboard.TargetProperty="Background.GradientStops[0].Color" To="White" Duration="0:0:0.2"/> <ColorAnimation Storyboard.TargetProperty="Background.GradientStops[1].Color" To="{StaticResource Color.Active.Bright.Normal}" Duration="0:0:0.2"/> <DoubleAnimation Storyboard.TargetProperty="Background.RadiusX" From="5" To="1" Duration="0:0:1" AutoReverse="True" RepeatBehavior="Forever" /> <DoubleAnimation Storyboard.TargetProperty="Background.RadiusY" From="5" To="1" Duration="0:0:1" AutoReverse="True" RepeatBehavior="Forever" /> </Storyboard> </BeginStoryboard> </DataTrigger.EnterActions> <DataTrigger.ExitActions> <BeginStoryboard> <Storyboard> <ColorAnimation Storyboard.TargetProperty="Background.GradientStops[0].Color" To="Green" Duration="0:0:0.5"/> <ColorAnimation Storyboard.TargetProperty="Background.GradientStops[1].Color" To="Green" Duration="0:0:0.2"/> </Storyboard> </BeginStoryboard> </DataTrigger.ExitActions> </DataTrigger> </Style.Triggers> </Style> |
(0003649)
2016-03-23 13:46 |
Thank you. Sadly, this workaround won't cut it for me, as the actual state (as opposed to the minimal example I gave you) is much more complex than the workaround allows. I'll just have to wait until this is fixed instead. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
936 | [NoesisGUI] Unity3D | minor | N/A | 2016-08-17 16:01 | 2018-11-23 11:15 |
Reporter: | Scherub | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.1.0f1 | ||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Property Accessor change isn't detected automatically | ||||
Description: |
In one of my abstract base view models I have a property of type GameField that is also called GameField. During prototyping the setter was public which I now changed (even if I'm still prototyping) to private while also adding a public method that assigned the property instead and also executes some other code. After this change I always got the exception mentioned under 'Additional Information'. Since it was complaining about the PropertyAccessor.Set (that's apparently missing) I thought it might have something to do with the serialization process. After some debugging I also found that NoesisGUI still thinks that the property is 'writable' and so tries to assign a null value. Then it fails as the property has no setter. After manually invoking NoesisGUI to rebuild it worked without trouble. So my question is why it doesn't detect this change? I tried switching it a few times and always end up with the same result. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: |
NotImplementedException: The requested feature is not implemented. Noesis.Extend+PropertyAccessorT`1[System.Object].Set (System.Object instance, System.Object value) (at Assets/Plugins/Proton/Gui/Noesis.Lib/Core/NoesisExtendProps.cs:36) Noesis.Extend.SetPropertyValue[Object] (Noesis.PropertyAccessor prop, System.Object instance, System.Object value) (at Assets/Plugins/Proton/Gui/Noesis.Lib/Core/NoesisExtend.cs:3027) Noesis.Extend.SetPropertyValue_BaseComponent (IntPtr nativeType, Int32 propertyIndex, IntPtr cPtr, IntPtr valType, IntPtr val) (at Assets/Plugins/Proton/Gui/Noesis.Lib/Core/NoesisExtend.cs:3407) UnityEngine.Debug:LogException(Exception) Noesis.Debug:LogException(Exception) (at Assets/Plugins/Proton/Gui/Noesis.Lib/Core/NoesisDebug.cs:24) Noesis.Error:SetNativePendingError(Exception) (at Assets/Plugins/Proton/Gui/Noesis.Lib/Core/NoesisError.cs:33) Noesis.Extend:SetPropertyValue_BaseComponent(IntPtr, Int32, IntPtr, IntPtr, IntPtr) (at Assets/Plugins/Proton/Gui/Noesis.Lib/Core/NoesisExtend.cs:3412) System.Object:wrapper_native_00007FFF87BF6F70(IntPtr, IntPtr) Noesis.NoesisGUI_PINVOKE:Collection_Add(HandleRef, HandleRef) (at Assets/Plugins/Proton/Gui/Noesis.Lib/Proxies/NoesisGUI_PINVOKE.cs:53143) Noesis.Collection:Add(Object) (at Assets/Plugins/Proton/Gui/Noesis.Lib/Proxies/Collection.cs:163) LifeSim.Gui.Game.GameView:OnDisplayUserControlAdded(DisplayUserControl) (at Assets/[Gui]/Game/GameViewModel.cs:126) Proton.Unity.Gui.Noesis.GuiUserControl:AddDisplayEntry(DisplayUserControl) (at Assets/Libraries/Proton/Gui/Noesis/BaseUserControl/GuiUserControl.cs:218) LifeSim.Gui.Game.GameView:OnEndPostInit() (at Assets/[Gui]/Game/GameViewModel.cs:99) Proton.Unity.Gui.Noesis.GuiUserControl:OnPostInit() (at Assets/Libraries/Proton/Gui/Noesis/BaseUserControl/GuiUserControl.cs:119) System.Reflection.MethodBase:Invoke(Object, Object[]) Noesis.Extend:OnPostInit(IntPtr, IntPtr) (at Assets/Plugins/Proton/Gui/Noesis.Lib/Core/NoesisExtend.cs:1632) System.Object:wrapper_native_00007FFF87BF6F70(IntPtr, IntPtr) Noesis.NoesisGUI_PINVOKE:Collection_Add(HandleRef, HandleRef) (at Assets/Plugins/Proton/Gui/Noesis.Lib/Proxies/NoesisGUI_PINVOKE.cs:53143) Noesis.Collection:Add(Object) (at Assets/Plugins/Proton/Gui/Noesis.Lib/Proxies/Collection.cs:163) Proton.Unity.Gui.Noesis.BaseRootViewModel:OnNavigationUserControlAdded(NavigationUserControl) (at Assets/Libraries/Proton/Gui/Noesis/BaseClasses/BaseRootViewModel.cs:177) Proton.Unity.Gui.Noesis.BaseRootViewModel:AddNavigationEntry(NavigationUserControl) (at Assets/Libraries/Proton/Gui/Noesis/BaseClasses/BaseRootViewModel.cs:156) LifeSim.Gui.RootViewModel:OnBeginPostInit() (at Assets/[Gui]/Root/RootViewModel.cs:16) Proton.Unity.Gui.Noesis.BaseRootViewModel:OnPostInit() (at Assets/Libraries/Proton/Gui/Noesis/BaseClasses/BaseRootViewModel.cs:71) Proton.Unity.Gui.Noesis.GuiBehaviour:SetRootViewModel() (at Assets/Libraries/Proton/Gui/Noesis/GuiBehaviour.cs:243) Proton.Unity.Gui.Noesis.GuiBehaviour:Start() (at Assets/Libraries/Proton/Gui/Noesis/GuiBehaviour.cs:120) |
||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
250 | [NoesisGUI] Unity3D | major | always | 2013-08-29 08:16 | 2018-11-23 11:08 |
Reporter: | ai_enabled | Platform: | Unity | ||
Assigned To: | sfernandez | OS: | Windows | ||
Priority: | low | OS Version: | 7 | ||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | VisualBrush won't shown | ||||
Description: | I attached example XAML, which works in Kaxaml. | ||||
Tags: | |||||
Steps To Reproduce: |
<!-- This example shows how to use a VisualBrush to paint shapes and controls. The code behind file, PaintingWithImages.xaml.cs, contains a default constructor that initializes the markup defined here. --> <UserControl xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" > <StackPanel> <StackPanel.Background> <VisualBrush Opacity="0.1" Viewport="0,0,250,30" ViewportUnits="Absolute" TileMode="Tile" Stretch="None"> <VisualBrush.Visual> <Border Width="250" Background="Transparent"> <TextBlock Margin="5" FontFamily="Palatino Linotype" FontSize="20px" > Painting with VisualBrush <TextBlock.Foreground> <LinearGradientBrush StartPoint="0,0.5" EndPoint="1,0.5"> <LinearGradientBrush.GradientStops> <GradientStop Offset="0.0" Color="Black" /> <GradientStop Offset="1.0" Color="Blue" /> </LinearGradientBrush.GradientStops> </LinearGradientBrush> </TextBlock.Foreground> </TextBlock> </Border> </VisualBrush.Visual> <VisualBrush.RelativeTransform> <RotateTransform Angle="0" CenterX="0.5" CenterY="0.5" /> </VisualBrush.RelativeTransform> </VisualBrush> </StackPanel.Background> <TextBlock Name="test"></TextBlock> <Border Margin="0,10,0,30" BorderBrush="Black" BorderThickness="1" > <Border.Background> <LinearGradientBrush StartPoint="0,0.5" EndPoint="1,0.5"> <LinearGradientBrush.GradientStops> <GradientStop Offset="0.0" Color="#CCCCFF" /> <GradientStop Offset="1.0" Color="Transparent" /> </LinearGradientBrush.GradientStops> </LinearGradientBrush> </Border.Background> <TextBlock Margin="10"> <Bold>Painting with a VisualBrush</Bold><LineBreak/><LineBreak/> A VisualBrush can be used to paint areas with text, shapes, controls, and more. </TextBlock> </Border> <StackPanel Orientation="Horizontal" Margin="10" Background="White" HorizontalAlignment="Left"> <Rectangle Width="150" Height="150" Stroke="Black" Margin="0,0,5,0"> <Rectangle.Fill> <VisualBrush Viewport="0,0,95,35" ViewportUnits="Absolute" TileMode="Tile"> <VisualBrush.Visual> <StackPanel Background="Transparent"> <TextBlock FontSize="10pt" Margin="10">Hello, World!</TextBlock> </StackPanel> </VisualBrush.Visual> </VisualBrush> </Rectangle.Fill> </Rectangle> <Rectangle Width="150" Height="150" Stroke="Black" Margin="5,0,5,0"> <Rectangle.Fill> <VisualBrush> <VisualBrush.Visual> <StackPanel Background="Transparent"> <TextBlock FontSize="10pt" Margin="10">Hello, World!</TextBlock> </StackPanel> </VisualBrush.Visual> </VisualBrush> </Rectangle.Fill> </Rectangle> <Rectangle Width="150" Height="150" Stroke="Black" Margin="5,0,0,0"> <Rectangle.Fill> <VisualBrush Viewport="0,0,95,35" ViewportUnits="Absolute" TileMode="Tile"> <VisualBrush.Visual> <StackPanel Background="Transparent"> <TextBlock FontSize="10pt" Margin="10">Hello, World!</TextBlock> </StackPanel> </VisualBrush.Visual> <VisualBrush.RelativeTransform> <RotateTransform Angle="45" CenterX="0.5" CenterY="0.5" /> </VisualBrush.RelativeTransform> </VisualBrush> </Rectangle.Fill> </Rectangle> </StackPanel> <StackPanel Orientation="Horizontal" Margin="10" Background="White" HorizontalAlignment="Left"> <Rectangle Width="150" Height="150" Stroke="Black" Margin="0,0,5,0"> <Rectangle.Fill> <VisualBrush Viewport="0,0,50,50" ViewportUnits="Absolute" TileMode="Tile"> <VisualBrush.Visual> <StackPanel Background="Transparent"> <Rectangle Width="25" Height="25" Fill="Red" Margin="2" /> <TextBlock FontSize="10pt" Margin="2">Hello, World!</TextBlock> <Button Margin="2">A Button</Button> </StackPanel> </VisualBrush.Visual> </VisualBrush> </Rectangle.Fill> </Rectangle> <Rectangle Width="150" Height="150" Stroke="Black" Margin="5,0,5,0"> <Rectangle.Fill> <VisualBrush> <VisualBrush.Visual> <StackPanel Background="Transparent"> <Rectangle Width="25" Height="25" Fill="Red" Margin="2" /> <TextBlock FontSize="10pt" Margin="2">Hello, World!</TextBlock> <Button Margin="2">A Button</Button> </StackPanel> </VisualBrush.Visual> </VisualBrush> </Rectangle.Fill> </Rectangle> <Rectangle Width="150" Height="150" Stroke="Black" Margin="5,0,0,0"> <Rectangle.Fill> <VisualBrush Viewport="0,0,50,50" ViewportUnits="Absolute" TileMode="Tile"> <VisualBrush.Visual> <StackPanel Background="Transparent"> <Rectangle Width="25" Height="25" Fill="Red" Margin="2" /> <TextBlock FontSize="10pt" Margin="2">Hello, World!</TextBlock> <Button Margin="2">A Button</Button> </StackPanel> </VisualBrush.Visual> <VisualBrush.RelativeTransform> <RotateTransform Angle="45" CenterX="0.5" CenterY="0.5" /> </VisualBrush.RelativeTransform> </VisualBrush> </Rectangle.Fill> </Rectangle> </StackPanel> </StackPanel> </UserControl> |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0000708)
sfernandez 2013-08-29 10:57 |
Our current VisualBrush implementation only works when VisualBrush.Visual refers to a Visual in the logical tree, for example: <Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <StackPanel VerticalAlignment="Center" Width="400"> <StackPanel x:Name="Source" Orientation="Horizontal"> <TextBlock Text="Hello World" Margin="2"/> <Button Content="A button" Margin="2"/> <Rectangle Width="100" Fill="Red" Margin="2"/> </StackPanel> <Rectangle Stroke="Black" Height="100" Margin="0,10"> <Rectangle.Fill> <VisualBrush Visual="{Binding ElementName=Source}" Stretch="Uniform"/> </Rectangle.Fill> </Rectangle> </StackPanel> </Grid> We will create a ticket in our feature request database to support inline definition of the VisualBrush.Visual property. Do you need this feature right now? |
(0000709)
ai_enabled 2013-08-29 11:02 |
I need VisualBrush or DrawingGeometry, without it I can't skin some controls. For example, I want to make health bar with small gradation rectangles. I have a XAML for it and it works good in WPF, but I can't port it to NoesisGUI. We decide not to use bitmap images for this, because our UI must be 100% vector-based and scalable. |
(0000710)
sfernandez 2013-08-29 11:17 |
Could you please paste here that health bar code to try figure out how to do it with current implemented features? |
(0000711)
ai_enabled 2013-08-29 12:32 |
I need to implement bar like this: http://screencloud.net/v/EAzn I have implemented bar this way: <Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <Grid.Resources> <Geometry x:Key="BarBrushPath">F1M200,2C200,2 207,2 207,2 207,2 220,15 220,15 220,15 213,15 213,15 213,15 200,2 200,2z M191,2C191,2 198,2 198,2 198,2 211,15 211,15 211,15 204,15 204,15 204,15 191,2 191,2z M182,2C182,2 189,2 189,2 189,2 202,15 202,15 202,15 195,15 195,15 195,15 182,2 182,2z M173,2C173,2 180,2 180,2 180,2 193,15 193,15 193,15 186,15 186,15 186,15 173,2 173,2z M164,2C164,2 171,2 171,2 171,2 184,15 184,15 184,15 177,15 177,15 177,15 164,2 164,2z M155,2C155,2 162,2 162,2 162,2 175,15 175,15 175,15 168,15 168,15 168,15 155,2 155,2z M146,2C146,2 153,2 153,2 153,2 166,15 166,15 166,15 159,15 159,15 159,15 146,2 146,2z M137,2C137,2 144,2 144,2 144,2 157,15 157,15 157,15 150,15 150,15 150,15 137,2 137,2z M128,2C128,2 128.438,2 129.094,2 131.062,2 135,2 135,2 135,2 148,15 148,15 148,15 141,15 141,15 141,15 128,2 128,2z M119,2C119,2 119.438,2 120.094,2 122.062,2 126,2 126,2 126,2 139,15 139,15 139,15 132,15 132,15 132,15 119,2 119,2z M110,2C110,2 110.438,2 111.094,2 113.062,2 117,2 117,2 117,2 130,15 130,15 130,15 123,15 123,15 123,15 110,2 110,2z M101,2C101,2 101.438,2 102.094,2 104.062,2 108,2 108,2 108,2 121,15 121,15 121,15 114,15 114,15 114,15 101,2 101,2z M92,2C92,2 92.438,2 93.094,2 95.062,2 99,2 99,2 99,2 112,15 112,15 112,15 105,15 105,15 105,15 92,2 92,2z M83,2C83,2 83.438,2 84.094,2 86.062,2 90,2 90,2 90,2 103,15 103,15 103,15 96,15 96,15 96,15 83,2 83,2z M74,2C74,2 74.438,2 75.094,2 77.062,2 81,2 81,2 81,2 94,15 94,15 94,15 87,15 87,15 87,15 74,2 74,2z M65,2C65,2 65.438,2 66.094,2 68.062,2 72,2 72,2 72,2 85,15 85,15 85,15 78,15 78,15 78,15 65,2 65,2z M56,2C56,2 56.438,2 57.094,2 59.062,2 63,2 63,2 63,2 76,15 76,15 76,15 69,15 69,15 69,15 56,2 56,2z M47,2C47,2 47.438,2 48.094,2 50.062,2 54,2 54,2 54,2 67,15 67,15 67,15 60,15 60,15 60,15 47,2 47,2z M38,2C38,2 45,2 45,2 45,2 58,15 58,15 58,15 51,15 51,15 51,15 38,2 38,2z M29,2C29,2 36,2 36,2 36,2 49,15 49,15 49,15 42,15 42,15 42,15 29,2 29,2z M20,2C20,2 27,2 27,2 27,2 40,15 40,15 40,15 33,15 33,15 33,15 20,2 20,2z M11,2C11,2 18,2 18,2 18,2 31,15 31,15 31,15 24,15 24,15 24,15 11,2 11,2z M2,2C2,2 9,2 9,2 9,2 22,15 22,15 22,15 15,15 15,15 15,15 2,2 2,2z</Geometry> <VisualBrush x:Key="BarBrush"> <VisualBrush.Visual> <Path Fill="#00b8fc" Data="{StaticResource BarBrushPath}" /> </VisualBrush.Visual> </VisualBrush> </Grid.Resources> <Rectangle x:Name="ValueDisplay" HorizontalAlignment="Left" Margin="0" Canvas.Left="1" Canvas.Top="4" Fill="{StaticResource BarBrush}" Width="221" MaxWidth="221" Height="13" MaxHeight="13"> <Rectangle.Clip> <RectangleGeometry x:Name="ValueDisplayClip" Rect="0,0,221,13" /> </Rectangle.Clip> </Rectangle> </Grid> <!-- Displayed value controled by setting Rect for the ValueDisplayClip. --> |
(0000712)
sfernandez 2013-08-29 13:06 |
The following should work with the same results: <Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <Grid.Resources> <Geometry x:Key="BarBrushPath">F1M200,2C200,2 207,2 207,2 207,2 220,15 220,15 220,15 213,15 213,15 213,15 200,2 200,2z M191,2C191,2 198,2 198,2 198,2 211,15 211,15 211,15 204,15 204,15 204,15 191,2 191,2z M182,2C182,2 189,2 189,2 189,2 202,15 202,15 202,15 195,15 195,15 195,15 182,2 182,2z M173,2C173,2 180,2 180,2 180,2 193,15 193,15 193,15 186,15 186,15 186,15 173,2 173,2z M164,2C164,2 171,2 171,2 171,2 184,15 184,15 184,15 177,15 177,15 177,15 164,2 164,2z M155,2C155,2 162,2 162,2 162,2 175,15 175,15 175,15 168,15 168,15 168,15 155,2 155,2z M146,2C146,2 153,2 153,2 153,2 166,15 166,15 166,15 159,15 159,15 159,15 146,2 146,2z M137,2C137,2 144,2 144,2 144,2 157,15 157,15 157,15 150,15 150,15 150,15 137,2 137,2z M128,2C128,2 128.438,2 129.094,2 131.062,2 135,2 135,2 135,2 148,15 148,15 148,15 141,15 141,15 141,15 128,2 128,2z M119,2C119,2 119.438,2 120.094,2 122.062,2 126,2 126,2 126,2 139,15 139,15 139,15 132,15 132,15 132,15 119,2 119,2z M110,2C110,2 110.438,2 111.094,2 113.062,2 117,2 117,2 117,2 130,15 130,15 130,15 123,15 123,15 123,15 110,2 110,2z M101,2C101,2 101.438,2 102.094,2 104.062,2 108,2 108,2 108,2 121,15 121,15 121,15 114,15 114,15 114,15 101,2 101,2z M92,2C92,2 92.438,2 93.094,2 95.062,2 99,2 99,2 99,2 112,15 112,15 112,15 105,15 105,15 105,15 92,2 92,2z M83,2C83,2 83.438,2 84.094,2 86.062,2 90,2 90,2 90,2 103,15 103,15 103,15 96,15 96,15 96,15 83,2 83,2z M74,2C74,2 74.438,2 75.094,2 77.062,2 81,2 81,2 81,2 94,15 94,15 94,15 87,15 87,15 87,15 74,2 74,2z M65,2C65,2 65.438,2 66.094,2 68.062,2 72,2 72,2 72,2 85,15 85,15 85,15 78,15 78,15 78,15 65,2 65,2z M56,2C56,2 56.438,2 57.094,2 59.062,2 63,2 63,2 63,2 76,15 76,15 76,15 69,15 69,15 69,15 56,2 56,2z M47,2C47,2 47.438,2 48.094,2 50.062,2 54,2 54,2 54,2 67,15 67,15 67,15 60,15 60,15 60,15 47,2 47,2z M38,2C38,2 45,2 45,2 45,2 58,15 58,15 58,15 51,15 51,15 51,15 38,2 38,2z M29,2C29,2 36,2 36,2 36,2 49,15 49,15 49,15 42,15 42,15 42,15 29,2 29,2z M20,2C20,2 27,2 27,2 27,2 40,15 40,15 40,15 33,15 33,15 33,15 20,2 20,2z M11,2C11,2 18,2 18,2 18,2 31,15 31,15 31,15 24,15 24,15 24,15 11,2 11,2z M2,2C2,2 9,2 9,2 9,2 22,15 22,15 22,15 15,15 15,15 15,15 2,2 2,2z</Geometry> </Grid.Resources> <Path Fill="#00b8fc" Data="{StaticResource BarBrushPath}"> <Path.Clip> <RectangleGeometry x:Name="ValueDisplayClip" Rect="0,0,221,13" /> </Path.Clip> </Path> </Grid> |
(0000713)
ai_enabled 2013-08-30 12:10 |
Yes, it works. I just want to have CustomControl for displaying bars, with bar presented as rectangle. So I plan to use VisualBrush for healthbar case, and SolidColorBrush for other cases. Don't bother, I've rewrited this CustomControl to ContentControl :-). It works great - by default I set Rectangle to Content property, in healthbar case I use Path. Works great! You can look on screenshots here http://atomictorch.com/?p=151 By the way, it would be great if you fix this issue in later releases (1.0.5-1.1.0), and while it's not implemented, add this documentation note: "Current VisualBrush implementation only works when VisualBrush.Visual refers to a Visual in the logical tree". |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
576 | [NoesisGUI] Unity3D | major | always | 2015-02-16 23:12 | 2018-11-23 10:41 |
Reporter: | Scherub | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Registering a collection as dependency property is already initialized even if default value is set to null | ||||
Description: |
This bug entry is related to issue #570 and you can find the project file under issue #575. I've integrated the fix mentioned in issue #570 and it kind of works when I set the default value to null. The strange thing is now that the ObservableCollection "Tabs" that I registered is already instantiated within the OnPostInit() method. I can only guess but it probably happens because I define the values in XAML. If this is correct then it should be changed as WPF would tell you that the collection "Tabs" is still null. The other problem is that the collection is already filled with values so the CollectionChanged event is never called. That's also different to WPF. In the files of the project there are lots of missing safety checks as I was just trying to figure out a way to work around these problems. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0002093)
sfernandez 2015-02-17 12:03 |
Yes, our parser is automatically creating the collection when you populate the collection property in the xaml, so you don't have to explicitly write a node in the xaml with the collection type: --- <Object> <Object.List> <!--ItemList--> <!-- This becomes optional --> <Item/> <Item/> <Item/> <!--/ItemList--> <!-- ... --> </Object.List> </Object> --- And as long as the items are specified in the xaml, they are serialized with the collection in the xaml resource. Then, as you load the xaml, you already have those items added to the collection when the OnPostInit() gets called. Is this behavior a problem? |
(0002100)
Scherub 2015-02-17 14:02 |
You mean despite the fact that it works different in WPF? :P Okay, to be more serious I have to think this through. The problem here was mainly that I expected a different beahviour and took me a while to figure out what's going on and why the CollectionChanged event was never called. And I know there were problems/restrictions in v1.1 when you serialized other UserControls and / or collections so instead of this I changed everything so it was created dynamically. I'll take another look at it and tell you how it went. |
(0002102)
sfernandez 2015-02-17 14:12 |
:) It's just to prioritize tasks, if you can live with current behavior for a while, we can assign it a low priority. Of course, the right thing is to behave exactly as WPF, and we will change this. |
(0002107)
Scherub 2015-02-17 19:15 |
Leave it as is for now. Unfortunately before I can continue you have to fix #575 first or least tell me what's causing it so I may be able to circumvent it. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
769 | [NoesisGUI] Unity3D | minor | always | 2015-11-22 19:23 | 2018-11-23 02:17 |
Reporter: | Scherub | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b1 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | ICommand.CanExecute returning false doesn't disable the button | ||||
Description: | As the summary already says. When binding a command to a button the button doesn't get disabled when the CanExecute returns false. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0003286)
sfernandez 2015-11-23 10:49 |
Yes, this is a known issue. The CanExecuteChanged event is not monitored and IsEnabled is not updated by Buttons or MenuItems. If it is an important feature for you we can try to include in a near release. |
(0003289)
Scherub 2015-11-23 14:28 |
Nope, it's not that important. I have already known about this for a long time and my workaround was to just bind the IsEnabled property to the appropriate property. I primarily entered it here because it just occured to me when I was already submitting another issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
574 | [NoesisGUI] Unity3D | feature | always | 2015-02-16 01:23 | 2018-11-23 02:16 |
Reporter: | elecman | Platform: | Win 7 | ||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b1 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | Partial support for span | ||||
Description: | NoesisGUI doesn't support span text yet but in the mean time, it would be great if you can put the text in the span in the TextBlock, so it at least shows up when exporting from inkscape. This would speed up the workflow significantly. | ||||
Tags: | |||||
Steps To Reproduce: |
-Open inkscape 0.91 -Add some text. -Export as XAML. -Add XAML to a NoesisGUI Unity project. -Run the project and you will see that the text doesn't show up. -Now move the text in the span to the TextBlock property. -Run the project again and now the text shows up. |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
288 | [NoesisGUI] Unity3D | feature | N/A | 2013-10-25 10:40 | 2018-11-23 02:16 |
Reporter: | EisenbergEffect | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b1 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | MVVM | ||||
Description: | This is a meta ticket to track all the features needed to implement MVVM | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0000819)
jsantos 2013-10-27 02:55 |
Rob, could you give the priority of these tasks?If i understood you right, PropertyChanged delegate in attached properties is the first thing to improve. |
(0000820)
jsantos 2013-10-27 02:56 |
Sergio, rob passed me the following link to learn more about MVVM: http://www.caliburnproject.org/ Let's have a look a it to have a clear idea of the objective. |
(0000986)
jsantos 2014-01-07 15:24 |
Just and update about this: We already implemented binding creation in 1.1.3 and will probably implement PropertyChanged delegate support in 1.1.4. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
287 | [NoesisGUI] C++ SDK | feature | N/A | 2013-10-25 02:20 | 2018-11-23 02:15 |
Reporter: | EisenbergEffect | Platform: | All | ||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b1 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | Behaviors SDK | ||||
Description: |
In WPF, Silverlight and Windows Phone 7 there was great advantage in having the Blend Behaviors SDK available. A version of this is now being created for Windows Store and Phone 8.1. There is an open source implementation of the original SDK, ported to Win8 found here: https://github.com/jlaanstra/Windows.UI.Interactivity Consider the possibility of getting something like this up and running on top of Noesis. It could be built as an add on, but we would need to confirm that the supporting features in the Xaml runtime are present in order to build it. This is a major win for MVVM frameworks as well as declarative programming. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
431 | [NoesisGUI] Unity3D | feature | N/A | 2014-07-21 23:09 | 2018-11-23 02:15 |
Reporter: | wckdspn | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b1 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | PlaySoundAction Behavior implementation | ||||
Description: |
While it is not a requirement, for a better data-driven workflow, it would be nice to have the ability to set audio triggers from the editor. That isn't to say that I am asking for Noesis to support audio; what I really want is the hooks. Basically, I'd like the following: The parser support the PlaySoundAction. The runtime allows you to register handlers for Play Sound (the call would pass the name of the clip). The runtime calls the register handler when the trigger occurs With these, it'll be fairly easy to implement UI audio. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0001454)
sfernandez 2014-07-28 23:48 (Last edited: 2014-07-28 23:48) |
We need to implement the Behaviors API first in order to expose this Behavior action. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
410 | [NoesisGUI] Unity3D | feature | N/A | 2014-06-01 19:30 | 2018-11-23 02:14 |
Reporter: | Scherub | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b1 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | Support of custom behaviors | ||||
Description: | It would be really helpful to be able to create custom behaviors. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0004548)
ai_enabled 2017-03-22 10:38 (Last edited: 2017-03-22 10:39) |
Could we finally have this in NoesisGUI 2.0.x or 2.1? That really would allow us to simplify some complex cases by applying reusable behavior. |
(0004549)
Scherub 2017-03-22 10:43 |
Oh, not that I mind with this issue, but can other reporters see my issues now? :) And I agree with ai_enabled, proper behavior-support would simplify various things. |
(0004550)
ai_enabled 2017-03-22 10:45 |
Scherub, I've earned a super-power to see all the reported issues :-). |
(0004551)
Scherub 2017-03-22 10:50 |
Lucky you! |
(0004552)
ai_enabled 2017-03-22 10:55 |
I will not consider myself really lucky as I've reported 64 issues here... :-) It's good to have this super-power - I could easily check if the issue is already reported. Less duplicated issue reports. But let's stop using Mantis as chat :-). |
(0004553)
Scherub 2017-03-22 11:16 (Last edited: 2017-03-22 11:49) |
Mhm, I just realized that I've reported 117 issues. Do you mean you reported 64 that are duplicates of others? I wish I had this super-power as well. Anyone here who can give them to me, too? :D And does the 'private' checkbox hide my notes from others? It would be good to know. Edit: I've posted a new private note as I can't set an existing one to private. Can you see it? |
(0004554)
ai_enabled 2017-03-22 11:44 (Last edited: 2017-03-22 11:49) |
I have reported total 166 issues. I'm sure 117 is also pretty much :-). 64 is what displayed on my page, perhaps it's amount of still opened issues... Try to make private your post about "117 issues" and I will tell you if I can see it. |
(0004557)
jsantos 2017-03-23 19:34 |
Hey guys, sorry for the confusion. This was not on purpose. ai_enabled shouldn't have this power, but it seems that the upgrade we did to "updater" is providing that. I think I should fix it but at the same time I think this is better... Should we make all the previous report "private" by default and start providing public visibility to everybody? We are a bit concerned because many clients provide here "private" information about their game. |
(0004558)
Scherub 2017-03-24 02:53 |
I think your mentioned approach would be way better as it would hopefully result in less work for everyone involved. Obviously I can't speak for everyone, but many of my reported issues don't really have that much information about the games I'm working on and I would presume it's similar to all other developers. In case you're going to change it, it's important to notify everyone beforehand, probably even highlighting it on the 'new issue' page. You could also ask all devs before you change it. :) @ai_enabled: I presume you weren't able to read my note 4555? |
(0004559)
ai_enabled 2017-03-24 04:44 |
Hi Jesús! I didn't abused my new "super-power" :-). But you're right - most customers don't expect that their issue reports might become public to anyone else outside of your team. The already reported issues should be kept private as they're very often contain links on private (often non-protected/obfuscated) builds and investigation requests. But users should be able to make these issues public by editing them (it would be best if they will be able to edit the issue title and description as well). During the creation of new issues it would be best to have an option of marking the issue report as private or public. The feature requests (like this one) should be always public. Another great feature - to avoid issues duplication - is displaying "similar issues" when you print the issue title for reporting - it displays the already reported issues with similar title. Thought it makes most sense when you have too many request every day and I'm not sure if there is a Mantis plugin for this feature... The good example is the JetBrains issue tracker - see https://youtrack.jetbrains.com/issues/RSRP try create a new issue and write "Tree view" in the title - it will find similar issues. And almost all reported issues are public (you select "visible to" when create an issue). Also they're protecting the uploaded files - so they're accessible only by admins and the author. I know we could not upload our game builds here as it will inflate Mantis DB, but you might add some protection for posted URLs by default. @Scherub, that's correct, I cannot see it. Regards! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
787 | [NoesisGUI] Unity3D | crash | have not tried | 2015-12-22 18:32 | 2018-11-23 02:12 |
Reporter: | Scherub | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b1 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | Using ColorAnimation on a Brush target crashes NoesisGUI | ||||
Description: |
Hi, I use the following Storyboard: [code] <Storyboard x:Key="ShowStoryboard"> <ColorAnimation From="Transparent" To="#CC000000" Duration="0:0:0.25" Storyboard.TargetName="MainGrid" Storyboard.TargetProperty="Background" /> <DoubleAnimationUsingKeyFrames Storyboard.TargetName="WindowBorder" Storyboard.TargetProperty="RenderTransform.ScaleX"> <EasingDoubleKeyFrame KeyTime="0:0:0" Value="0.0" /> <EasingDoubleKeyFrame KeyTime="0:0:0.25" Value="1.025" /> <EasingDoubleKeyFrame KeyTime="0:0:0.35" Value="1.0" /> </DoubleAnimationUsingKeyFrames> <DoubleAnimationUsingKeyFrames Storyboard.TargetName="WindowBorder" Storyboard.TargetProperty="RenderTransform.ScaleY"> <EasingDoubleKeyFrame KeyTime="0:0:0" Value="0.0" /> <EasingDoubleKeyFrame KeyTime="0:0:0.25" Value="1.05" /> <EasingDoubleKeyFrame KeyTime="0:0:0.35" Value="1.0" /> </DoubleAnimationUsingKeyFrames> </Storyboard> [/code] Both DoubleAnimations work without any problems but the ColorAnimation crashes NoesisGUI. I remember there was a problem with the ColorAnimation a long time ago. I don't know whether that was fixed. But the problem reported there was about using Static/DynamicResources in combination with ColorAnimation. I'll give the ColorAnimationUsingKeyframes a try now. I've also attached the crash dumps and various logs. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
NoesisGUI-Dumps - 20151222.zip (297,837 bytes) 2015-12-22 18:32 https://www.noesisengine.com/bugs/file_download.php?file_id=602&type=bug |
||||
Notes | |
(0003420)
Scherub 2015-12-22 18:43 |
Okay, I've changed the ColorAnimation to: [code] <ColorAnimation From="Transparent" To="{DynamicResource DarkenBackgroundColor}" Duration="0:0:0.25" Storyboard.TargetName="MainGrid" Storyboard.TargetProperty="(Grid.Background).(SolidColorBrush.Color)" /> [/code] and it works now, even when using a DynamicResource. :) Anyway, it still probably shouldn't crash NoesisGUI under certain circumstances. :) |
(0003421)
sfernandez 2015-12-22 19:51 |
The crash occurs when using a ColorAnimtion with a target property that is not of type Color. This probably occurs with all the Animation timelines if target property doesn't match the animation type. I changed the summary to reflect this and will fix it as soon as possible. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
473 | [NoesisGUI] Unity3D | major | always | 2014-09-28 22:33 | 2018-11-23 02:11 |
Reporter: | Scherub | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b1 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | Support for all TabControl tab placements | ||||
Description: |
It seems to be impossible to implement a vertical TabControl. The default template doesn't support the placement property and overwriting the template didn't bring the expected results, even if it worked in WPF. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0001623)
Scherub 2014-09-28 22:37 |
Sorry, I was to quick and unfortunately it's not possible to edit the summary. |
(0001624)
sfernandez 2014-09-29 11:51 |
Measure and Arrange of the TabPanel is not taking into account the TabStripPlacement property of the TabControl. We will implement it. |
(0005239)
sfernandez 2018-06-26 13:04 |
Fixed for the next release. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
869 | [NoesisGUI] Unity3D | minor | always | 2016-04-19 13:00 | 2018-11-23 02:08 |
Reporter: | easylaser | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 1.2.5f9 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b3 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | UIElement C# API missing RaiseEvent method | ||||
Description: | The API for UIElement is missing the RaiseEvent method which is present in the WPF API. The documentation for UIElement at http://www.noesisengine.com/docs/Gui.Core._UIElement.html state that RaiseEvent should be present. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0003816)
sfernandez 2016-04-20 10:51 |
RoutedEvents are not exposed to C# API yet. First we need to provide access to the EventManager so new RoutedEvents can be created and registered. Then we have to make public RoutedEvent already defined by the controls. And finally expose the AddHandler/RemoveHandler and RaiseEvent methods of the UIElement to deal with RoutedEvents. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
813 | [NoesisGUI] Unity3D | minor | always | 2016-02-01 10:32 | 2018-11-23 02:07 |
Reporter: | Scherub | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b1 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | FrameworkPropertyMetadataOptions does not exist | ||||
Description: | I was trying to tell a dependency property that it should bind TwoWay by default but unfortunately that option is missing. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0003497)
sfernandez 2016-02-01 12:52 (Last edited: 2016-02-01 14:40) |
The name of the enum is not correct, it was exposed as FrameworkOptions. We will rename it (along with many more things) in 1.3 version. |
(0003498)
Scherub 2016-02-01 13:26 |
Oh okay, somehow I missed that. Thanks! :) |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
397 | [NoesisGUI] Unity3D | minor | always | 2014-05-21 14:55 | 2018-11-23 02:02 |
Reporter: | Kristof | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.1.0f1 | ||
Target Version: | |||||
Platform: | Any | ||||
Summary: | TextDecorations are not supported | ||||
Description: |
I want to underline a TextBlock. In WPF this is done using the TextDecorations property. In Noesis I see that this property exists, but if I try to set it from XAML then I get this error: Parsing TextBlock.TextDecorations (@48,6). 'Underline' is not a valid value for property 'TextBlock.TextDecorations' This is the XAML: <TextBlock Text="FORGOT PASSWORD?" TextDecorations="Underline"/> |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | Reported in the forum: http://www.noesisengine.com/forums/viewtopic.php?f=3&t=406 | ||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
790 | [NoesisGUI] Unity3D | minor | have not tried | 2016-01-02 19:06 | 2018-11-23 01:31 |
Reporter: | Scherub | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Binding to RowDefinition Height doesn't work | ||||
Description: |
I am trying to place an element vertically relative to a calculated item value. Just think of a horizontal level list where each item is vertically placed in a different position. I have it working in WPF but unfortunately it doesn't work in NoesisGUI. The problem seems to be the binding of the RowGridDefinition to the GridLength property of the item. Apparently it's ignored completely. I've also tried giving the (for the calculation) required height (so I could actually rid of the percentage) to the bound item but the property's setter is never called. I'll now try a MultiValueConverter even if I don't know whether they're already supported by NoesisGUI. Following the DataTemplate I've used: [code] <DataTemplate x:Key="LevelTemplate"> <Border x:Name="Border" Width="{Binding ActualWidth, ElementName=MainPanel, Converter={StaticResource MultiplyConverter}, ConverterParameter=0.2}" Height="{Binding ActualHeight, ElementName=MainPanel, Converter={StaticResource MultiplyConverter}, ConverterParameter=0.45}"> <Grid> <Grid> <Grid.RowDefinitions> <RowDefinition Height="*" /> <RowDefinition Height="{Binding ActualHeight, ElementName=LevelItemGrid}" /> </Grid.RowDefinitions> <Grid> <Grid.RowDefinitions> <RowDefinition Height="{Binding Row1, Mode=OneWay}" /> <RowDefinition Height="{Binding Row2, Mode=OneWay}" /> </Grid.RowDefinitions> <Border x:Name="Decorator" BorderBrush="Black" BorderThickness="1" /> </Grid> </Grid> <Grid x:Name="LevelItemGrid" VerticalAlignment="Top" Height="{Binding ActualHeight, ElementName=BackButton, Converter={StaticResource MultiplyConverter}, ConverterParameter=1.5}"> <Grid.RenderTransform> <TranslateTransform Y="{Binding ActualHeight, ElementName=Decorator}" /> </Grid.RenderTransform> <Grid.RowDefinitions> <RowDefinition Height="60*" /> <RowDefinition Height="20*" /> <RowDefinition Height="20*" /> </Grid.RowDefinitions> <Button x:Name="Button" Grid.Row="0" Grid.RowSpan="2" IsEnabled="{Binding IsPlayable}" Style="{DynamicResource CircleButtonStyle}" Command="{Binding DataContext.PlayLevelCommand, RelativeSource={RelativeSource AncestorType=ItemsControl}}" CommandParameter="{Binding .}"> <TextBlock Text="{Binding Name}" noesis:Text.Stroke="{DynamicResource TextStrokeBrush}" noesis:Text.StrokeThickness="{DynamicResource TextStrokeThickness}" /> </Button> <prot:ImageViewbox Grid.Row="1" Grid.RowSpan="2" ImageBrush="{Binding Medal, Converter={StaticResource ImageKeyToImageBrushConverter}, ConverterParameter=Icons_Star_}" /> </Grid> </Grid> </Border> <DataTemplate.Triggers> <DataTrigger Binding="{Binding IsPlayable}" Value="False"> <Setter TargetName="Button" Property="BorderBrush" Value="{DynamicResource ButtonOuterStrokeDisabledBrush}" /> </DataTrigger> <DataTrigger Binding="{Binding IsLastPlayed}" Value="True"> <Setter TargetName="Button" Property="BorderBrush" Value="{DynamicResource ButtonOuterStrokeHighlightedBrush}" /> </DataTrigger> </DataTemplate.Triggers> </DataTemplate> [/code] |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
Levels_Select.jpg (496,739 bytes) 2016-01-07 13:38 https://www.noesisengine.com/bugs/file_download.php?file_id=603&type=bug |
||||
Notes | |
(0003430)
sfernandez 2016-01-07 11:29 |
Hi, Binding RowDefinition.Height works on simple scenarios, I just confirmed it. Maybe it is a problem on the layout when trying to calculate the element sizes and calculations are dependant between elements. Could you please provide an image of what you want to accomplish? Maybe I can find an alternative while we solve the problem. Thanks. |
(0003437)
Scherub 2016-01-07 13:39 |
Okay, I've uploaded an old mockup image. |
(0003442)
sfernandez 2016-01-12 06:53 |
Have you tried to use a TranslateTransform to move the item inside an available space?<DataTemplate x:Key="LevelTemplate"> <Grid> <Grid.RowDefinitions> <RowDefinition/> <!-- item height depends on this row height --> <RowDefinition/> <!-- available space to move the item --> </Grid.RowDefinitions> <YourItem Grid.Row="0"> <YourItem.RenderTransform> <TranslateTransform Y="{Binding OffsetY}"/> </YourItem.RenderTransform> ... </YourItem> </Grid> </DataTemplate> |
(0003443)
Scherub 2016-01-12 07:22 |
The problem here is that OffsetY requires a fixed value. I was trying to avoid having fixed values wherever possible and use percentages instead. |
(0003444)
sfernandez 2016-01-12 07:49 |
Well, OffsetY can be anything you want. This value can be something relative to screen size, item size, whatever you can imagine. |
(0003446)
Scherub 2016-01-12 08:38 |
Yes, you're right but for that I have to calculate the value and for that I need the available space and the percentage/alpha where it should appear. As I said in the opening 'post' I also tried to submit the for the calculation required space to the bound level class over a property setter but that doesn't work either. But maybe I just don't understand what you're trying to do/tell me. |
(0003447)
sfernandez 2016-01-12 09:40 |
For example, to get from the View the screen size you can have an attached property, set in a top element covering the screen, that subscribes to its SizeChanged event. Knowing that value, the OffsetY property can be calculated like this: public float OffsetY { get { return GlobalLayout.ScreenSize.Height * GlobalLayout.LevelSize.Height * // relative: [0..1] GlobalLayout.GetOffset(Index, Parent.NumLevels); // relative: [0..1] } } GetOffset provides a relative offset depending on the position of the Level in the Levels array. Does this make any sense in your scenario? :) |
(0003448)
Scherub 2016-01-12 11:42 |
Well, that's not really the solution I was looking for but I guess it has to do for now. The thing is that I already have the PC version in mind and I will use for various views different platform-dependend XAMLs but the same ViewModel and data (container) classes. So it would be much better to do these kind of things within the XAML. But as I said, I'll do all the calculations in the data container class for now. Thanks again! :) |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
773 | [NoesisGUI] Unity3D | minor | N/A | 2015-11-26 02:54 | 2018-11-22 23:24 |
Reporter: | Scherub | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | DynamicResourceExtension and IProvideValueTarget missing | ||||
Description: |
I'm trying to do something like this: http://stackoverflow.com/questions/33816511/how-do-you-create-a-dynamicresourcebinding-that-supports-converters-stringforma But there are several missing classes in NoesisGUI such as DynamicResourceExtension or IProvideValueTarget. My goal is to return a dynamic resource using a IValueConverter to convert my input 'Medal' into an 'image' of my image sheet. Now that there are DataTriggers supported I'm wondering whether I should use these for now as a workaround. The problem with this approach is that I have to define it in several templates. Do you have a better idea? :) |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0003294)
sfernandez 2015-11-26 14:08 (Last edited: 2015-11-26 14:08) |
Would it be a possibility to load the 'image' resources in a global class that can be accessed from the converter? Something like this: public static class ImageResources { ResourceDictionary _resources; public static ImageBrush Find(string key) { if (_resources == null) { _resources = NoesisGUISystem.LoadXaml("Assets/Images/ImageResources.xaml"); } return _resources[key] as ImageBrush; } } And the converter: public class IdImageConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { return ImageResources.Find(((ImageId)value).ToString()); } public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { throw new NotImplementedException(); } } |
(0003302)
Scherub 2015-11-27 11:41 |
Well, it's not the solution I had in mind but at least it works. Thanks! :) |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
741 | [NoesisGUI] C++ SDK | minor | sometimes | 2015-10-22 12:02 | 2018-11-22 23:14 |
Reporter: | ZanAlex | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Non-rectangular clipping region not affecting hit tests | ||||
Description: |
I've tried to do a radial menu that could have any given number of entries (I mean by that between 2 and 6). Here's the result so far: https://gyazo.com/8f193373be331f78aa358114dbf471b1 The way I've done it is to create all the button I need, all these button fill the entire Canvas. Then, I cut each button to be a slice of pie. It works reasonnably fine with few entries, but after 6 it gets weird with buttons being rolled over and pressed instead of others. I've also noticed that a button can be clicked if the cursor is out of the circle, but inside its bouding box. I think my solution is inefficient and I should probably try another way (Button should not overlap, I guess) but I'd like to know if that kind of problem is known to you. It seems the hitbox of a button is not exactly its unclipped part. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0005332)
sfernandez 2018-11-22 23:14 |
I was able to reproduce it with this simple xaml:<Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <Border BorderBrush="Red" BorderThickness="2" Width="300" Height="300"> <Button Content="Hello"> <Button.Clip> <StreamGeometry>M0,30L30,0 300,60 200,300z</StreamGeometry> </Button.Clip> </Button> </Border> </Grid> |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
715 | [NoesisGUI] Unity3D | major | always | 2015-09-10 10:56 | 2018-11-22 21:41 |
Reporter: | ai_enabled | Platform: | PC | ||
Assigned To: | sfernandez | OS: | Windows | ||
Priority: | normal | OS Version: | 10 x64 | ||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | RenderOptions.BitmapScalingMode doesn't apply to children | ||||
Description: |
Hello! I just noticed that RenderOptions.BitmapScalingMode="NearestNeighbor" set to root element doesn't apply to children controls with image brushes. Tested it with WPF and it works fine there. We want to actively use raster images in our next project, so this task is important for us. Thanks! Regards! |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
Screenshot at 19-33-01.png (116,180 bytes) 2015-09-17 14:40 https://www.noesisengine.com/bugs/file_download.php?file_id=536&type=bug Screenshot at 19-33-28.png (295,624 bytes) 2015-09-17 14:40 https://www.noesisengine.com/bugs/file_download.php?file_id=537&type=bug TestGameLogo.7z (271,797 bytes) 2015-09-17 14:41 https://www.noesisengine.com/bugs/file_download.php?file_id=538&type=bug |
||||
Notes | |
(0002940)
ai_enabled 2015-09-10 11:01 |
Also I cannot see any difference between "HighQuality" and "Linear" settings. But it's very noticeable in WPF. Are you sure using trilinear texture quality when "HighQuality" selected? I'm talking about images loaded by NoesisGUI (defined by path in ResourceDictionary). |
(0002944)
jsantos 2015-09-10 16:33 |
The difference between HighQuality and Linear only makes sense if you are using mipmaps. By default Unity doesn't generate mipmaps for 2D Textures. We also decided to do that in NoesisGUI v1.2, mipmaps are not generated. Do you think you could get better quality with them? |
(0002946)
ai_enabled 2015-09-11 05:09 |
Yes, in some cases trilinear texture filtering give us much better quality with scale animations. It looks much better in WPF with "HighQuality" setting. But we need to have a control over it, as not all the UI textures need to have mipmaps. Maybe a good solution will be taking mipmaps property from Unity TextureImporter settings for an UI texture when NoesisGUI build the streaming assets. |
(0002947)
jsantos 2015-09-11 16:53 |
In the next major (1.3) version we are working on, we plan to use the textures generated by Unity avoiding our preprocessing step. That way, you can activate mipmaps if you wish. So, when adding mipmaps you are not observing excessive blurriness? Would be nice if you could attach the texture you are testing. |
(0002950)
ai_enabled 2015-09-11 18:17 |
Great to know about this change with v1.3. It's definitely fixes this issue, but also makes RenderOptions.BitmapScalingMode option useless (and deceptive - it would good to mention about this with a warning during NoesisGUI assets build phase). I'm not in the office at the moment so I couldn't attach images right now. But yes, it's definitely looks better when slow scale animation playing and a little bit blurry when static. It seems to be improved when setting "sharper" mipmap bias for Unity texture instance (if the texture assigned manually to an ImageBrush of course). Also I've noticed that even the VoidExpanse game logo image rendered in Unity looks not as smooth and good as in WPF project with "HighQuality" setting applied - it has noticeable sharp edges in Unity (looks more like nearest neighbor filtering instead of bilinear), especially if the image rendered in the lower resolution than its native size. |
(0002952)
jsantos 2015-09-17 14:01 |
Could you attach the XAML + images with the voidexpanse logo to exactly compare WPF vs Noesis? This is something I will carefully study. Besides, the original problem of the ticket is a different think. Sergio, did you have time to investigate it? |
(0002955)
ai_enabled 2015-09-17 14:43 (Last edited: 2015-09-17 14:44) |
It seems WPF "HighQuality" uses trilinear filtering, so that's why I've noticed it looks different in WPF. Bilinear filtering looks no good when image downscaled (and when scale transform is animated it looks even worse, more like "nearest neighbor"). I've attached two images to compare (made with WPF application, VS2013 project also attached). Of course trilinear filtering looks little bit blurry when downscaled, but for my opinion it's better than jagged lines. I cannot detect any visual difference between Unity and WPF with "Linear" quality. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
702 | [NoesisGUI] Unity3D | minor | always | 2015-08-12 17:09 | 2018-11-22 21:34 |
Reporter: | movra | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b1 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | Scrollbars don't work in NoesisStyle | ||||
Description: | Scrollbars that should be visible are not displayed when using NoesisStyle.xaml. | ||||
Tags: | |||||
Steps To Reproduce: |
1) Run the ControlGallery sample scene 2) Navigate to Selector controls > ListBox 3) Observe that there are no scrollbars 4) Toggle the style in the menu from Noesis to Simple or Windows 5) Observe that now there are scrollbars |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0002906)
movra 2015-08-13 00:18 |
Oh I see, the scrollbars are invisible and fade in when you hover over their area. |
(0002918)
sfernandez 2015-08-17 13:14 |
Yes, scrollbars appear when you place the mouse over the scrollbar area. Maybe the design is too risky, but we wanted to create a style more touch-friendly. |
(0002921)
movra 2015-08-17 13:55 |
Ah of course. On desktop I can see the same kind of auto-hiding scrollbars in Windows 8 Metro apps. But there's a couple of differences. In Metro apps: - the scrollbars appear when hovering over the whole ListBox, not just the scrollbar area - when using the scrollwheel, the scrollbars also appear |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1136 | [NoesisGUI] C++ SDK | minor | always | 2017-08-22 08:40 | 2018-11-22 20:48 |
Reporter: | nikobarli | Platform: | Windows | ||
Assigned To: | sfernandez | OS: | Windows 10 | ||
Priority: | normal | OS Version: | Creators Update | ||
Status: | assigned | Product Version: | 2.0.2f2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Returning nullptr from IMarkupExtension::ProvideValue caused error | ||||
Description: |
Follow up for https://www.noesisengine.com/forums/viewtopic.php?f=3&t=1150. When a custom markup extension returns nullptr from its ProvideValue method to be assigned to an event, XAML parser complains that the object is incompatible. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1068 | [NoesisGUI] Unity3D | feature | N/A | 2017-04-27 17:59 | 2018-11-22 20:22 |
Reporter: | MrJul | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | high | OS Version: | |||
Status: | resolved | Product Version: | 2.0.1f1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b4 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | Support for custom Measure/Arrange | ||||
Description: |
NoesisGUI doesn't support custom controls that override `MeasureCore`/`ArrangeCore`. While you can usually compose with other primitives, this is not always the case. The main use case for me would be to extend Panel, to arrange items as I see fit. In WPF, I have a working `VirtualizingWrapPanel` that I planned to port to NoesisGUI. Without proper arrange support, it's just impossible to do, especially with virtualization involved. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1049 | [NoesisGUI] Unity3D | minor | always | 2017-04-07 10:06 | 2018-11-22 20:19 |
Reporter: | XaeroDegreaz | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 1.3.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b1 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | ListBox with HorizontalAlignment set to "Stretch" moves list content left when pressing buttons | ||||
Description: |
Actually version 2.0.0f1 but you dont have it listed: From: http://www.noesisengine.com/forums/viewtopic.php?f=3&t=1045 I have a TabControl with a Tabitem, as defined below: [code] <ListBox x:Name="KeyBindingsList" Height="Auto" HorizontalAlignment="Stretch" VerticalAlignment="Top" ScrollViewer.HorizontalScrollBarVisibility="Disabled"> <ListBox.ItemTemplate> <DataTemplate> <UniformGrid Columns="2"> <Label Content="{Binding Path=Name}" VerticalAlignment="Center" /> <Button Content="{Binding Path=PrimaryKeyName}" /> </UniformGrid> </DataTemplate> </ListBox.ItemTemplate> </ListBox> [/code] When pressing the Button, the ListBox content shifts to the left. It also happens when the width of the ListBox is the same size as the container. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0004752)
sfernandez 2017-06-19 20:56 |
Will be solved in our next release version 2.0.3. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1042 | [NoesisGUI] C++ SDK | minor | have not tried | 2017-04-05 18:07 | 2018-11-22 20:16 |
Reporter: | KeldorKatarn | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b1 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | Interactivity namespace | ||||
Description: |
Implement classes from Interactivity namespace: https://msdn.microsoft.com/en-us/library/system.windows.interactivity(v=expression.40).aspx - Interaction static class - TriggerBase - EventTrigger - TriggerAction - Behavior - IAttachedObject - AttachableCollection - TriggerCollection - TriggerActionCollection - BehaviorCollection |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1040 | [NoesisGUI] C# SDK | feature | always | 2017-04-05 17:24 | 2018-11-22 20:15 |
Reporter: | KeldorKatarn | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b3 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | Expose RoutedEvents in C# | ||||
Description: | Expose in C# API RoutedEvents defined by UI classes like UIElement.MouseDownEvent or FrameworkElement.LoadedEvent. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1037 | [NoesisGUI] C# SDK | feature | always | 2017-03-16 09:42 | 2018-11-22 20:14 |
Reporter: | ai_enabled | Platform: | PC | ||
Assigned To: | sfernandez | OS: | Windows | ||
Priority: | high | OS Version: | 10 x64 | ||
Status: | assigned | Product Version: | 1.3.0 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Add XAML support for C# generic class | ||||
Description: |
Hello! This feature is very useful for us. Could you have a look please? https://www.codeproject.com/articles/37317/generic-support-in-xaml Specifically, I'm talking about support of: <local:ViewBase x:Class=”GenericViews.MessageLoggingWindow” x:TypeArguments=”local:MessageBoxLogger” ... (x:TypeArguments for generics) We need to use it for easier definition for generic user controls (with TViewModel). Currently we have to use workaround. Regards! |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
System Description | |||||
Attached Files: | |||||
Notes | |
(0004532)
sfernandez 2017-03-16 13:10 |
We will study the implications of this and see if we can implement it. |
(0004533)
ai_enabled 2017-03-16 13:11 |
Thanks, Sergio! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1036 | [NoesisGUI] C# SDK | major | always | 2017-03-15 08:41 | 2018-11-22 20:11 |
Reporter: | ai_enabled | Platform: | PC | ||
Assigned To: | sfernandez | OS: | Windows | ||
Priority: | normal | OS Version: | 10 x64 | ||
Status: | resolved | Product Version: | 1.3.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b1 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | Cannot add strings to InlinesCollection | ||||
Description: |
Hi guys, this code will crash NoesisGUI: var textBlock = new TextBlock(); var inlines = textBlock.Inlines; inlines.Add(new Run("someText")); inlines.Add(new LineBreak()); // it seems this is not supported by NoesisGUI right now but compiles properly inlines.Add(protoItem.Description); // grid is LayoutRoot of the UserControl grid.Children.Add(textBlock); I think it would be better if you could add strong typing for Add() methods - as in WPF. Regards! |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
System Description | |||||
Attached Files: | |||||
Notes | |
(0004531)
sfernandez 2017-03-16 13:04 |
Yes, InlineCollection should only allow to add Inlines, we will fix it. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1025 | [NoesisGUI] Unity3D | feature | always | 2017-02-25 04:45 | 2018-11-22 20:08 |
Reporter: | KeldorKatarn | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 1.3.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b1 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | EventTrigger.EventName property | ||||
Description: |
As mentioned here http://www.noesisengine.com/forums/viewtopic.php?p=5727&sid=085e1cc1c16dda64864270ab3e8c272b#p5727 the EventName property should be available with setter and getter so stuff like this can be done like in WPF: CreateTrigger = () => new EventTrigger { EventName = eventName } |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0005321)
sfernandez 2018-11-22 20:08 |
The EventTrigger that provides an EventName property is the one defined by the interactive package. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
964 | [NoesisGUI] C# SDK | tweak | always | 2016-10-18 10:40 | 2018-11-22 19:42 |
Reporter: | ai_enabled | Platform: | PC | ||
Assigned To: | sfernandez | OS: | Windows | ||
Priority: | normal | OS Version: | 10 x64 | ||
Status: | resolved | Product Version: | 1.2.6f5 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b3 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | Difference with WPF - Slider ValueChangedHandler signature is different | ||||
Description: |
Hello! I've noticed that slider (RangeBase) value changed event signature is different from WPF. It's not a routed event. Regards! |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
902 | [NoesisGUI] C# SDK | major | always | 2016-06-02 16:00 | 2018-11-22 19:32 |
Reporter: | ai_enabled | Platform: | PC | ||
Assigned To: | sfernandez | OS: | Windows | ||
Priority: | normal | OS Version: | 10 x86 | ||
Status: | assigned | Product Version: | 1.2.6f3 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Difference with WPF - Storyboard EventHandler has different signature | ||||
Description: |
Hello! I just noticed that storyboards in NoesisGUI are using TimelineEventArgs (which contains Target) when WPF storyboards are just simple plain EventArgs. Will you consider changing this aspect to match WPF event handler signature? Regards! |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0004221)
ai_enabled 2016-11-02 08:40 |
WPF utilizes completely different approach - it creates storyboard instances for each element in visual tree. NoesisGUI uses a single instance of storyboard when it's located in the control template... I also think it could lead to memory leaks. To properly adapt API to match WPF, I've developed a workaround in 1.2 C# API, but it's quite unreliable, because it's very hard to determine what the event handler must be executed - they're all hooked to the single Storyboard instance! Please consider fixing it for 1.3. |
(0004986)
ai_enabled 2018-01-13 08:12 (Last edited: 2018-01-13 08:14) |
Hi guys, I've noticed you've fixed the signature for this method in v2.10 beta. Did you completely rewrote this to match WPF behavior? - Do you create a new instance of storyboard and call event only for this particular instance? |
(0004987)
ai_enabled 2018-01-13 08:25 |
Oh, no... You didn't. You just fixed the signature and actually even broken our hack with that change. For example, we have over 10 game menus and each one subscribe to the storyboards Show and Hide completed event of the GameWindow control. Now, when the single GameWindow opens or closes, I receive Completed event for all the 10 game menus, when it should trigger only for the particular storyboard instance in the particular GameWindow control. Previously we've used a simple hack in NoesisGUI C# SDK by using TimelineEventArgs.Target property to determine the target object and then triggered Storyboard Completed event only for the particular control (storyboard Completed used everywhere in our code and in 99% of the cases this hack actualyl worked). But now you've dropped TimelineEventArgs completely and only regular EventArgs remains so we have no option for determining the storyboard target and our hack is not applicable anymore. I think the issue is because we're subscribing on the storyboard instances from the template. You're using them as singletones but WPF create separate instances. (described in first comment in this thread) Example of how we acquire the instances of the storyboards // on Init this.storyboardOpen = (Storyboard)this.Template.Resources["StoryboardOpen"]; this.storyboardClose = (Storyboard)this.Template.Resources["StoryboardClose"]; // on Loaded (on Unloaded - unsubcribe) this.storyboardOpen.Completed += this.StoryboardOpenCompletedHandler; this.storyboardClose.Completed += this.StoryboardCloseCompletedHandler; As a workaround for this issue - maybe you can bring back TimelineEventArgs from 2.0.2f2? Anyways, it will be much better if you will be able to fix this to match WPF behavior completely, but I understand you have a totally different underlying architecture for templates... |
(0004988)
ai_enabled 2018-01-13 08:39 (Last edited: 2018-01-13 08:41) |
If you're curious about the hack/workaround we were using:[MonoPInvokeCallback(typeof(RaiseCompletedCallback))] private static void RaiseCompleted(IntPtr cPtr, IntPtr sender, IntPtr e) { try { if (!_Completed.ContainsKey(cPtr)) { throw new InvalidOperationException("Delegate not registered for Completed event"); } if (sender == IntPtr.Zero && e == IntPtr.Zero) { _Completed.Remove(cPtr); return; } if (Noesis.Extend.Initialized) { CompletedHandler handler = _Completed[cPtr]; if (handler == null) { return; } var args = new TimelineEventArgs(e, false); foreach (var @delegate in handler.GetInvocationList()) { var storyboardTarget = args.Target as FrameworkElement; if (storyboardTarget.Tag is FrameworkElement) { // workaround @delegate.DynamicInvoke(Noesis.Extend.GetProxy(sender, false), new System.EventArgs()); return; } var delegateTarget = @delegate.Target; while (storyboardTarget != null) { if (ReferenceEquals(storyboardTarget, delegateTarget)) { @delegate.DynamicInvoke(Noesis.Extend.GetProxy(sender, false), new System.EventArgs()); break; } storyboardTarget = VisualTreeHelper.GetParent(storyboardTarget) as FrameworkElement; } } } } catch (Exception exception) { Noesis.Error.SetNativePendingError(exception); } } As you can see it's quite unreliable and requires some special handling in our code like this: // special hack for NoesisGUI animation completed event this.backgroundControl.Tag = this; However it helped us to 100% reliably worakaround all the cases (and there are dozen of them). |
(0004993)
sfernandez 2018-01-15 11:52 (Last edited: 2018-01-15 11:52) |
Sorry for breaking this. The change only affects C# layer and native code still provides the target in the event args. So while I think about how to properly solve it you can bring back TimelineEventArgs to apply your hack in Timeline.RaiseCompleted() function: [StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Ansi)] public struct TimelineEventArgs { IntPtr target; public DependencyObject Target { get { return (DependencyObject)Noesis.Extend.GetProxy(target, false); } } } CompletedHandler handler = _Completed[cPtr]; if (handler != null) { TimelineEventArgs args = Marshal.PtrToStructure<TimelineEventArgs>(e); var storyboardTarget = args.Target as FrameworkElement; ... } About the hack we should fix it in the native code but first I need to investigate a few things. |
(0004994)
ai_enabled 2018-01-15 12:44 |
Thanks, I will implement the hotfix back right now and continue testing last NoesisGUI beta. |
(0004996)
ai_enabled 2018-01-15 13:33 |
Oh, I see now. You said to use your new class and use manual marshalling. Sorry, will try it. |
(0004997)
sfernandez 2018-01-15 13:34 |
Yeah, that's right :) |
(0004998)
ai_enabled 2018-01-15 14:37 |
Ok, the workaround seems to work fine now. I was able to locate another issue http://www.noesisengine.com/bugs/view.php?id=1217 |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
926 | [NoesisGUI] C# SDK | minor | always | 2016-07-04 07:45 | 2018-11-22 19:31 |
Reporter: | ai_enabled | Platform: | PC | ||
Assigned To: | sfernandez | OS: | Windows | ||
Priority: | normal | OS Version: | 10 x64 | ||
Status: | resolved | Product Version: | 1.2.6f4 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b1 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | Difference with WPF - collapsed controls should not be focusable | ||||
Description: |
Hello! I just noticed that textboxes with Visibility=Collapsed still can be focused - I've investigated an issue and found that after I remove some elements (containing focus) the focus moves to a collapsed textbox (layoutRoot.GetKeyboard().GetFocused() == collapsed textbox). Regards! |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
920 | [NoesisGUI] C# SDK | minor | always | 2016-06-24 11:41 | 2018-11-22 19:19 |
Reporter: | ai_enabled | Platform: | PC | ||
Assigned To: | sfernandez | OS: | Windows | ||
Priority: | normal | OS Version: | 10 x64 | ||
Status: | resolved | Product Version: | 1.2.6f4 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b1 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | Selector SelectionChanged event is not works | ||||
Description: |
Hello! I've inherited from Selector control and subscribed on it SelectionChanged event. There are a few TabItem placed into the control items collection. They're displayed correctly, but selecting any of them just set focus on it, but doesn't raise SelectionChanged event of the collection control (inherited from Selector control). It seems to be a bug. Regards! |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0004028)
ai_enabled 2016-06-24 11:42 (Last edited: 2016-06-24 11:42) |
The same code works fine for me in WPF and event is raised. So this is definitely a bug. |
(0004029)
ai_enabled 2016-06-24 11:45 |
Now I've inherited my custom collection control from TabControl instead and the event is raised correctly. So, that's it - control inherited from Selector never raise SelectionChanged event. |
(0004038)
sfernandez 2016-06-28 19:06 |
Selection implementation is now done on specific controls (ListBox, ComboBox, TabControl guided by its corresponding items: ListBoxItem, ComboBoxItem, TabControlItem) instead of the Selector base class. We will review this code so it works as in WPF. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
913 | [NoesisGUI] C# SDK | tweak | N/A | 2016-06-17 08:55 | 2018-11-22 19:14 |
Reporter: | ai_enabled | Platform: | PC | ||
Assigned To: | sfernandez | OS: | Windows | ||
Priority: | low | OS Version: | 10 x64 | ||
Status: | resolved | Product Version: | 1.2.6f4 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b3 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | Difference with WPF - ItemCollection.GetItemAt(int index) instead of ItemCollection.Get(uint index) | ||||
Description: |
Hello! WPF: ItemCollection.GetItemAt(int index) NoesisGUI: ItemCollection.Get(uint index) I think you can keep compatibility and just add this method to C# API and call Get((uint)index) in it. Regards! |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0004322)
sfernandez 2016-12-30 14:11 |
Fixed in new preview of next beta: https://drive.google.com/open?id=0Bwl3Ci5GLsE8b0JEdlRnd3pVN3c |
(0004326)
ai_enabled 2016-12-30 15:28 |
Yes, but you simply changed uint to int. If we want full WPF compatibility it might be a good idea to add GetItemAt(int index) method which will simply return Get(index). |
(0004337)
sfernandez 2016-12-30 20:36 |
Sorry, I totally miss the method name difference. I'll fix it correctly for the next version :) |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
810 | [NoesisGUI] C# SDK | feature | always | 2016-01-28 12:14 | 2018-11-22 19:11 |
Reporter: | ai_enabled | Platform: | PC | ||
Assigned To: | sfernandez | OS: | Windows | ||
Priority: | normal | OS Version: | 10 | ||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b3 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | Difference with WPF - event handlers | ||||
Description: |
Hello! I found a lot of difference with event handlers names/signatures between NoesisGUI and WPF. For example, Noesis.UIElement.MouseLeftButtonUpHandler vs universal System.Windows.Input.MouseButtonEventHandler (used for all buttons). Regards! |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0003492)
ai_enabled 2016-01-28 12:18 (Last edited: 2016-01-28 12:18) |
The signatures are the same, the problem is only with the names of the delegates. So you need to replace using of MouseUpHandler (and etc) and use MouseButtonEventHandler(object sender, MouseButtonEventArgs e). MouseButtonEventArgs is already defined at your code. |
(0003495)
sfernandez 2016-02-01 04:39 |
Yes, the handler type is wrong, thanks. It will be fixed on 1.3 version. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
958 | [NoesisGUI] Unity3D | minor | always | 2016-10-02 23:18 | 2018-11-22 19:09 |
Reporter: | nokola | Platform: | Unity3D | ||
Assigned To: | sfernandez | OS: | Android | ||
Priority: | low | OS Version: | Any | ||
Status: | assigned | Product Version: | 1.2.6f5 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | With PanningMode=Both in ScrollViewer buttons don't update background when tapped on Android | ||||
Description: | With PanningMode=Both in ScrollViewer buttons don't update background when tapped on Android | ||||
Tags: | |||||
Steps To Reproduce: |
1. Open https://1drv.ms/f/s!AspGCVZdWgTBuup9b2_-mTFV5_06EA and download ButtonPanningModeBug.zip 2. Open in Unity Note the Assets\Examples\style_NOK and style_OK 3. Run on Android Expected: when tapping buttons, the background changes to the "pressed" color bg Actual: nothing happens 4. Change Noesis style to style_OK - works |
||||
Additional Information: |
The issue happens because of this line: <Setter Property="PanningMode" Value="Both"/> Removing it fixes it. However, we now can't pan our scrollviewer as expected. For the moment this is not a blocking issue for us, thus I set it to low pri (the TextBox issue I reported separately is blocking) |
||||
Attached Files: | |||||
Notes | |
(0004176)
sfernandez 2016-10-19 13:28 |
Hi, We've been analyzing the Behavior in NoesisGUI and it matches exactly what WPF does. Let me try to explain what is happening: When touch events are used inside a control that handles manipulation (as ScrollViewer does when PanningMode != None), then it captures touch events (raising ManipulationStarting event) until you move or release the touch. OPTION 1: COMPLETED MANIPULATION If touch is moved enough, then a manipulation starts (raising ManipulationStarted event, and subsequent ManipulationDelta events). Until touch is released (possibly raising ManipulationInertiaStarting event followed by some more ManipulationDelta events, and finally the ManipulationCompleted event). This scenario can be better understood with the following MSDN image: https://i-msdn.sec.s-msft.com/dynimg/IC392642.jpeg OPTION 2: CANCELLED MANIPULATION If you release the touch without moving it, then manipulation is cancelled, and previous touch events are promoted to mouse events. That means that the button will receive MouseDown, MouseMove and MouseUp events all in the same frame. So no visible change is seen in the button, but the Click event is always raised. In a future release we want to change this behavior to something similar to UWP, that is better prepared for touch and multitouch environments than WPF. Meanwhile, if you want to see a visual response when a Button receives a touch, maybe you can add an EventTrigger for the TouchDown event that animates the backgrounds color: ... <ControlTemplate.Triggers> <EventTrigger RoutedEvent="UIElement.TouchDown"> <BeginStoryboard> <Storyboard> <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Fill" Storyboard.TargetName="ButtonBackground"> <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource PhoneAccentBrush}"/> <DiscreteObjectKeyFrame KeyTime="0:0:0.5" Value="{x:Null}"/> </ObjectAnimationUsingKeyFrames> </Storyboard> </BeginStoryboard> </EventTrigger> </ControlTemplate.Triggers> ... Hope this helps. |
(0004180)
jsantos 2016-10-21 19:28 |
This is the plan we have to improve Touching in 1.3 (basically, doing in like UWP) https://trello.com/c/zN2r19h4/260-improve-manipulations |
(0004196)
nokola 2016-10-28 13:15 |
Thanks, sounds good! Given that multitouch is a huge part of the market (phones, tablets) it's important and welcome change. Thanks for the workarounds! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
954 | [NoesisGUI] C# SDK | minor | have not tried | 2016-09-09 10:08 | 2018-11-22 19:07 |
Reporter: | ai_enabled | Platform: | PC | ||
Assigned To: | sfernandez | OS: | Windows | ||
Priority: | low | OS Version: | 10 x64 | ||
Status: | assigned | Product Version: | 1.2.6f5 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Difference with WPF - StrokeDashArray is using DoubleCollection in WPF | ||||
Description: |
Hello! That's it - in WPF you need to set shape.StrokeDashArray = DoubleCollection.Parse(str), in NoesisGUI shape.StrokeDashArray is a string property. Regards! |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1307 | [NoesisGUI] Unity3D | feature | N/A | 2018-06-05 21:28 | 2018-11-22 13:32 |
Reporter: | Gwynneth | Platform: | Unity3D | ||
Assigned To: | sfernandez | OS: | Windows | ||
Priority: | high | OS Version: | 10 | ||
Status: | resolved | Product Version: | 2.1.0f1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b1 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | Add IDictionary support to ResourceDictionary | ||||
Description: | Add IDictionary support to ResourceDictionary. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | Forum post: https://www.noesisengine.com/forums/viewtopic.php?f=3&t=1418 | ||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1300 | [NoesisGUI] Unity3D | feature | have not tried | 2018-05-17 08:17 | 2018-11-22 13:30 |
Reporter: | ivan_b | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b1 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | Copy/paste context menu for TextBox | ||||
Description: | Problem when implementing a TextBox style with copy/paste context menu. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0005244)
sfernandez 2018-06-28 12:04 |
Fixed for the next release. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1298 | [NoesisGUI] Unity3D | minor | always | 2018-05-04 19:10 | 2018-11-22 13:29 |
Reporter: | mingingmingler | Platform: | PC | ||
Assigned To: | sfernandez | OS: | Windows | ||
Priority: | normal | OS Version: | 10 x64 | ||
Status: | resolved | Product Version: | 2.1.0f1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b1 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | Noesis doesn't like x:Null as a value in xaml, e.g. Binding FallbackValue of Path.Stroke | ||||
Description: |
Noesis throws an error when trying to use x:Null as a fallback value on a Path.Stroke binding. NoesisException: Assets/Ui/Resources/GeneratedGraphicResources.xaml(7): Property 'Path.FallbackValue' not found. Rethrow as NoesisException Noesis.Error.Check () (at Assets/NoesisGUI/Plugins/API/Core/NoesisError.cs:17) Noesis.Extend.Noesis_FillExtendType_ (Noesis.ExtendTypeData& typeData, Int32 numProps, IntPtr propsData) (at Assets/NoesisGUI/Plugins/API/Core/NoesisExtendImports.cs:20) Noesis.Extend.RegisterNativeType (System.Type type, Boolean registerDP) (at Assets/NoesisGUI/Plugins/API/Core/NoesisExtend.cs:1259) Noesis.Extend.EnsureNativeType (System.Type type, Boolean registerDP) (at Assets/NoesisGUI/Plugins/API/Core/NoesisExtend.cs:1502) Noesis.Extend.EnsureNativeType (System.Type type) (at Assets/NoesisGUI/Plugins/API/Core/NoesisExtend.cs:1494) Noesis.Extend.CreateNativeTypeData (System.Type type, IntPtr nativeType) (at Assets/NoesisGUI/Plugins/API/Core/NoesisExtend.cs:1358) Noesis.Extend.RegisterNativeType (System.Type type, Boolean registerDP) (at Assets/NoesisGUI/Plugins/API/Core/NoesisExtend.cs:1254) Noesis.Extend.RegisterNativeType (System.Type type) (at Assets/NoesisGUI/Plugins/API/Core/NoesisExtend.cs:1147) Noesis.Extend.RegisterType (System.String typeName) (at Assets/NoesisGUI/Plugins/API/Core/NoesisExtend.cs:1684) Rethrow as NoesisException Noesis.Error.Check () (at Assets/NoesisGUI/Plugins/API/Core/NoesisError.cs:17) Noesis.Extend.Noesis_FillExtendType_ (Noesis.ExtendTypeData& typeData, Int32 numProps, IntPtr propsData) (at Assets/NoesisGUI/Plugins/API/Core/NoesisExtendImports.cs:20) Noesis.Extend.RegisterNativeType (System.Type type, Boolean registerDP) (at Assets/NoesisGUI/Plugins/API/Core/NoesisExtend.cs:1259) Noesis.Extend.RegisterNativeType (System.Type type) (at Assets/NoesisGUI/Plugins/API/Core/NoesisExtend.cs:1147) Noesis.Extend.RegisterType (System.String typeName) (at Assets/NoesisGUI/Plugins/API/Core/NoesisExtend.cs:1684) Rethrow as NoesisException Noesis.Error.Check () (at Assets/NoesisGUI/Plugins/API/Core/NoesisError.cs:17) Noesis.Extend.Noesis_FillExtendType_ (Noesis.ExtendTypeData& typeData, Int32 numProps, IntPtr propsData) (at Assets/NoesisGUI/Plugins/API/Core/NoesisExtendImports.cs:20) Noesis.Extend.RegisterNativeType (System.Type type, Boolean registerDP) (at Assets/NoesisGUI/Plugins/API/Core/NoesisExtend.cs:1259) Noesis.Extend.RegisterNativeType (System.Type type) (at Assets/NoesisGUI/Plugins/API/Core/NoesisExtend.cs:1147) Noesis.Extend.RegisterType (System.String typeName) (at Assets/NoesisGUI/Plugins/API/Core/NoesisExtend.cs:1684) Rethrow as NoesisException Noesis.Error.Check () (at Assets/NoesisGUI/Plugins/API/Core/NoesisError.cs:17) Noesis.Extend.Noesis_FillExtendType_ (Noesis.ExtendTypeData& typeData, Int32 numProps, IntPtr propsData) (at Assets/NoesisGUI/Plugins/API/Core/NoesisExtendImports.cs:20) Noesis.Extend.RegisterNativeType (System.Type type, Boolean registerDP) (at Assets/NoesisGUI/Plugins/API/Core/NoesisExtend.cs:1259) Noesis.Extend.RegisterNativeType (System.Type type) (at Assets/NoesisGUI/Plugins/API/Core/NoesisExtend.cs:1147) Noesis.Extend.RegisterType (System.String typeName) (at Assets/NoesisGUI/Plugins/API/Core/NoesisExtend.cs:1684) Rethrow as NoesisException Noesis.Error.Check () (at Assets/NoesisGUI/Plugins/API/Core/NoesisError.cs:17) Noesis.Extend.Noesis_FillExtendType_ (Noesis.ExtendTypeData& typeData, Int32 numProps, IntPtr propsData) (at Assets/NoesisGUI/Plugins/API/Core/NoesisExtendImports.cs:20) Noesis.Extend.RegisterNativeType (System.Type type, Boolean registerDP) (at Assets/NoesisGUI/Plugins/API/Core/NoesisExtend.cs:1259) Noesis.Extend.RegisterNativeType (System.Type type) (at Assets/NoesisGUI/Plugins/API/Core/NoesisExtend.cs:1147) Noesis.Extend.RegisterType (System.String typeName) (at Assets/NoesisGUI/Plugins/API/Core/NoesisExtend.cs:1684) Rethrow as NoesisException Noesis.Error.Check () (at Assets/NoesisGUI/Plugins/API/Core/NoesisError.cs:17) Noesis.Extend.Noesis_FillExtendType_ (Noesis.ExtendTypeData& typeData, Int32 numProps, IntPtr propsData) (at Assets/NoesisGUI/Plugins/API/Core/NoesisExtendImports.cs:20) Noesis.Extend.RegisterNativeType (System.Type type, Boolean registerDP) (at Assets/NoesisGUI/Plugins/API/Core/NoesisExtend.cs:1259) Noesis.Extend.RegisterNativeType (System.Type type) (at Assets/NoesisGUI/Plugins/API/Core/NoesisExtend.cs:1147) Noesis.Extend.RegisterType (System.String typeName) (at Assets/NoesisGUI/Plugins/API/Core/NoesisExtend.cs:1684) Rethrow as NoesisException Noesis.Error.Check () (at Assets/NoesisGUI/Plugins/API/Core/NoesisError.cs:17) Noesis.Extend.Noesis_RegisterEnumType_ (System.String typeName, Int32 numEnums, IntPtr enumsData) (at Assets/NoesisGUI/Plugins/API/Core/NoesisExtendImports.cs:12) Noesis.Extend.RegisterNativeType (System.Type type, Boolean registerDP) (at Assets/NoesisGUI/Plugins/API/Core/NoesisExtend.cs:1177) Noesis.Extend.EnsureNativeType (System.Type type, Boolean registerDP) (at Assets/NoesisGUI/Plugins/API/Core/NoesisExtend.cs:1502) Noesis.Extend.EnsureNativeType (System.Type type) (at Assets/NoesisGUI/Plugins/API/Core/NoesisExtend.cs:1494) Noesis.Extend.AddProperty (Noesis.NativeTypePropsInfo info, System.Reflection.PropertyInfo p, Boolean usePropertyInfo) (at Assets/NoesisGUI/Plugins/API/Core/NoesisExtendProps.cs:765) Noesis.Extend.CreateNativePropsData (System.Type type, System.Reflection.PropertyInfo[] props, Noesis.NativeTypeInfo info, System.Int32& numProps) (at Assets/NoesisGUI/Plugins/API/Core/NoesisExtend.cs:1426) Noesis.Extend.RegisterNativeType (System.Type type, Boolean registerDP) (at Assets/NoesisGUI/Plugins/API/Core/NoesisExtend.cs:1256) Noesis.Extend.RegisterNativeType (System.Type type) (at Assets/NoesisGUI/Plugins/API/Core/NoesisExtend.cs:1147) Noesis.Extend.RegisterType (System.String typeName) (at Assets/NoesisGUI/Plugins/API/Core/NoesisExtend.cs:1684) Rethrow as NoesisException Noesis.Error.Check () (at Assets/NoesisGUI/Plugins/API/Core/NoesisError.cs:17) Noesis.Extend.Noesis_InstantiateExtend_ (IntPtr nativeType) (at Assets/NoesisGUI/Plugins/API/Core/NoesisExtendImports.cs:26) Noesis.Extend.NewCPtr (System.Type type, System.Object instance) (at Assets/NoesisGUI/Plugins/API/Core/NoesisExtend.cs:3896) Noesis.Extend.GetInstanceHandle (System.Object instance) (at Assets/NoesisGUI/Plugins/API/Core/NoesisExtend.cs:4288) Noesis.Extend.ProviderLoadXaml (IntPtr cPtr, System.String filename) (at Assets/NoesisGUI/Plugins/API/Core/NoesisExtend.cs:2637) Rethrow as NoesisException Noesis.Error.Check () (at Assets/NoesisGUI/Plugins/API/Core/NoesisError.cs:17) Noesis.Extend.Noesis_InstantiateExtend_ (IntPtr nativeType) (at Assets/NoesisGUI/Plugins/API/Core/NoesisExtendImports.cs:26) Noesis.Extend.NewCPtr (System.Type type, System.Object instance) (at Assets/NoesisGUI/Plugins/API/Core/NoesisExtend.cs:3896) Noesis.Extend.GetInstanceHandle (System.Object instance) (at Assets/NoesisGUI/Plugins/API/Core/NoesisExtend.cs:4288) Noesis.Extend.ProviderLoadXaml (IntPtr cPtr, System.String filename) (at Assets/NoesisGUI/Plugins/API/Core/NoesisExtend.cs:2637) Rethrow as NoesisException Noesis.Error.Check () (at Assets/NoesisGUI/Plugins/API/Core/NoesisError.cs:17) Noesis.Extend.Noesis_InstantiateExtend_ (IntPtr nativeType) (at Assets/NoesisGUI/Plugins/API/Core/NoesisExtendImports.cs:26) Noesis.Extend.NewCPtr (System.Type type, System.Object instance) (at Assets/NoesisGUI/Plugins/API/Core/NoesisExtend.cs:3896) Noesis.Extend.GetInstanceHandle (System.Object instance) (at Assets/NoesisGUI/Plugins/API/Core/NoesisExtend.cs:4288) Noesis.Extend.ProviderLoadXaml (IntPtr cPtr, System.String filename) (at Assets/NoesisGUI/Plugins/API/Core/NoesisExtend.cs:2637) Rethrow as NoesisException Noesis.Error.Check () (at Assets/NoesisGUI/Plugins/API/Core/NoesisError.cs:17) Noesis.Extend.Noesis_InstantiateExtend_ (IntPtr nativeType) (at Assets/NoesisGUI/Plugins/API/Core/NoesisExtendImports.cs:26) Noesis.Extend.NewCPtr (System.Type type, System.Object instance) (at Assets/NoesisGUI/Plugins/API/Core/NoesisExtend.cs:3896) Noesis.Extend.GetInstanceHandle (System.Object instance) (at Assets/NoesisGUI/Plugins/API/Core/NoesisExtend.cs:4288) Noesis.Extend.ProviderLoadXaml (IntPtr cPtr, System.String filename) (at Assets/NoesisGUI/Plugins/API/Core/NoesisExtend.cs:2637) Rethrow as NoesisException Noesis.Error.Check () (at Assets/NoesisGUI/Plugins/API/Core/NoesisError.cs:17) Noesis.GUI.Noesis_LoadComponent_ (System.Runtime.InteropServices.HandleRef,string) (at Assets/NoesisGUI/Plugins/API/Core/NoesisGUI.cs:282) Noesis.GUI.LoadComponent (object,string) (at Assets/NoesisGUI/Plugins/API/Core/NoesisGUI.cs:135) Ui.HudScene.InitializeComponent () (at Assets/Ui/Scenes/HudScene.xaml.cs:472) Ui.HudScene..ctor () (at Assets/Ui/Scenes/HudScene.xaml.cs:28) (wrapper dynamic-method) System.Runtime.CompilerServices.ExecutionScope.lambda_method (System.Runtime.CompilerServices.ExecutionScope) <IL 0x00000, 0x00069> Noesis.Extend.CreateInstance (intptr,intptr) (at Assets/NoesisGUI/Plugins/API/Core/NoesisExtend.cs:3933) Rethrow as NoesisException Noesis.Error.Check () (at Assets/NoesisGUI/Plugins/API/Core/NoesisError.cs:17) Noesis.GUI.Noesis_LoadXaml_ (System.String xaml) (at Assets/NoesisGUI/Plugins/API/Core/NoesisGUI.cs:275) Noesis.GUI.LoadXaml (System.String xaml) (at Assets/NoesisGUI/Plugins/API/Core/NoesisGUI.cs:125) NoesisXaml.Load () (at Assets/NoesisGUI/Plugins/NoesisXaml.cs:31) NoesisView.LoadXaml (Boolean force) (at Assets/NoesisGUI/Plugins/NoesisView.cs:333) NoesisView.OnEnable () (at Assets/NoesisGUI/Plugins/NoesisView.cs:398) |
||||
Tags: | |||||
Steps To Reproduce: | <Path x:Key="Test" Stroke="{Binding Test, FallbackValue={x:Null}}" /> | ||||
Additional Information: |
I have a pipeline which generates a xaml resource file for svg assets. The generator applies bindings to each path, which allows me to control various visual properties at runtime. For example, it allows the item system to take a base asset and create a new item with slightly different visuals. The generator places a fallback value on each of these bound properties to store the default values. Path.Fill and Path.StrokeThickness seem to work fine, only Path.Stroke throws this error. |
||||
Attached Files: | |||||
Notes | |
(0005199)
mingingmingler 2018-05-04 19:15 |
Further testing revealed that it only happens when trying to apply a null value. I'm fairly sure null is an acceptable value for a stroke, but I can work around this so I've reduced the severity. |
(0005200)
mingingmingler 2018-05-04 19:40 |
Currently using Transparent as a workaround. Not sure about this approach in terms of performance though when there are a lot of objects using it. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1297 | [NoesisGUI] C# SDK | feature | N/A | 2018-05-04 07:11 | 2018-11-22 13:27 |
Reporter: | ai_enabled | Platform: | PC | ||
Assigned To: | sfernandez | OS: | Windows | ||
Priority: | normal | OS Version: | 10 x64 | ||
Status: | resolved | Product Version: | 2.1.0f1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b1 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | FrameworkPropertyMetadata has all properties as read-only | ||||
Description: |
For example, this is very useful but doesn't work in NoesisGUI:public static readonly DependencyProperty SearchTextProperty = DependencyProperty.Register(nameof(SearchText), typeof(string), typeof(TextBoxSearch), new FrameworkPropertyMetadata(defaultValue: string.Empty) { BindsTwoWayByDefault = true, DefaultUpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged }); |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
System Description | |||||
Attached Files: | |||||
Notes | |
(0005225)
sfernandez 2018-06-12 12:27 |
I added all the setters, and also added the Flags attribute to the FrameworkPropertyMetadataOptions enum that was missing. Will be fixed in next release. |
(0005226)
ai_enabled 2018-06-12 13:16 |
Thanks! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1292 | [NoesisGUI] Unity3D | feature | always | 2018-04-18 22:33 | 2018-11-22 13:26 |
Reporter: | Megamax5000 | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.1.0f1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b1 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | TextBox.ScrollToEnd() does not work, You must use ScrollViewer.ScrollToBottom() Instead | ||||
Description: | https://www.noesisengine.com/forums/viewtopic.php?f=3&t=1392 | ||||
Tags: | |||||
Steps To Reproduce: | https://www.noesisengine.com/forums/viewtopic.php?f=3&t=1392 | ||||
Additional Information: | https://www.noesisengine.com/forums/viewtopic.php?f=3&t=1392 | ||||
Attached Files: | |||||
Notes | |
(0005230)
sfernandez 2018-06-21 10:45 |
Implemented for the next release. |
(0005314)
sfernandez 2018-11-22 13:26 |
Implemented all TextBox scroll functions. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1282 | [NoesisGUI] C# SDK | feature | always | 2018-04-06 14:14 | 2018-11-22 12:51 |
Reporter: | ai_enabled | Platform: | PC | ||
Assigned To: | sfernandez | OS: | Windows | ||
Priority: | normal | OS Version: | 10 x64 | ||
Status: | resolved | Product Version: | 2.1.0f1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b1 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | Binding when datacontext is null. Implement TargetNullValue? | ||||
Description: |
Hi guys, For example, I have a control with the control template: <Border Background="Red" Visibility="{Binding MyViewModelPropertyVisibility}"> ... </Border> I would like to make visibility collapsed when the data context is null. However, it seems impossible right now to do this directly as TargetNullValue is not implemented. I've tried Visibility="{Binding Path=., Converter={StaticResource NullToVisibilityConverter}}" But the converter method doesn't even called by NoesisGUI when datacontext is null. Regards! |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
System Description | |||||
Attached Files: | |||||
Notes | |
(0005183)
sfernandez 2018-04-10 23:03 |
I know is not the same, but couldn't you use the FallbackValue that we already have implemented for these situations?<Border Background="Red" Visibility="{Binding MyViewModelPropertyVisibility, FallbackValue=Collapsed}"> ... </Border> |
(0005185)
ai_enabled 2018-04-11 06:40 |
Thanks! Didn't knew it was implemented. Yes, it works fine. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1281 | [NoesisGUI] Unreal | minor | always | 2018-04-06 11:47 | 2018-11-22 12:47 |
Reporter: | GeorgeR | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.1.0f1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b4 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | ScrollContentPresenter.CanHorizontallyScroll not supported | ||||
Description: |
LogNoesis: Warning: /Game/Frontier/UI/Themes/Generic.Generic(1155): Unknown member ScrollContentPresenter.CanHorizontallyScroll LogNoesis: Warning: /Game/Frontier/UI/Themes/Generic.Generic(1155): Unknown member ScrollContentPresenter.CanVerticallyScroll |
||||
Tags: | |||||
Steps To Reproduce: | 1. Import the provided file and view the output log | ||||
Additional Information: | |||||
Attached Files: |
Generic.xaml (75,133 bytes) 2018-04-06 11:47 https://www.noesisengine.com/bugs/file_download.php?file_id=926&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1272 | [NoesisGUI] Unity3D | feature | always | 2018-04-03 14:55 | 2018-11-22 12:25 |
Reporter: | zloty | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | high | OS Version: | |||
Status: | resolved | Product Version: | 2.1.0f1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b4 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | Custom panel implementation | ||||
Description: |
As discussed in https://www.noesisengine.com/forums/viewtopic.php?f=3&t=1337 we need a custom panel. But this is not possible, because we can't implement FrameworkElement.MeasureOverride and FrameworkElement.ArrangeOverride. Furthermore Panel.InternalChildren is also not available in the interface, but this property is used in almost every WPF documentation for custom panels. But i'm not sure if this is really necessary or just the same as the already existing property Panel.Children. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1271 | [NoesisGUI] Unreal | minor | always | 2018-04-03 05:09 | 2018-11-22 12:21 |
Reporter: | ride_wind | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | none | OS Version: | |||
Status: | resolved | Product Version: | 2.1.0f1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b1 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | Menu Custom Style can't normal work | ||||
Description: |
I use custom style and template to create a menu, When I mouse click menuitem of menu, and drag the mouse to outer of menu's pupup panel, the clicked menuitem can't change from ispressed to normal, besides the popup can't close. forum link: https://www.noesisengine.com/forums/viewtopic.php?f=3&t=1366 |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1266 | [NoesisGUI] C++ SDK | feature | N/A | 2018-03-27 15:58 | 2018-11-22 12:17 |
Reporter: | realesmedia | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.1.0f1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b1 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | TextBox caret position from mouse cursor position | ||||
Description: |
https://www.noesisengine.com/forums/viewtopic.php?f=3&t=1339 Do you have GetCharacterIndexFromPoint() implementation in Noesis? How can I implement it by myself? MSDN TextBox.GetCharacterIndexFromPoint() |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0005231)
sfernandez 2018-06-21 16:06 |
I implemented this (along with other similar functions) for the next release. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1265 | [NoesisGUI] C++ SDK | major | always | 2018-03-27 15:57 | 2018-11-22 12:16 |
Reporter: | realesmedia | Platform: | x64 | ||
Assigned To: | sfernandez | OS: | Windows | ||
Priority: | high | OS Version: | 7, 8.1, 10 | ||
Status: | resolved | Product Version: | 2.1.0f1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b1 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | ObservableCollection Clear() in Noesis 2.1 | ||||
Description: |
https://www.noesisengine.com/forums/viewtopic.php?f=3&t=1338 Have a collection in class: Code: Select all Noesis::Ptr<Noesis::ObservableCollection<BasePropertyComponent>> properties = *new Noesis::ObservableCollection<BasePropertyComponent>(); In Noesis 2.0 we have to use properties->Clear() for destroy objects. In Noesis 2.1 Clear() method doesn't call destructor, but next code works: Code: Select all while (properties->Count()) { properties->RemoveAt(0); } |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
Src.zip (1,790 bytes) 2018-03-28 12:09 https://www.noesisengine.com/bugs/file_download.php?file_id=910&type=bug Src-2.zip (2,506 bytes) 2018-03-28 15:34 https://www.noesisengine.com/bugs/file_download.php?file_id=911&type=bug |
||||
Notes | |
(0005154)
realesmedia 2018-03-28 12:10 |
https://www.noesisengine.com/forums/viewtopic.php?f=3&t=1254&p=7982#p7982 |
(0005158)
realesmedia 2018-03-28 15:34 |
UPD: https://www.noesisengine.com/forums/viewtopic.php?f=3&t=1254&p=7997#p7997 |
(0005227)
sfernandez 2018-06-14 11:38 |
Bug found and solved for the next release. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1236 | [NoesisGUI] Unity3D | major | always | 2018-02-06 06:46 | 2018-11-22 12:09 |
Reporter: | CMarinacci | Platform: | Unity3D | ||
Assigned To: | sfernandez | OS: | Windows | ||
Priority: | normal | OS Version: | 10.0.162 | ||
Status: | resolved | Product Version: | 2.1.0rc2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b1 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | The tabs in TabControl are always on a single line | ||||
Description: | The tabs in TabControl are always on a single line. When using the included code, the tabs are on two lines in WPF, but only a single line in NoesisGUI (and the rightmost tabs are cut off). | ||||
Tags: | |||||
Steps To Reproduce: |
<UserControl x:Class="MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"mc:Ignorable="d"> <TabControl Width="200"> <TabItem Header="One"> <Grid Height="300"/> </TabItem> <TabItem Header="Two" /> <TabItem Header="Three" /> <TabItem Header="Four" /> <TabItem Header="Five" /> <TabItem Header="Six" /> </TabControl> </UserControl> |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0005237)
sfernandez 2018-06-26 13:04 |
Fixed for the next release. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1229 | [NoesisGUI] C# SDK | minor | always | 2018-01-29 10:00 | 2018-11-22 12:07 |
Reporter: | ai_enabled | Platform: | PC | ||
Assigned To: | sfernandez | OS: | Windows | ||
Priority: | normal | OS Version: | 10 x64 | ||
Status: | resolved | Product Version: | 2.1.0rc2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b1 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | LineHeight is broken for TextBlock? | ||||
Description: |
Hi guys, I just noticed that LineHeight doesn't make any effect on our textblocks anymore... You've implemented this years ago http://www.noesisengine.com/bugs/view.php?id=472 |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
System Description | |||||
Attached Files: | |||||
Notes | |
(0005060)
sfernandez 2018-01-29 15:06 |
It seems that we broke this when we implemented support for inlines. We will try to bring it back. |
(0005063)
jsantos 2018-01-30 05:16 |
And we will add a test for this to avoid breaking it again... :( |
(0005064)
ai_enabled 2018-01-30 05:18 |
Thanks, guys! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1306 | [NoesisGUI] C# SDK | major | always | 2018-06-01 12:19 | 2018-11-22 12:02 |
Reporter: | ai_enabled | Platform: | PC | ||
Assigned To: | sfernandez | OS: | Windows | ||
Priority: | normal | OS Version: | 10 x64 | ||
Status: | resolved | Product Version: | 2.1.0f1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b1 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | IsHitTestVisible assinging has no effect? | ||||
Description: |
Hi guys, I've just noticed that assigning IsHitTestVisible in C# to my UserControl doesn't change the IsHitTestVisible value in NoesisGUI C++ part. I mean, the value is properly assigned with NoesisGUI_PINVOKE.UIElement_IsHitTestVisible_set(swigCPtr, value) in setter but the getter NoesisGUI_PINVOKE.UIElement_IsHitTestVisible_get(swigCPtr) always return previous value like nothing happened. Please investigate :-). |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
System Description | |||||
Attached Files: | |||||
Notes | |
(0005221)
sfernandez 2018-06-06 16:19 |
I know what was happening. It only occurs with elements that are not initialized (not yet added to the UI tree). I fixed it to work always as expected. |
(0005222)
ai_enabled 2018-06-06 16:21 |
Thanks! I'm glad to help :-). |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1219 | [NoesisGUI] Unity3D | feature | N/A | 2018-01-17 14:49 | 2018-11-22 11:54 |
Reporter: | easylaser | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.1.0b17 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b1 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | Support for InputScope | ||||
Description: |
Hi, It would be nice to have support for InputScope: https://msdn.microsoft.com/en-us/library/windows/apps/mt280229.aspx In our program we will have email, text and numeric keyboard |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1151 | [NoesisGUI] C++ SDK | major | always | 2017-09-20 03:25 | 2018-11-22 11:49 |
Reporter: | nikobarli | Platform: | Windows | ||
Assigned To: | sfernandez | OS: | Windows 10 | ||
Priority: | normal | OS Version: | Creators Update | ||
Status: | resolved | Product Version: | 2.0.2f2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b1 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | Cannot show ContextMenu programmatically when instantiating it from Resources | ||||
Description: |
Originally from http://www.noesisengine.com/forums/viewtopic.php?f=3&t=1175 When a context menu is instantiated from a resource, it cannot be shown correctly programmatically (i.e. by calling SetIsOpen(true)). Showing by right-click is working. Please see the sample code from the above link. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0005243)
sfernandez 2018-06-28 12:03 |
Fixed for the next release. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1144 | [NoesisGUI] Unity3D | major | always | 2017-09-01 21:03 | 2018-11-22 11:48 |
Reporter: | pbastia | Platform: | Unity 2017.1.0f3 | ||
Assigned To: | sfernandez | OS: | Windows | ||
Priority: | high | OS Version: | 7 | ||
Status: | resolved | Product Version: | 2.0.2f2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b1 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | ContextMenu not closing properly when using complex template (Unity) | ||||
Description: |
I'm having a case where the context menu won't close after it has been open, when I put a button (or anything more than a label) inside a MenuItem header. Things will behave properly until I click on the content (the button here). After this, the menu won't close with a click outside of it. Clicking on the zone between the button and the edge of the menu causes things to work properly again. |
||||
Tags: | |||||
Steps To Reproduce: |
- Create a border with a context menu attached - Inside the context menu's MenuItem header, insert something else than a label (e.g. a button) - Right click on the border to open the menu - Click on the button inside the contextmenu Now the contextmenu is locked in the open state and cannot be closed by clicking outside anymore. |
||||
Additional Information: |
Code used to reproduce: <Border Background="#22000000"> <Border.ContextMenu> <ContextMenu> <MenuItem> <MenuItem.Header> <Button Content="something"/> </MenuItem.Header> </MenuItem> </ContextMenu> </Border.ContextMenu> </Border> |
||||
Attached Files: | |||||
Notes | |
(0005246)
sfernandez 2018-06-28 12:16 |
Fixed for the next release. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1140 | [NoesisGUI] Unity3D | feature | always | 2017-08-28 08:05 | 2018-11-22 11:43 |
Reporter: | jumes | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.0.2f2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b1 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | Changing value of TabStripPlacement property in TabControl object don't change anything | ||||
Description: |
Ok, when I want to place the tab header on the left side, so I find this issue.From this thread http://www.noesisengine.com/forums/viewtopic.php?f=3&t=952&p=6404&hilit=TabStripPlacement#p6404 It is important for mobile games when player hold the device with two hands, it is easy to touch the left and right side of the screen. If player hold device with single hand, it is easy to touch the bottom side of the screen. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0005238)
sfernandez 2018-06-26 13:04 |
Fixed for the next release. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1118 | [NoesisGUI] C++ SDK | minor | always | 2017-06-26 09:46 | 2018-11-22 11:40 |
Reporter: | nikobarli | Platform: | Windows | ||
Assigned To: | sfernandez | OS: | Windows | ||
Priority: | normal | OS Version: | Windows 10 | ||
Status: | resolved | Product Version: | 2.0.2f2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b1 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | When empty, TextBox's caret is always positioned on the left | ||||
Description: |
Create a text box and set its TextAlignment property to "Center" (or "Right") as follows <TextBox TextAlignment="Center"></TextBox> Then run it. -> The caret is position on the left when the TextBox is empty. It should be positioned on Center following the TextAlignment property. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0005068)
nikobarli 2018-01-31 08:56 |
Seems to have been fixed by 2.1.0rc2 |
(0005075)
nikobarli 2018-02-01 03:16 |
Sorry, I missed the verification. The problem is still there by 2.1.0.rc2 |
(0005229)
sfernandez 2018-06-19 20:35 |
I fixed this for the next release. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1048 | [NoesisGUI] Unity3D | major | always | 2017-04-07 10:05 | 2018-11-22 11:32 |
Reporter: | XaeroDegreaz | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 1.3.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b1 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | Unity - Framerate drops when pressing shift+tab, tab or clicking rightmost column inside of a ListView | ||||
Description: |
From: http://www.noesisengine.com/forums/posting.php?mode=edit&f=3&p=5951 Here's the code-behind: [code] using System.Collections.ObjectModel; using Noesis; namespace KazBall.Ui.Hud { public class ScoreScreen : UserControl { public ScoreScreen() { Initialized += ( sender, args ) => { DataContext = new ScoreScreenViewModel( this ); }; GUI.LoadComponent( this, "Assets/Ui/Hud/ScoreScreen.xaml" ); } } public class ScoreScreenViewModel { public class ScoreItem { public string PlayerName { get; set; } public int Score { get; set; } public string TeamColour { get; set; } } public ObservableCollection<ScoreItem> ScoreItems { get; set; } = new ObservableCollection<ScoreItem>(); public ScoreScreenViewModel( UserControl rootControl ) { ScoreItems.Add( new ScoreItem {PlayerName = "Player 1", Score = 1, TeamColour = "Red"} ); ScoreItems.Add( new ScoreItem {PlayerName = "Player 1", Score = 1, TeamColour = "LightBlue"} ); //# These fix the "Tab" key, but not the "Shift + Tab" //rootControl.KeyDown += ( sender, args ) => args.Handled = true; //rootControl.PreviewKeyDown += ( sender, args ) => args.Handled = true; } } } [/code] Here's the WPF: [code] <UserControl KeyboardNavigation.TabNavigation="None" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" x:Class="KazBall.Ui.Hud.ScoreScreen" d:DesignWidth="640" d:DesignHeight="480"> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="*"/> <ColumnDefinition Width="*"/> </Grid.ColumnDefinitions> <ListView x:Name="ListView" Grid.ColumnSpan="2" ItemsSource="{Binding ScoreItems}"> <ListView.View> <GridView AllowsColumnReorder="False"> <GridViewColumn Header="Player" Width="{Binding ActualWidth, ElementName=LeftColumn}"> <GridViewColumn.CellTemplate> <DataTemplate> <TextBlock Text="{Binding PlayerName}" Foreground="{Binding TeamColour}" /> </DataTemplate> </GridViewColumn.CellTemplate> </GridViewColumn> <GridViewColumn Header="Score" Width="{Binding ActualWidth, ElementName=RightColumn}" DisplayMemberBinding="{Binding Score}"/> </GridView> </ListView.View> </ListView> <!-- Stupid hack for grid view columns to auto width --> <Grid Visibility="Hidden"> <Grid Grid.Column="1" x:Name="LeftColumn" /> <Grid Grid.Column="2" x:Name="RightColumn" /> </Grid> </Grid> </UserControl> [/code] I'd also like to not that it only seems to happen when there are actually items in the list. Another note: I tried changing the width of the two columns so that the right-most column is not wide enough to reach the edge of the grid and that stopped it from freaking out. I think it's related to the problem: http://www.noesisengine.com/forums/viewtopic.php?f=3&t=1045 |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
2017-04-07_02-37-10.gif (441,222 bytes) 2017-04-07 10:05 https://www.noesisengine.com/bugs/file_download.php?file_id=760&type=bug 2017-04-07_02-51-19.gif (840,655 bytes) 2017-04-07 10:05 https://www.noesisengine.com/bugs/file_download.php?file_id=761&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1214 | [NoesisGUI] C++ SDK | block | always | 2017-12-31 10:02 | 2018-11-22 11:32 |
Reporter: | nikobarli | Platform: | Windows | ||
Assigned To: | sfernandez | OS: | Windows 10 | ||
Priority: | urgent | OS Version: | Fall Creators Up | ||
Status: | resolved | Product Version: | 2.1.0b12 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b1 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | Juggling view of ListView when horizontal scrollbar is shown | ||||
Description: |
from https://www.noesisengine.com/forums/viewtopic.php?f=3&t=1253 Please feed the following XAML to XamlPlayer. Then click the 'Font' header of the shown ListView. You'll see that the view is juggling left <-> right. This doesn't happen if the horizontal scrollbar is not shown. <UserControl xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Width="400" Height="300"> <Grid> <ListView> <ListView.View> <GridView> <GridViewColumn Header="Text" Width="200" DisplayMemberBinding="{Binding Text}"/> <GridViewColumn Header="Font" Width="230" DisplayMemberBinding="{Binding FontFamily}"/> </GridView> </ListView.View> <ListView.Items> <TextBlock Text="First"/> <TextBlock Text="Second"/> <TextBlock Text="Third"/> </ListView.Items> </ListView> </Grid> </UserControl> |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0005077)
nikobarli 2018-02-01 04:26 |
I increased the severity and priority of this issue, because after falling to this behavior, apps will stop responding. |
(0005240)
sfernandez 2018-06-26 18:46 |
Fixed for the next release. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1045 | [NoesisGUI] C++ SDK | feature | always | 2017-04-05 18:54 | 2018-11-22 11:30 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b1 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | Expose FrameworkElement.Parent property in reflection | ||||
Description: |
So it can be used in bindings: {Binding Parent.Radius} From forum topic: http://www.noesisengine.com/forums/viewtopic.php?f=3&t=1052 |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0005233)
sfernandez 2018-06-22 19:31 |
Done. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1351 | [NoesisGUI] C++ SDK | feature | have not tried | 2018-11-21 13:48 | 2018-11-22 10:32 |
Reporter: | jsantos | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Avoid exposing Noesis::Symbol in public API | ||||
Description: | http://www.noesisengine.com/forums/viewtopic.php?f=3&t=694&p=3838#p3838 | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1166 | [NoesisGUI] C++ SDK | feature | always | 2017-10-19 10:14 | 2018-11-22 10:29 |
Reporter: | nikobarli | Platform: | Windows | ||
Assigned To: | sfernandez | OS: | Windows 10 | ||
Priority: | normal | OS Version: | Creators Update | ||
Status: | assigned | Product Version: | 2.0.2f2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Some scenarios that need to be supported by Drag and Drop framework | ||||
Description: |
From http://www.noesisengine.com/forums/viewtopic.php?f=3&t=540&start=10 There some scenarios that I think you should consider when implementing this. 1. Should be able to drag and drop between Noesis' View and native windows, including the case when the source and target are in different processes (e.g. you should be able to drag and drop text from a browser window into a Noesis' TextBox). In Windows, this is done using Ole Drag and Drop (I think WPF's implementation wraps around this APIs). 2. Should be able to show Context Menu when an item is dropped (e.g. Drop -> Show Menu -> User selects 'Move Item' from the menu -> Drop done -> Item is removed from Source) |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1165 | [NoesisGUI] C++ SDK | minor | always | 2017-10-19 10:11 | 2018-11-22 10:28 |
Reporter: | nikobarli | Platform: | Windows | ||
Assigned To: | sfernandez | OS: | Windows 10 | ||
Priority: | normal | OS Version: | Creators Update | ||
Status: | resolved | Product Version: | 2.0.2f2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b4 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | Controls do not respond when put inside Expander Header | ||||
Description: |
From https://www.noesisengine.com/forums/viewtopic.php?f=3&t=1203 If I put some controls inside an expander's header, the controls do not respond to any mouse events. For example, with the below XAML, I cannot edit the text box. <Expander> <Expander.Header> <TextBox>Header</TextBox> </Expander.Header> </Expander> |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1129 | [NoesisGUI] C++ SDK | minor | always | 2017-08-01 13:47 | 2018-11-22 10:19 |
Reporter: | AndreasEnscape | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 2.0.2f2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Expander Property ExpandDirection not working | ||||
Description: |
The above mentioned property ExpandDirection of the Expander object (xaml) is not working at all, drop down expanding will occur no matter what the property is set to (Left, Right, up, down). |
||||
Tags: | Expander | ||||
Steps To Reproduce: |
<UserControl x:Class="SideExpander" x:Name="ViewAccessor" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" UseLayoutRounding="True" > <Grid> <Expander ExpandDirection="Left" Margin="0,8,0,0" Width="auto" Height="120"> </Expander> </Grid> </UserControl> |
||||
Additional Information: |
Forum entry: http://www.noesisengine.com/forums/viewtopic.php?f=3&t=1143&p=6518#p6518 |
||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1125 | [NoesisGUI] C# SDK | major | always | 2017-07-24 17:33 | 2018-11-22 10:16 |
Reporter: | pbastia | Platform: | Unity 2017.1b | ||
Assigned To: | sfernandez | OS: | Windows | ||
Priority: | normal | OS Version: | 7 | ||
Status: | assigned | Product Version: | 2.0.2f2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | ComboBox with complex item doesn't render in the main box | ||||
Description: |
Hi, I am having trouble using the combobox in Unity3D, with more complex items (more than just a label or plain text). The selected object doesn't render in the main control, only in the expanding list. (see attached images) However, Noesis behaves properly when using an itemtemplate. Thanks a lot! |
||||
Tags: | |||||
Steps To Reproduce: |
<ComboBox Width="80" Height="40"> <ComboBoxItem IsSelected="True"> <StackPanel Orientation="Horizontal" Background="Yellow"> <Label Content="123" Padding="6,4"/> <Label Content="123" Padding="6,4"/> </StackPanel> </ComboBoxItem> <ComboBoxItem> <StackPanel Orientation="Horizontal" Background="MediumPurple"> <Label Content="456" Padding="6,4"/> <Label Content="456" Padding="6,4"/> </StackPanel> </ComboBoxItem> <ComboBoxItem> <StackPanel Orientation="Horizontal" Background="ForestGreen"> <Label Content="789" Padding="6,4"/> <Label Content="789" Padding="6,4"/> </StackPanel> </ComboBoxItem> </ComboBox> |
||||
Additional Information: | |||||
Attached Files: |
combo_closed.png (1,188 bytes) 2017-07-24 17:33 https://www.noesisengine.com/bugs/file_download.php?file_id=832&type=bug combo_open.png (2,269 bytes) 2017-07-24 17:33 https://www.noesisengine.com/bugs/file_download.php?file_id=833&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1094 | [NoesisGUI] C# SDK | minor | N/A | 2017-05-24 05:55 | 2018-11-22 10:13 |
Reporter: | ai_enabled | Platform: | PC | ||
Assigned To: | sfernandez | OS: | Windows | ||
Priority: | none | OS Version: | 10 x64 | ||
Status: | assigned | Product Version: | 2.0.2f2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Reduce locking in C# API | ||||
Description: |
There are many lock calls in NoesisExtend.cs. In some cases it decreases performance much and even might lead to deadlocks. Now it seems to be correct, but in the future, when API will be extended further, it might lead to this issue as the code is very complicated. The problem I see is that you cannot use System.Collections.Concurrent and ThreadLocal as they were introduced in .NET 4.0+ which is supported only in the latest beta of Unity. If I will have any ideas I will let you know. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
System Description | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1092 | [NoesisGUI] C++ SDK | tweak | always | 2017-05-23 17:22 | 2018-11-22 10:12 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 2.0.2f2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | ListView bad drag scroll performance | ||||
Description: |
From: http://www.noesisengine.com/forums/viewtopic.php?f=3&t=1090 If I have to handle a large number of items inside ListView (~100k), is there anything I can do to boost the performance ? Scrolling using the mouse wheel seems pretty fast, but dragging using scroll bar seems a bit sluggish (fps is down to 5~10 fps in my environment). |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1328 | [NoesisGUI] C# SDK | minor | have not tried | 2018-10-30 12:46 | 2018-11-22 09:57 |
Reporter: | JasonL663 | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b3 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | NoesisException cannot be caught explicitly | ||||
Description: |
The Noesis.Error.NoesisException class is marked as private. This means it cannot be caught explicitly. Instead, developers are forced to do a blanket catch by catching System.Exception which makes it difficult to distinguish between a Noesis error and a system error (e.g NullReferenceException). |
||||
Tags: | |||||
Steps To Reproduce: |
Attempt to compile an expression catching a NoesisException produced by a call to Noesis.GUI.LoadComponent: try { Noesis.GUI.LoadComponent(component, xamlPath); } catch (Noesis.Error.NoesisException) { } Observe the resulting CS0122 compile error: 'Error.NoesisException' is inaccessible due to its protection level |
||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0005268)
admin 2018-10-30 12:47 |
Our hosting company corrupted our database without a backup. We are manually reconstructing all the issues. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
412 | [NoesisGUI] Unity3D | feature | N/A | 2014-06-01 19:43 | 2018-11-22 09:49 |
Reporter: | Scherub | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | low | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Group and sort items using a CollectionViewSource | ||||
Description: | It would be nice to be able to group (and sort) items using a CollectionViewSource. Right now PropertyGroupDescription doesn't seem to be implemented. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1319 | [NoesisGUI] C# SDK | feature | always | 2018-06-30 05:29 | 2018-11-22 09:49 |
Reporter: | horeaper | Platform: | Windows | ||
Assigned To: | sfernandez | OS: | 10 | ||
Priority: | normal | OS Version: | 10.0.17134.112 | ||
Status: | assigned | Product Version: | 2.1.0f1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Add ICollectionView so sorting and grouping can be supported. | ||||
Description: |
Sorting is a most needed feature. Grouping can be achieved by various ways, yet sorting is not, at least not efficiently. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
711 | [NoesisGUI] C++ SDK | crash | always | 2015-08-26 18:00 | 2018-11-22 09:46 |
Reporter: | ZanAlex | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | VisualBrush crash | ||||
Description: | Apparently, setting VisualBrush.Visual to another element of the UI tree leads to a crash in both the Player and my application. | ||||
Tags: | |||||
Steps To Reproduce: |
<StackPanel xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Background="Gray" Orientation="Vertical" VerticalAlignment="Center"> <Slider x:Name="PART_Slider" Orientation="Horizontal" Height="22" Maximum="100" Value="4" Width="300"/> <ProgressBar Height="29.532" Value="{Binding Value, ElementName=PART_Slider}" Width="300"> <ProgressBar.Style> <Style TargetType="{x:Type ProgressBar}"> <Setter Property="Template"> <Setter.Value> <ControlTemplate> <Grid> <Rectangle x:Name="PART_Indicator" Fill="Pink" HorizontalAlignment="Left"/> <Border x:Name="PART_Track" Background="Black"/> <Grid> <Grid.OpacityMask> <VisualBrush Visual="{Binding ElementName=PART_Indicator}"/> </Grid.OpacityMask> <Rectangle Fill="White"/> </Grid> </Grid> </ControlTemplate> </Setter.Value> </Setter> </Style> </ProgressBar.Style> </ProgressBar> </StackPanel> |
||||
Additional Information: |
{{{ Unhandled exception at 0x0FB1D799: Access Violation writing location 0x8C0000AC }}} {{{ [ 0] [0x0FB1D799] Noesis.dll!Noesis::Gui::Visual::SetVisualFlag + 0x9 bytes [ 1] [0x0FB1F99B] Noesis.dll!Noesis::Gui::VisualBrush::UpdateRenderProxy + 0x2b bytes [ 2] [0x0FAC46C2] Noesis.dll!Noesis::Core::Exception::ClearCriticalFlag + 0xf052 bytes [ 3] [0x0FB1EB77] Noesis.dll!Noesis::Gui::Visual::UpdateOpacityMask + 0xb7 bytes [ 4] [0x0FB1ED8E] Noesis.dll!Noesis::Gui::Visual::UpdateRender + 0x6e bytes [ 5] [0x0FB1EDB6] Noesis.dll!Noesis::Gui::Visual::UpdateRender + 0x96 bytes [ 6] [0x0FB1EDB6] Noesis.dll!Noesis::Gui::Visual::UpdateRender + 0x96 bytes [ 7] [0x0FB1EDB6] Noesis.dll!Noesis::Gui::Visual::UpdateRender + 0x96 bytes [ 8] [0x0FB1EDB6] Noesis.dll!Noesis::Gui::Visual::UpdateRender + 0x96 bytes [ 9] [0x0FB1EDB6] Noesis.dll!Noesis::Gui::Visual::UpdateRender + 0x96 bytes [10] [0x0FB1EDB6] Noesis.dll!Noesis::Gui::Visual::UpdateRender + 0x96 bytes [11] [0x0FB1EDB6] Noesis.dll!Noesis::Gui::Visual::UpdateRender + 0x96 bytes [12] [0x0FB1EDB6] Noesis.dll!Noesis::Gui::Visual::UpdateRender + 0x96 bytes [13] [0x0FB1EDB6] Noesis.dll!Noesis::Gui::Visual::UpdateRender + 0x96 bytes [14] [0x0FB1EDB6] Noesis.dll!Noesis::Gui::Visual::UpdateRender + 0x96 bytes [15] [0x0FB1EDB6] Noesis.dll!Noesis::Gui::Visual::UpdateRender + 0x96 bytes [16] [0x0FB1EDB6] Noesis.dll!Noesis::Gui::Visual::UpdateRender + 0x96 bytes [17] [0x0FB1EDB6] Noesis.dll!Noesis::Gui::Visual::UpdateRender + 0x96 bytes [18] [0x0FAB6A1B] Noesis.dll!Noesis::Core::Exception::ClearCriticalFlag + 0x13ab bytes [19] [0x0FAB4C73] Noesis.dll!Noesis::Gui::RenderCommands::Reset + 0x9b3 bytes [20] [0x0FAB38DE] Noesis.dll!Noesis::Gui::Visual::GetContentBoundsCore + 0x51e bytes [21] [0x0FAB4BAE] Noesis.dll!Noesis::Gui::RenderCommands::Reset + 0x8ee bytes [22] [0x0F9D1806] Noesis.dll!Noesis::Gui::Application::Tick + 0xa6 bytes [23] [0x0FB8BF63] Noesis.dll!Noesis::Gui::NoesisApplication::Tick + 0x23 bytes [24] [0x0FB8B7E4] Noesis.dll!Noesis::Gui::WindowApplication::OnKernelTick + 0xc4 bytes [25] [0x0FB8B425] Noesis.dll!Noesis::Gui::WindowApplication::Finalize + 0xd5 bytes [26] [0x0F8037D8] Noesis.dll!Noesis::Core::Threading::Job::SetGID + 0x758 bytes [27] [0x0FB8BA57] Noesis.dll!Noesis::Gui::WindowApplication::Run + 0x67 bytes [28] [0x01381220] Gui.XamlPlayer.exe [29] [0x013818F1] Gui.XamlPlayer.exe [30] [0x75C9336A] kernel32.dll!BaseThreadInitThunk + 0x12 bytes [31] [0x778E9882] ntdll.dll!RtlInitializeExceptionChain + 0x63 bytes [32] [0x778E9855] ntdll.dll!RtlInitializeExceptionChain + 0x36 bytes }}} |
||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1308 | [NoesisGUI] Unity3D | feature | N/A | 2018-06-05 21:34 | 2018-11-22 09:43 |
Reporter: | Gwynneth | Platform: | Unity3D | ||
Assigned To: | sfernandez | OS: | Windows | ||
Priority: | low | OS Version: | 10 | ||
Status: | assigned | Product Version: | 2.1.0f1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Offer support of serializing objects in XAML format. | ||||
Description: | Offer support of serializing objects in XAML format. WPF offers a XamlWriter class for this. Intended use case is to save user edited ResourceDictionaries to file. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | Forum post: https://www.noesisengine.com/forums/viewtopic.php?f=3&t=1418 | ||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1233 | [NoesisGUI] C++ SDK | feature | always | 2018-02-06 05:19 | 2018-11-22 09:38 |
Reporter: | nikobarli | Platform: | Windows | ||
Assigned To: | sfernandez | OS: | Windows 10 | ||
Priority: | normal | OS Version: | Windows 10 FCU | ||
Status: | assigned | Product Version: | 2.1.0rc2 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Faster tree-view | ||||
Description: | The speed of tree-view is very slow. Need a better support for virtualization. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1315 | [NoesisGUI] C# SDK | minor | always | 2018-06-27 07:12 | 2018-11-22 09:35 |
Reporter: | ai_enabled | Platform: | PC | ||
Assigned To: | sfernandez | OS: | Windows | ||
Priority: | normal | OS Version: | 10 x64 | ||
Status: | resolved | Product Version: | 2.1.0f1 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b3 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | "Binding failed" spam for ItemsSource items - possibly an item disposal issue | ||||
Description: |
Hi guys, I've enabled NoesisGUI errors and was overwhelmed by "binding failed" errors spam. I have no reasonable explanation why so many "binding failed" errors are displayed. For example, we have a console log in the game. It's implemented as an ItemsControl with ItemsSource binding to the observable collection of the viewmodels. The ItemTemplate is using databinding to bind to the viewmodel. But I have tons of "binding failed" exceptions: Binding failed: Path=TextMessage, Source=null(''), Target=TextBlock(''), TargetProperty=TextBlock.Text Binding failed: Path=ForegroundBrush, Source=null(''), Target=TextBlock(''), TargetProperty=TextElement.Foreground Binding failed: Path=ColumnSpan, Source=null(''), Target=TextBlock(''), TargetProperty=Grid.ColumnSpan Binding failed: Path=Column, Source=null(''), Target=TextBlock(''), TargetProperty=Grid.Column Binding failed: Path=ForegroundBrush, Source=null(''), Target=TextBlock(''), TargetProperty=TextElement.Foreground It seems these binding errors happens when NoesisGUI sets DataContext to null when disposing the item control (built from the ItemTemplate). Regards! |
||||
Tags: | |||||
Steps To Reproduce: |
You can use the latest game version from AtomicTorch.com (installed with our Game Launcher). Enable "Developer mode" in the options and toggle the console (by default ~ key and we did something recently so it should work fine on most keyboard layouts now :-) ) and try to scroll it (so some console ItemsControl items will be disposed automatically by NoesisGUI). You can disable virtualization for this ItemsControl if needed - see key LogEntriesItemsControlStyle in the resource dictionary at "<game installation folder>\Core\Core.cpk\UI\Controls\Core\ConsoleControlResources.xaml". If you need a debug game build I can provide it on the request. |
||||
Additional Information: | |||||
System Description | |||||
Attached Files: | |||||
Notes | |
(0005241)
ai_enabled 2018-06-27 08:24 |
This also causes some noticeable micro-stuttering as all these string objects created and passed from C++ to C#. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1064 | [NoesisGUI] Unity3D | minor | always | 2017-04-27 09:04 | 2018-11-21 17:12 |
Reporter: | rolandtomczak | Platform: | Any | ||
Assigned To: | jsantos | OS: | any | ||
Priority: | low | OS Version: | any | ||
Status: | resolved | Product Version: | 2.0.1f1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b4 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | Vertical spacing above font not consistant with 1.2.0 | ||||
Description: |
Hi, I've an user control displaying a single letter using ROBOTO font. The vertical placement in 1.2 and 2.0 isn't the same, as shown in the attached screenshot. Please also note that in 1.2, the placement wasn't consistant with the WPF one (I had to add a negative vertical margin on my fonts) |
||||
Tags: | |||||
Steps To Reproduce: |
<!-- Font_Patient_Sans is #Roboto --> <Grid x:Name="LayoutRoot" RenderTransformOrigin="0.5,0.5"> <Viewbox Stretch="Uniform"> <Button x:Name="butSelector" Width="250" Height="250" Style="{DynamicResource Button_Round_Style}" Background="{x:Null}" BorderBrush="{x:Null}" Foreground="{x:Null}"> <Grid Width="250" Height="250"> <Grid x:Name="grdSymetryHost" Width="250" Height="250"> <Grid x:Name="grdLetter" Margin="0" Width="250" Height="250"> <Rectangle Fill="#FF424242" RadiusX="30" RadiusY="30" Width="250" Height="250"/> <TextBlock x:Name="txtLetter" FontFamily="{DynamicResource Font_Patient_Sans}" FontSize="240" Text="T" Foreground="{DynamicResource Background_Brush}" TextAlignment="Center" LineHeight="1" Margin="0,-15,0,0" VerticalAlignment="Center" FontWeight="Bold"/> </Grid> </Grid> </Grid> </Button> </Viewbox> </Grid> |
||||
Additional Information: | |||||
Attached Files: |
Font_Noesis1.PNG (121,301 bytes) 2017-04-27 09:04 https://www.noesisengine.com/bugs/file_download.php?file_id=774&type=bug Font_Noesis2.PNG (37,602 bytes) 2017-04-27 09:04 https://www.noesisengine.com/bugs/file_download.php?file_id=775&type=bug |
||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1289 | [NoesisGUI] C# SDK | trivial | always | 2018-04-12 12:18 | 2018-11-21 16:49 |
Reporter: | ai_enabled | Platform: | PC | ||
Assigned To: | jsantos | OS: | Windows | ||
Priority: | normal | OS Version: | 10 x64 | ||
Status: | resolved | Product Version: | 2.1.0f1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b1 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | \r counted as a letter during text formatting/aligning | ||||
Description: |
Hi guys, just noticed that NoesisGUI counts \r as a regular letter during text aligning. For example, we have a text block like this: new TextBlock() { Text = "Hello" + Enviroment.NewLine + "World", TextAlignment = TextAlignment.Center } (Enviroment.NewLine in .NET Framework is \r\n) I would expect both words to be aligned by center, however NoesisGUI will align first word a little bit left because it counts \r as a letter similar to space char. Regards! |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
System Description | |||||
Attached Files: |
Screenshot at 17-10-33.png (1,572,837 bytes) 2018-04-12 12:19 https://www.noesisengine.com/bugs/file_download.php?file_id=932&type=bug |
||||
Notes | |
(0005187)
ai_enabled 2018-04-12 12:19 |
In the attached screenshot you can see that the first line of nickname text is aligned a little bit left. Using \n instead of Enviroment.NewLine resolved the issue. |
(0005188)
jsantos 2018-04-12 17:13 |
Thanks for the report. I see the new terrain system in that screen... cool :D |
(0005251)
jsantos 2018-08-31 15:31 |
Thanks for this discovery, I fixed it, it was not happening with all fonts. I hope you get the fix soon :) |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1231 | [NoesisGUI] Unity3D | feature | always | 2018-01-31 06:39 | 2018-11-21 16:49 |
Reporter: | CMarinacci | Platform: | PC | ||
Assigned To: | jsantos | OS: | Windows | ||
Priority: | normal | OS Version: | 10.0.16299.192 | ||
Status: | resolved | Product Version: | 2.1.0rc2 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | Implement InlineUIContainer in order to allow TextBlocks to insert other UIElements (like Image) into rich text. | ||||
Description: | InlineUIContainer is not implemented. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1073 | [NoesisGUI] Unity3D | minor | always | 2017-05-06 17:07 | 2018-11-21 16:49 |
Reporter: | MrJul | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.0.1f1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b1 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | TextBlock.Stroke isn't applied to ellipsis | ||||
Description: |
When TextBlock.Stroke and TextBlock.TextTrimming are bot set and the text is trimmed, the added ellipsis doesn't have any stroke applied. Ideally, the ellipsis should have the same stroke as the text. Please see the attached screenshot. |
||||
Tags: | |||||
Steps To Reproduce: |
<Border Background="Black" Width="100" Height="40"> <TextBlock Text="Lorem ipsum dolor sit amet consectetur adipiscing eli" Stroke="CornflowerBlue" StrokeThickness="4" Foreground="White" FontSize="16px" Margin="4" TextTrimming="CharacterEllipsis" /> </Border> |
||||
Additional Information: | |||||
Attached Files: |
ellipsis.png (1,983 bytes) 2017-05-06 17:07 https://www.noesisengine.com/bugs/file_download.php?file_id=795&type=bug |
||||
Notes | |
(0005253)
jsantos 2018-08-31 16:42 |
Thanks for this report. Fix will be available in next beta. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1245 | [NoesisGUI] Unity3D | feature | always | 2018-03-05 20:24 | 2018-11-21 16:48 |
Reporter: | antsonthetree | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 2.1.0rc3 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b1 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | Add Support for FontFamily Fallback | ||||
Description: |
Hello, I've set my fonts in my usercontrol like so FontFamily="Segoe UI, Fonts/#FontAwesome" and also like FontFamily="#Segoe UI, Fonts/#FontAwesome" But I always get an error in Unity as follows: NoesisException: Assets/NoesisGUI/MainWindow.xaml(1): Unable to convert 'Segoe UI, Resources/Fonts/#FontAwesome' to a valid value for property HelloWorld.MenuBase.FontFamily. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0005258)
jsantos 2018-09-05 21:44 |
This is coming in the next version |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1274 | [NoesisGUI] C# SDK | minor | always | 2018-04-05 11:22 | 2018-11-21 16:48 |
Reporter: | ai_enabled | Platform: | PC | ||
Assigned To: | jsantos | OS: | Windows | ||
Priority: | normal | OS Version: | 10 x64 | ||
Status: | resolved | Product Version: | 2.1.0f1 | ||
Product Build: | Resolution: | duplicate | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b1 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | TextTrimming ellipses are not stroken | ||||
Description: |
Hi guys, I just noticed that Noesis Extensions text stroke doesn't apply to the text trimming ellipses. See the attached screenshot. Regards! |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
System Description | |||||
Attached Files: |
Screenshot at 16-21-06.png (3,983,278 bytes) 2018-04-05 11:22 https://www.noesisengine.com/bugs/file_download.php?file_id=916&type=bug |
||||
Notes | |
(0005252)
jsantos 2018-08-31 16:42 |
Thanks for this report. Fix will be available in next beta. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1293 | [NoesisGUI] Unity3D | minor | always | 2018-04-21 22:01 | 2018-11-21 16:47 |
Reporter: | mingingmingler | Platform: | Unity PC | ||
Assigned To: | jsantos | OS: | Windows | ||
Priority: | normal | OS Version: | 10 x64 | ||
Status: | resolved | Product Version: | 2.1.0f1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 2.2.0b1 | ||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | LineHeight does not work - LineStackingStrategy seemingly not implemented for TextBlock | ||||
Description: |
According to a Noesis changelog, support for LineHeight was added. But, because LineStackingStrategy can't be changed, the LineHeight property has no effect. http://www.noesisengine.com/docs/Gui.Core.Changelog_v11.html Is there a suitable workaround for the usage of this property? |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0005195)
jsantos 2018-04-23 17:55 |
Sorry, not easy workaround apart from splitting text into lines and moving them manually. :( I will work on this ASAP. Sorry for the inconvenience. |
(0005197)
mingingmingler 2018-04-25 21:51 |
No problem, thanks for the response! |
(0005256)
jsantos 2018-09-05 21:27 |
This is coming in the next release |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1299 | [NoesisGUI] C# SDK | major | always | 2018-05-14 09:05 | 2018-11-21 16:47 |
Reporter: | cleik | Platform: | linux_x86_64 | ||
Assigned To: | jsantos | OS: | CentOS | ||
Priority: | normal | OS Version: | 7 | ||
Status: | resolved | Product Version: | 2.1.0f1 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | 2.2.0 | ||||
Platform: | Any | ||||
Summary: | NoesisGUI references wrong OpenGL version | ||||
Description: |
OpenGL version 2.1 Mono JIT compiler version 5.10.1.47 While executing a program with mono: "mono program.exe" I get a fatal unhandled exception: system.dllnotfoundexception: Noesis. The Noesis.dll (linux_x86_64) and NoesisManaged.dll files are in the directory of the program. Executing with mono debug flag: "MONO_LOG_LEVEL=debug mono program.exe" I get this: "Mono: DllImport error loading library 'directory/libNoesis.so: undefined symbol: glGetQueryObjectui64v'" See forum post #13 of this thread: https://www.noesisengine.com/forums/viewtopic.php?f=3&t=1332&start=10 "I don't know exactly when, we incorrectly added a hard reference to GL3.3 and to the extension GL_EXT_timer_query in NoesisGUI 2.1. It means that right now you need to use a GL library exporting both glGetQueryObjectui64v and glGetQueryObjectui64vEXT." |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1358 | [NoesisGUI] C++ SDK | feature | have not tried | 2018-11-21 14:04 | 2018-11-21 14:04 |
Reporter: | jsantos | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Parser being too permissive | ||||
Description: | Setting properties outside the element definition is allowed by our parser. | ||||
Tags: | |||||
Steps To Reproduce: |
<Border></Border> <Border.RenderTransform> <RotateTransform CenterX="0.5" CenterY="0.5" Angle="20"/> </Border.RenderTransform> |
||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1357 | [NoesisGUI] C# SDK | feature | have not tried | 2018-11-21 14:00 | 2018-11-21 14:02 |
Reporter: | sfernandez | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Support define attached properties in non DependencyObjects | ||||
Description: | Allow a non DepedencyObject class to define attached dependency properties. | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
435 | [NoesisGUI] Unity3D | major | always | 2014-08-02 03:34 | 2018-11-21 13:47 |
Reporter: | ai_enabled | Platform: | Any | ||
Assigned To: | sfernandez | OS: | Any (tested on Windows 7) | ||
Priority: | high | OS Version: | Any | ||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Circular references in GC with event handlers | ||||
Description: |
Hello! As you know, our game now get high reception. Users noticed very little issues with the current release, but everybody noted us that game performance degrades over time: FPS drops very much after around 1 hour of playtime, and restore to normal only after re-launching game. We also experiencing this issue all the time with NoesisGUI, but not pay much attention to it before. I'm also added some code to investigate this issue (the command to printing NoesisGUI current controls tree to a file - use console command "debug_noesis_tree"). But issue seems to be independent from controls count (it stays in range 11000-13000 during play and not increase over time, most high usage controls like "ItemInventoryIconControl" have reuse-pool (controls removed to manager after use and added later when required)). With the Unity Profiler, I determined reason for FPS drop - invoking time of NoesisGUIPanel.LateUpdate() (UIRenderer.Noesis_UpdateRenderer) increase over time, and after some time it's became very very high. This issue seems to present on Mac & Linux also! My idea - you can download our game and replace Noesis.dll with a debug version to investigate this issue. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: |
SkillIconControl.xaml (17,138 bytes) 2014-08-13 09:09 https://www.noesisengine.com/bugs/file_download.php?file_id=350&type=bug |
||||
Notes | |
(0001487)
ai_enabled 2014-08-08 10:21 |
Hello! Do you have any progress with this issue? Is it reproducible on your machines? |
(0001489)
sfernandez 2014-08-08 15:16 |
Hi, I've been doing some tests and after playing around 15-20 minutes the timings of our Update vary almost nothing. I've been killing some pirates, docking in the station, talking to the civilians, navigating through skill tree... I will leave the game running during a few hours and see if it degrades then. Is there anything special I should do to force the degradation more? |
(0001491)
ai_enabled 2014-08-08 16:10 |
It's not degrading after something special, we're notice constant degradation over play time. Usually after 2 hours the game became unplayable because of a serious FPS drop as reported by many customers. Not sure if it will drop if you just leave your PC for a few hours. Please try buying-selling items on space stations, especially in the "capital" star systems with big goods list (you can use "/tp <System_Name>" chat command to jump between star systems, and "/tp X Y" to jump inside current star system). Maybe we have some kind of leak with item icons controls or item tooltips - maybe something not disposed properly. But controls count in the Logical Tree stay at nearly constant over (active) playtime. I found that the game have leak with assets (textures/sounds not unloading from cache, so game can eat up to ~1.5 Gb of RAM after visiting many different star systems), but this seems to not degrade performance. |
(0001492)
sfernandez 2014-08-08 16:56 |
I have a clue. Time is growing on the animation manager. I will add some checks to see if the number of animations is growing constantly. |
(0001494)
ai_enabled 2014-08-12 03:08 |
Hello! Do you have any progress? I can provide you game sources if you need it. This issue is critical for us... |
(0001496)
sfernandez 2014-08-12 19:37 |
Hi, I detected that animated objects and properties are growing any time I enter the SKILLS tab. 66 new objects are added to the Animation manager and never deleted when leaving the tab. Are you using "Forever" animations? Are you keeping strong references to the controls used in the SKILLS tab so they are not destroyed? That will explain why animations are never removed from the manager. |
(0001502)
ai_enabled 2014-08-13 09:09 (Last edited: 2014-08-13 09:14) |
Thanks for investigation! First, about "Forever" animations - no, we don't use this type of animations. I attached SkillIconControl.xaml , please have a look on it and tell me if something wrong. I've added some test code, and found that we have serious amount of controls, which are not referenced by anyone (which was simply removed from collection and expected to be garbage collected) and not automatically garbage collected (I tried forcing it). Issue with skill icons is very strange. They're placed in specific panel control, which is placed via TabItem.RefreshContent() method to TabItem. So when I invoke TabItem.RefreshContent(null), this icons and they parent became abandon controls and should be collected by garbage collector, but this never happens. Is this behaviour of abandoned controls normal and I should always remember to manually dispose all unused instances? I'm sure they can be disposed automatically, but some references still hold by someone. Is not easy to determine by who exactly - there is no such feature in Mono/.NET. |
(0001505)
sfernandez 2014-08-13 16:50 |
The SkillIconControl.xaml seems correct, nothing strange that could lead to this situation. We recently discovered a big problem that could explain why objects are not released, but I don't know if it can apply to your scenario. When you have a control, and in its code-behind you attach a delegate to an event of the control or any of the children elements, a strong reference to the control is stored by the C# delegate, so control is never disposed unless you remove the delegate. For example, imagine a UserControl with a button inside: ---- public class MyControl : Noesis.UserControl { //... public void OnPostInit() { var btn = FindName<Noesis.Button>("btn"); btn.Click += OnBtnClick; } private void OnBtnClick(Noesis.BaseComponent sender, Noesis.RoutedEventArgs e) { // ... } // ... } ---- This control will never be disposed, because Click event maintains a strong reference to the control. We are very worried about this situation and solve it is one of our priorities. Let me know if this is the problem you are experiencing. |
(0001506)
ai_enabled 2014-08-13 18:32 |
I thought about it also and found that actually we're using event handlers in the skill icons control... Usually we're following pattern "subscribe in OnLoaded, unsubscribe in OnUnloaded", but for some controls we didn't pay enough attention - because in WPF is not required: usually these event handlers creates only references to children controls, so whole hierarchy of control and its children can be cleaned by GC. Do you have any ideas how to avoid this problem? Currently I can easily list all undisposed controls and fix code for each of them, but it doesn't solve any future problems if we again forget to remove references. |
(0001507)
ai_enabled 2014-08-15 12:11 (Last edited: 2014-08-15 12:12) |
Our base classes for controls using two events: public void OnPostInit() { this.InitControl(); this.Loaded += this.LoadedHandler; this.Unloaded += this.UnloadedHandler; } But it's preventing garbage collection of any inherited control... but we absolutely can't live without it! Any idea how we can resolve it? |
(0001508)
sfernandez 2014-08-15 13:36 |
I just come up with an idea that maybe will be the internal solution we are going to adopt. The problem here is that event delegates (which maintain a strong reference to the object) are (and need to be) stored in a static table. So GC is unable to detect circular references and dispose the object when nobody else is referencing it. So we need to break this strong reference somewhat. To do it we are going to introduce an indirection. We create an intermediate class that will hold a weak reference to the control object, and that class will be the one attached to the event: --- [Noesis.Extended] public class UserControlBase : Noesis.UserControl { public void OnPostInit() { this.InitControl(); EventManager eventMgr = new EventManager(this); this.Loaded += eventMgr.OnLoaded; this.Unloaded += eventMgr.OnUnloaded; } protected virtual void InitControl() { } internal virtual void LoadedHandler() { } internal virtual void UnloadedHandler() { } private class EventManager { public EventManager(UserControlBase control) { target = new WeakReference(control); } public void OnLoaded(Noesis.BaseComponent sender, Noesis.RoutedEventArgs e) { UserControlBase control = target.Target as UserControlBase; if (control != null) { control.LoadedHandler(); } } public void OnUnloaded(Noesis.BaseComponent sender, Noesis.RoutedEventArgs e) { UserControlBase control = target.Target as UserControlBase; if (control != null) { control.UnloadedHandler(); } } private WeakReference target; } } --- Does it make sense? |
(0001509)
ai_enabled 2014-08-15 17:22 (Last edited: 2014-08-15 17:23) |
Thanks! This solution works, but it's a little bit "boilerplate" solution and the EventManager instance will remains into memory if you don't hang down events explicitly. It's requires writing some extra code just to wrap the events correctly, but it's reasonable if there are no better solution. Have you read this article about weak references? http://www.codeproject.com/Articles/29922/Weak-Events-in-C Maybe you can invent something better. But the way, we just released new version of the game with fixed controls instantiating (and very high reusing of them). It still contains small "controls leak" due to OnLoaded/OnUnloaded hard references, but performance is much better now. Thanks for you help! |
(0001510)
sfernandez 2014-08-15 18:46 |
>> Thanks! This solution works, but it's a little bit "boilerplate" solution Yes, this must be considered a temporal solution until we fix it internally. >> and the EventManager instance will remains into memory if you don't hang down events explicitly. But now is possible because your control is disposed, so in the UserControlBase (or whatever name you are using) destructor, you can unregister from Loaded/Unloaded events (you only need to keep a reference to the EventManager created in the OnPostInit). >> Have you read this article about weak references? http://www.codeproject.com/Articles/29922/Weak-Events-in-C [^] Maybe you can invent something better. This is totally the idea, we will expose Weak Events instead, so you don't have to worry about anything. |
(0003427)
ai_enabled 2016-01-04 11:59 (Last edited: 2016-01-04 11:59) |
Hi guys, I just want to check if you will improve this with v1.3 or we will need to keep the workaround? Thanks! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
870 | [NoesisGUI] Unity3D | minor | always | 2016-04-20 01:59 | 2018-11-21 13:38 |
Reporter: | Scherub | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | low | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | ItemsControl.AlternationCount is missing | ||||
Description: |
I've just read in the forum that ItemsControl.AlternationCount is missing. I've encountered that problem a few months back but forgot to create a ticket for it. So here it is. :D For now I've solved this by manually counting and using a DataTrigger. |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
409 | [NoesisGUI] Unity3D | feature | N/A | 2014-06-01 19:28 | 2018-11-21 13:24 |
Reporter: | Scherub | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Support of creating custom controls | ||||
Description: | It's nice to be able to create user controls but it would be even more nice to create custom controls. :) | ||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
There are no notes attached to this issue. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
857 | [NoesisGUI] Unity3D | major | always | 2016-04-04 04:16 | 2018-11-21 13:16 |
Reporter: | Scherub | Platform: | |||
Assigned To: | jsantos | OS: | |||
Priority: | normal | OS Version: | |||
Status: | feedback | Product Version: | |||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Path seems to ignore the containers it is in | ||||
Description: |
Hi, I've created a path looking like circular rays that I'm rotating around its center. Unfortunately the path doesn't behave the same as it does in WPF. I'll just upload two screenshots, one from WPF where I can change the angle and it works as expected and one using NoesisGUI where it behaves a bit odd. The screenshots are probably more self-explaining than when I would try to describe it. :) If not, just ask and I'll try to explain it or provide you a video. I've starting doing this animation using an image and it works there as expected. Unfortunately it's a bit more involved when changing the color of an image and changing the opacity is also not the best thing to do. I hope we can fix this issue or at least find a workaround this week as I'm planning to release the game next week. |
||||
Tags: | |||||
Steps To Reproduce: |
<Grid Grid.Column="2" Grid.Row="2"> <StackPanel HorizontalAlignment="Center" VerticalAlignment="Center"> <Path x:Name="CircularRays1" Stretch="UniformToFill" Stroke="#3FF7941D" StrokeThickness="500" StrokeDashArray="0.12 0.12" RenderTransformOrigin="0.5,0.5" Data="M750,500 C750,638 638,750 500,750 362,750 250,638 250,500 250,362 362,250 500,250 638,250 750,362 750,500z"> <Path.RenderTransform> <RotateTransform /> </Path.RenderTransform> </Path> </StackPanel> </Grid> |
||||
Additional Information: | |||||
Attached Files: |
Circular Rays - WPF.jpg (36,384 bytes) 2016-04-04 04:18 https://www.noesisengine.com/bugs/file_download.php?file_id=655&type=bug Circular Rays - NoesisGUI.jpg (32,403 bytes) 2016-04-04 04:18 https://www.noesisengine.com/bugs/file_download.php?file_id=656&type=bug |
||||
Notes | |
(0003705)
Scherub 2016-04-04 04:19 |
Oh, I should also mention that the path is cut off for some reason. |
(0003708)
sfernandez 2016-04-04 14:06 |
It seems there are problems with the tessellation of the dash when dealing with this situation where dash vertices are touching or even crossing in the center. You should be able to create the same geometry using solid sections of a ellipse instead of the dash property as a workaround while we solve this problem. I can help you with this if you need it. |
(0003709)
Scherub 2016-04-04 14:57 |
Well, since you seem to know how to create the same geometry in a different way it will probably be faster if you show me the way. :) |
(0003710)
sfernandez 2016-04-04 15:03 |
Please indicate which size do you need for the Ellipse, and the degrees I should assign to each section and hole, to get the desired effect. I will attach here the corresponding xaml code. |
(0003711)
Scherub 2016-04-04 15:21 |
Well, in the end the size should be 'flexible' but if you take a width/height of 1000 it should be fine. And if you use 20 degree for each section and hole you should end up with less sections than in above picture but that should be okay. |
(0003712)
sfernandez 2016-04-04 16:16 |
Here you have a Path with several figures that is equivalent to the first one:<Path Data="M500.00003,500.04046 L1000,500.04046 C1000,530.24354 997.32205,559.82113 992.19058,588.54876 L990.66678,596.50214 989.07382,603.99631 z M500.00003,500.04046 L956.77276,703.40878 C944.48806,731.00067 930.01131,756.93191 913.6389,781.08874 L909.01191,787.73474 904.50852,793.93308 z M500.00003,500.04046 L834.56533,871.61287 C812.12007,891.82268 788.34772,909.62382 763.56531,925.03293 L756.63517,929.22238 750.00002,933.05315 z M500.00003,500.04046 L654.50853,975.56872 C625.78369,984.90198 596.82619,991.49505 567.91888,995.49206 L559.88388,996.50057 552.26425,997.3014 z M500.00003,500.04046 L447.7358,997.3014 C417.69817,994.14432 388.56253,988.38931 360.52867,980.2831 L352.77813,977.93629 345.49153,975.5687 z M500.00003,500.04046 L250.00003,933.05316 C223.8434,917.95162 199.56744,900.84362 177.25432,882.03583 L171.12839,876.73949 165.43473,871.61286 z M500.00003,500.04046 L95.491533,793.93308 C77.738608,769.49828 62.519866,743.99542 49.785639,717.73809 L46.343537,710.408 43.227307,703.40877 z M500.00003,500.04046 L10.92623,603.9963 C4.6466567,574.45323 1.1165886,544.9652 0.16311504,515.79845 L1.4841479E-05,507.70205 3.9703392E-05,500.04045 z M500.00003,500.04046 L10.92623,396.08461 C17.205804,366.54154 25.974791,338.16707 36.966935,311.13411 L40.111038,303.67134 43.227313,296.67213 z M500.00003,500.04046 L95.491533,206.14783 C113.24446,181.71303 132.79626,159.35833 153.83338,139.13339 L159.74105,133.59464 165.43474,128.46805 z M500.00003,500.04046 L250.00003,67.027755 C276.15667,51.926215 303.1106,39.456616 330.55519,29.536788 L338.20492,26.879746 345.49154,24.512206 z M500.00003,500.04046 L447.7358,2.7795095 C477.77342,-0.37757206 507.46891,-0.80596287 536.57555,1.2945421 L544.64464,1.9786396 552.26427,2.7795193 z M500.00003,500.04046 L654.50853,24.512199 C683.23336,33.845464 710.53579,45.532354 736.27167,59.289996 L743.36491,63.196946 750.00003,67.027767 z M500.00003,500.04046 L834.56533,128.46804 C857.0106,148.67785 877.19911,170.45925 895.11428,193.49521 L900.00517,199.94946 904.50852,206.14784 z M500.00003,500.04046 L956.77276,296.67214 C969.05746,324.26402 978.64129,352.37373 985.63804,380.70488 L987.48091,388.59044 989.07382,396.08462 z" Fill="#FFFF9700" RenderTransformOrigin="0.5,0.5"/> |
(0003713)
Scherub 2016-04-04 16:56 |
Ah, excellent! That one works as expected. Thanks a lot! :) What did you use to create it? Illustrator? |
(0003714)
sfernandez 2016-04-04 17:18 |
I used Blend, started with an Ellipse and then used Rectangles to "Substract" the required portions until I had the desired arc section. Then I copied the section N times applying the corresponding rotation to each section. Finally I selected all the paths and "Make Compound Path". It's a bit tricky but I used that kind of path operations often to create more complex geometries. |
(0003720)
Scherub 2016-04-05 10:03 |
Thanks for explaining it. I will give it a try with the next path I have to create. :) |
(0004592)
jsantos 2017-04-26 02:32 |
What's the status of this? Can we close it? Thanks! |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
912 | [NoesisGUI] C# SDK | major | always | 2016-06-14 07:57 | 2018-11-21 13:15 |
Reporter: | ai_enabled | Platform: | PC | ||
Assigned To: | sfernandez | OS: | Windows | ||
Priority: | normal | OS Version: | 10 x64 | ||
Status: | assigned | Product Version: | 1.2.6f4 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Binding bugs | ||||
Description: |
Hello! I've noticed that getter for binding to any property is invoked three times in a rowю For example, I have this property in a view model: public string Title { get { return "test"; } } and this getter is invoked three times instead of one. Tested on every view model in the game. Also I've noticed that sometimes NoesisGUI doesn't invoke property getter after the value has been changed (NotifyPropertyChanged was invoked so NoesisGUI must request the fresh value of the property). This is completely random but very often reproducible. BTW, I've checked that everything is executed in the main thread only, so this is not a multi-threading issue. Regards! |
||||
Tags: | |||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Attached Files: | |||||
Notes | |
(0003999)
ai_enabled 2016-06-14 08:00 |
To clarify: NoesisGUI C# API callback method "GetPropertyValue_String" is invoked from C++ exactly three times for every bind property (with exactly the same arguments). So the issue is on the C++ side. |
(0004224)
ai_enabled 2016-11-02 09:38 |
I will check this issue again when you will provide fixed build for 1.3. |
View Issue Details | |||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
822 | [NoesisGUI] C++ SDK | feature | always | 2016-02-08 21:04 | 2018-11-21 13:02 |
Reporter: | elios | Platform: | |||
Assigned To: | sfernandez | OS: | |||
Priority: | normal | OS Version: | |||
Status: | assigned | Product Version: | 1.2.5f10 | ||
Product Build: | Resolution: | open | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
Target Version: | |||||
Platform: | Any | ||||
Summary: | Missing feature DependencyPropertyDescriptor | ||||
Description: |
this class allows you to handle Dependency Property changes and to perform some operations when it happens. some useful functions of it are : ::FromName(const NsString& name,Type ownerType,) ::AddValueChanged(Delegate) ::RemoveValueChanged(Delegate) |
||||
Tags: | |||||
Steps To Reproduce: | No Header file containing this class | ||||
Additional Information: | this class allows you to be notified of a the property change of any instance, without having to have manually register with DependencyPropertyChanged in each instance | ||||
Attached Files: | |||||
There are no notes attached to this issue. |