Abdelrhman-AK / WinPaletter

Advanced Windows Appearance Editor
Other
1.35k stars 54 forks source link

❌ WinPaletter crash after replace Segoe UI font #228

Closed Andrew-Sor closed 5 months ago

Andrew-Sor commented 5 months ago

:x: Error report

Describe the error

WinPaletter crash after replace Segoe UI font, but the system is working fine.

How to reproduce the error

WinPaletter Log

//General information
//...........................................................
   Report.Date = "8 апреля 2024 г. 19:48:19";
   OS = "Windows 11, 10.0.22631.3374, 64-bit";
   WinPaletter.Version = "1.0.9.0, Build: Release";
   WinPaletter.Language = "Russian";
   WinPaletter.Debugging = false;

//Error details
//...........................................................
   Exception.message = "Error creating form: Object reference not set to an instance of an object.";
   Exception.type = "System.InvalidOperationException";
   Exception.stack.trace =
   {
      at WinPaletter.Forms.CreateInstance[T](T instance)
      at WinPaletter.Forms.get_MainForm()
      at WinPaletter.User.OnUserSwitch(UserChangeEventArgs e)
      at WinPaletter.User.set_SID(String value)
      at WinPaletter.UserSwitch.Button1_Click(Object sender, EventArgs e)
      at System.Windows.Forms.Control.OnClick(EventArgs e)
      at System.Windows.Forms.Button.OnClick(EventArgs e)
      at WinPaletter.UI.WP.Button.OnClick(EventArgs e)
      at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
      at WinPaletter.UI.WP.Button.OnMouseUp(MouseEventArgs e)
      at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
      at System.Windows.Forms.Control.WndProc(Message& m)
      at System.Windows.Forms.ButtonBase.WndProc(Message& m)
      at System.Windows.Forms.Button.WndProc(Message& m)
      at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
      at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
      at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
   };
   Exception.target.void_function = "WinPaletter.CreateInstance()";
   Exception.assembly = "WinPaletter, Version=1.0.9.0, Culture=neutral, PublicKeyToken=null";
   Exception.assembly.file = "D:\\Downloads🔽\\WinPaletter\\WinPaletter.exe";
   Exception.HRESULT = -2146233079;
   Inner.exception.message = "Object reference not set to an instance of an object.";
   Exception.type = "System.NullReferenceException";
   Inner.exception.stack.trace =
   {
      at WinPaletter.Tabs.TitlebarExtender.updateBackDrop()
      at WinPaletter.Tabs.TitlebarExtender.OnSizeChanged(EventArgs e)
      at System.Windows.Forms.Control.UpdateBounds(Int32 x, Int32 y, Int32 width, Int32 height, Int32 clientWidth, Int32 clientHeight)
      at System.Windows.Forms.Control.UpdateBounds(Int32 x, Int32 y, Int32 width, Int32 height)
      at System.Windows.Forms.Control.SetBoundsCore(Int32 x, Int32 y, Int32 width, Int32 height, BoundsSpecified specified)
      at System.Windows.Forms.Control.ScaleControl(SizeF factor, BoundsSpecified specified)
      at System.Windows.Forms.ScrollableControl.ScaleControl(SizeF factor, BoundsSpecified specified)
      at System.Windows.Forms.Control.ScaleControl(SizeF includedFactor, SizeF excludedFactor, Control requestingControl)
      at System.Windows.Forms.Control.Scale(SizeF includedFactor, SizeF excludedFactor, Control requestingControl)
      at System.Windows.Forms.ContainerControl.Scale(SizeF includedFactor, SizeF excludedFactor, Control requestingControl)
      at System.Windows.Forms.ContainerControl.OnChildLayoutResuming(Control child, Boolean performLayout)
      at System.Windows.Forms.ContainerControl.OnLayoutResuming(Boolean performLayout)
      at System.Windows.Forms.Control.ResumeLayout(Boolean performLayout)
      at System.Windows.Forms.ContainerControl.ResumeAllLayout(Control start, Boolean performLayout)
      at System.Windows.Forms.ContainerControl.OnFontChanged(EventArgs e)
      at System.Windows.Forms.Form.OnFontChanged(EventArgs e)
      at System.Windows.Forms.Control.set_Font(Font value)
      at WinPaletter.MainForm.InitializeComponent()
      at WinPaletter.MainForm..ctor()
   };
   Inner.exception.target.void_function = "WinPaletter.updateBackDrop()";
   Inner.exception.assembly = "WinPaletter, Version=1.0.9.0, Culture=neutral, PublicKeyToken=null";
   Inner.exception.assembly.file = "D:\\Downloads🔽\\WinPaletter\\WinPaletter.exe";
   Inner.exception.HRESULT = -2147467261;

Screenshots/Screen records

Additional context

There is enough information above

Abdelrhman-AK commented 5 months ago

It is not relevant to the action of replacing Segoe UI. It is relevant to the application's UI. You can safely ignore this error.

If I work on version 1.0.9.1, I'll fix it for sure. Please keep this issue open.

Abdelrhman-AK commented 5 months ago

And please tell me if you're disabling transparency effect on Windows or using another theme (visual styles) for Windows.

Andrew-Sor commented 5 months ago

Well I'm using the MacOS theme and I didn't turn off the transparency effect

Andrew-Sor commented 5 months ago

It is not relevant to the action of replacing Segoe UI. It is relevant to the application's UI.

I don’t know, but I changed all sorts of settings and applied them several times, restarting WinPaletter itself. Today I only replaced Segoe UI and got this... And I believe that the system is working fine because in most places the font has reset (for example, in the headings it’s not even bold, although I set it up yesterday)

You can safely ignore this error.

Unfortunately, after that it gives the error again, but if you ignore it this time, it will close

Abdelrhman-AK commented 5 months ago

When I work on the next version, I'll fix it for sure.

Abdelrhman-AK commented 5 months ago

~~Can you use both WinPaletter-DEBUG.exe with WinPaletter.pdb so that I can trace the issue. I can't reproduce it at all. Download both from releases if you don't have them.~~

I reproduced and fixed it. Please wait for a new update, which will likely be the final one for me as I won't have time after a few days.

Andrew-Sor commented 5 months ago

Can you use both WinPaletter-DEBUG.exe with WinPaletter.pdb so that I can trace the issue. I can't reproduce it at all.

I thought about that too... But they also gave an error...

I reproduced and fixed it. Please wait for a new update, which will likely be the final one for me as I won't have time after a few days.

Excellent thank you! I'll be waiting

Andrew-Sor commented 5 months ago

By the way, the old version works image

Abdelrhman-AK commented 5 months ago

There is something wrong I have fixed, it is in the tabs UI that wasn't implemented in older versions.

Andrew-Sor commented 5 months ago

old version

Using it, I was able to reset the Segoe UI replacement and the new version now works fine too

Andrew-Sor commented 5 months ago

By the way, I also wanted to ask about the menu animation not working

https://github.com/Abdelrhman-AK/WinPaletter/assets/133566800/f20126b7-11b2-4148-bb9f-f530cdb7597a

Or is it because I have Windows 11?

Abdelrhman-AK commented 5 months ago

That is because you have Windows 11. If you enabled classic context menu or used classic context menu in a Win32 app (for example: Registry Editor), you will notice the effect.

image

Andrew-Sor commented 5 months ago

That is because you have Windows 11. If you enabled classic context menu or used classic context menu in a Win32 app (for example: Registry Editor), you will notice the effect.

It's clear. Thanks, but I like the new design better

Abdelrhman-AK commented 5 months ago

I like the new design better

Absolutely! Feel free to personalize your Windows as you like.

Andrew-Sor commented 5 months ago

Thank you! Now everything works great!

Abdelrhman-AK commented 5 months ago

You're welcome!