Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closing "Map Settings" dialog causes an exception. #1

Open
cfcohen opened this issue Mar 25, 2021 · 0 comments
Open

Closing "Map Settings" dialog causes an exception. #1

cfcohen opened this issue Mar 25, 2021 · 0 comments

Comments

@cfcohen
Copy link
Owner

cfcohen commented Mar 25, 2021

Opening and then canceling the "Map Settings" dialog causes an exception. The problem appears to be related to this issue.

On my system, the erroneous section contains:

  <System.Windows.Forms.ApplicationConfigurationSection>
    <add key="DpiAwareness" value="PerMonitorV2" />
  </System.Windows.Forms.ApplicationConfigurationSection>

Removing the problematic section from the config in ./bin/Debug/Trizbort.exe.config solves the problem, so this is somehow a "build" problem. It could be worked around in a binary Linux distribution by hand-editing the config post-build, but obviously, a better solution would be to not add the section in the first place.

Here's the rather large exception:

System.Configuration.ConfigurationErrorsException: Unrecognized configuration section <System.Windows.Forms.ApplicationConfigurationSection> (/home/cory/Source/Trizbort/bin/Debug/Trizbort.exe.config line 34)
  at System.Configuration.ConfigInfo.ThrowException (System.String text, System.Xml.XmlReader reader) [0x00007] in <d7e9527b25d2424892e8504134a25d31>:0 
  at System.Configuration.SectionGroupInfo.ReadContent (System.Xml.XmlReader reader, System.Configuration.Configuration config, System.Boolean overrideAllowed, System.Boolean root) [0x00135] in <d7e9527b25d2424892e8504134a25d31>:0 
  at System.Configuration.SectionGroupInfo.ReadRootData (System.Xml.XmlReader reader, System.Configuration.Configuration config, System.Boolean overrideAllowed) [0x00007] in <d7e9527b25d2424892e8504134a25d31>:0 
  at System.Configuration.Configuration.ReadConfigFile (System.Xml.XmlReader reader, System.String fileName) [0x000ce] in <d7e9527b25d2424892e8504134a25d31>:0 
  at System.Configuration.Configuration.Load () [0x00043] in <d7e9527b25d2424892e8504134a25d31>:0 
  at System.Configuration.Configuration.Init (System.Configuration.Internal.IConfigSystem system, System.String configPath, System.Configuration.Configuration parent) [0x0005d] in <d7e9527b25d2424892e8504134a25d31>:0 
  at System.Configuration.Configuration..ctor (System.Configuration.InternalConfigurationSystem system, System.String locationSubPath) [0x00056] in <d7e9527b25d2424892e8504134a25d31>:0 
  at System.Configuration.InternalConfigurationFactory.Create (System.Type typeConfigHost, System.Object[] hostInitConfigurationParams) [0x0000d] in <d7e9527b25d2424892e8504134a25d31>:0 
  at System.Configuration.ConfigurationManager.OpenMappedExeConfiguration (System.Configuration.ExeConfigurationFileMap fileMap, System.Configuration.ConfigurationUserLevel userLevel) [0x00005] in <d7e9527b25d2424892e8504134a25d31>:0 
  at System.Configuration.CustomizableFileSettingsProvider.LoadProperties (System.Configuration.ExeConfigurationFileMap exeMap, System.Configuration.SettingsPropertyCollection collection, System.Configuration.ConfigurationUserLevel level, System.String sectionGroupName, System.Boolean allowOverwrite, System.String groupName) [0x00000] in <9c6e2cb7ddd8473fa420642ddcf7ce48>:0 
  at System.Configuration.CustomizableFileSettingsProvider.GetPropertyValues (System.Configuration.SettingsContext context, System.Configuration.SettingsPropertyCollection collection) [0x0002a] in <9c6e2cb7ddd8473fa420642ddcf7ce48>:0 
  at System.Configuration.LocalFileSettingsProvider.GetPropertyValues (System.Configuration.SettingsContext context, System.Configuration.SettingsPropertyCollection properties) [0x00000] in <9c6e2cb7ddd8473fa420642ddcf7ce48>:0 
  at System.Configuration.ApplicationSettingsBase.CacheValuesByProvider (System.Configuration.SettingsProvider provider) [0x0005b] in <9c6e2cb7ddd8473fa420642ddcf7ce48>:0 
  at System.Configuration.ApplicationSettingsBase.set_Item (System.String propertyName, System.Object value) [0x00058] in <9c6e2cb7ddd8473fa420642ddcf7ce48>:0 
  at Trizbort.Properties.Settings.set_SettingsLastTabIndex (System.Int64 value) [0x00001] in <ff4dd0d639de4e7fb68468301564265d>:0 
  at Trizbort.UI.SettingsDialog.SettingsDialog_FormClosing (System.Object sender, System.Windows.Forms.FormClosingEventArgs e) [0x00011] in <ff4dd0d639de4e7fb68468301564265d>:0 
  at System.Windows.Forms.Form.OnFormClosing (System.Windows.Forms.FormClosingEventArgs e) [0x00019] in <6d635ac3dc1c4424ad385ded79f1e868>:0 
  at System.Windows.Forms.Form.FireClosingEvents (System.Windows.Forms.CloseReason reason, System.Boolean cancel) [0x0001b] in <6d635ac3dc1c4424ad385ded79f1e868>:0 
  at System.Windows.Forms.Form.RaiseCloseEvents (System.Boolean last_check, System.Boolean cancel) [0x0002d] in <6d635ac3dc1c4424ad385ded79f1e868>:0 
  at System.Windows.Forms.Form.set_DialogResult (System.Windows.Forms.DialogResult value) [0x0003c] in <6d635ac3dc1c4424ad385ded79f1e868>:0 
  at (wrapper remoting-invoke-with-check) System.Windows.Forms.Form.set_DialogResult(System.Windows.Forms.DialogResult)
  at System.Windows.Forms.Button.OnClick (System.EventArgs e) [0x00028] in <6d635ac3dc1c4424ad385ded79f1e868>:0 
  at System.Windows.Forms.ButtonBase.OnMouseUp (System.Windows.Forms.MouseEventArgs mevent) [0x00069] in <6d635ac3dc1c4424ad385ded79f1e868>:0 
  at System.Windows.Forms.Button.OnMouseUp (System.Windows.Forms.MouseEventArgs mevent) [0x00000] in <6d635ac3dc1c4424ad385ded79f1e868>:0 
  at System.Windows.Forms.Control.WmLButtonUp (System.Windows.Forms.Message& m) [0x00078] in <6d635ac3dc1c4424ad385ded79f1e868>:0 
  at System.Windows.Forms.Control.WndProc (System.Windows.Forms.Message& m) [0x001b4] in <6d635ac3dc1c4424ad385ded79f1e868>:0 
  at System.Windows.Forms.ButtonBase.WndProc (System.Windows.Forms.Message& m) [0x00037] in <6d635ac3dc1c4424ad385ded79f1e868>:0 
  at System.Windows.Forms.Button.WndProc (System.Windows.Forms.Message& m) [0x00000] in <6d635ac3dc1c4424ad385ded79f1e868>:0 
  at System.Windows.Forms.Control+ControlWindowTarget.OnMessage (System.Windows.Forms.Message& m) [0x00000] in <6d635ac3dc1c4424ad385ded79f1e868>:0 
  at System.Windows.Forms.Control+ControlNativeWindow.WndProc (System.Windows.Forms.Message& m) [0x0000b] in <6d635ac3dc1c4424ad385ded79f1e868>:0 
  at System.Windows.Forms.NativeWindow.WndProc (System.IntPtr hWnd, System.Windows.Forms.Msg msg, System.IntPtr wParam, System.IntPtr lParam) [0x00085] in <6d635ac3dc1c4424ad385ded79f1e868>:0 
System.Configuration.ConfigurationErrorsException: Unrecognized configuration section <System.Windows.Forms.ApplicationConfigurationSection> (/home/cory/Source/Trizbort/bin/Debug/Trizbort.exe.config line 34)
  at System.Configuration.ConfigInfo.ThrowException (System.String text, System.Xml.XmlReader reader) [0x00007] in <d7e9527b25d2424892e8504134a25d31>:0 
  at System.Configuration.SectionGroupInfo.ReadContent (System.Xml.XmlReader reader, System.Configuration.Configuration config, System.Boolean overrideAllowed, System.Boolean root) [0x00135] in <d7e9527b25d2424892e8504134a25d31>:0 
  at System.Configuration.SectionGroupInfo.ReadRootData (System.Xml.XmlReader reader, System.Configuration.Configuration config, System.Boolean overrideAllowed) [0x00007] in <d7e9527b25d2424892e8504134a25d31>:0 
  at System.Configuration.Configuration.ReadConfigFile (System.Xml.XmlReader reader, System.String fileName) [0x000ce] in <d7e9527b25d2424892e8504134a25d31>:0 
  at System.Configuration.Configuration.Load () [0x00043] in <d7e9527b25d2424892e8504134a25d31>:0 
  at System.Configuration.Configuration.Init (System.Configuration.Internal.IConfigSystem system, System.String configPath, System.Configuration.Configuration parent) [0x0005d] in <d7e9527b25d2424892e8504134a25d31>:0 
  at System.Configuration.Configuration..ctor (System.Configuration.InternalConfigurationSystem system, System.String locationSubPath) [0x00056] in <d7e9527b25d2424892e8504134a25d31>:0 
  at System.Configuration.InternalConfigurationFactory.Create (System.Type typeConfigHost, System.Object[] hostInitConfigurationParams) [0x0000d] in <d7e9527b25d2424892e8504134a25d31>:0 
  at System.Configuration.ConfigurationManager.OpenMappedExeConfiguration (System.Configuration.ExeConfigurationFileMap fileMap, System.Configuration.ConfigurationUserLevel userLevel) [0x00005] in <d7e9527b25d2424892e8504134a25d31>:0 
  at System.Configuration.CustomizableFileSettingsProvider.LoadProperties (System.Configuration.ExeConfigurationFileMap exeMap, System.Configuration.SettingsPropertyCollection collection, System.Configuration.ConfigurationUserLevel level, System.String sectionGroupName, System.Boolean allowOverwrite, System.String groupName) [0x00000] in <9c6e2cb7ddd8473fa420642ddcf7ce48>:0 
  at System.Configuration.CustomizableFileSettingsProvider.GetPropertyValues (System.Configuration.SettingsContext context, System.Configuration.SettingsPropertyCollection collection) [0x0002a] in <9c6e2cb7ddd8473fa420642ddcf7ce48>:0 
  at System.Configuration.LocalFileSettingsProvider.GetPropertyValues (System.Configuration.SettingsContext context, System.Configuration.SettingsPropertyCollection properties) [0x00000] in <9c6e2cb7ddd8473fa420642ddcf7ce48>:0 
  at System.Configuration.ApplicationSettingsBase.CacheValuesByProvider (System.Configuration.SettingsProvider provider) [0x0005b] in <9c6e2cb7ddd8473fa420642ddcf7ce48>:0 
  at System.Configuration.ApplicationSettingsBase.set_Item (System.String propertyName, System.Object value) [0x00058] in <9c6e2cb7ddd8473fa420642ddcf7ce48>:0 
  at Trizbort.Properties.Settings.set_SettingsLastTabIndex (System.Int64 value) [0x00001] in <ff4dd0d639de4e7fb68468301564265d>:0 
  at Trizbort.UI.SettingsDialog.SettingsDialog_FormClosing (System.Object sender, System.Windows.Forms.FormClosingEventArgs e) [0x00011] in <ff4dd0d639de4e7fb68468301564265d>:0 
  at System.Windows.Forms.Form.OnFormClosing (System.Windows.Forms.FormClosingEventArgs e) [0x00019] in <6d635ac3dc1c4424ad385ded79f1e868>:0 
  at System.Windows.Forms.Form.FireClosingEvents (System.Windows.Forms.CloseReason reason, System.Boolean cancel) [0x0001b] in <6d635ac3dc1c4424ad385ded79f1e868>:0 
  at (wrapper remoting-invoke-with-check) System.Windows.Forms.Form.FireClosingEvents(System.Windows.Forms.CloseReason,bool)
  at System.Windows.Forms.Application.Exit (System.ComponentModel.CancelEventArgs e) [0x0002e] in <6d635ac3dc1c4424ad385ded79f1e868>:0 
  at System.Windows.Forms.Application.Exit () [0x00005] in <6d635ac3dc1c4424ad385ded79f1e868>:0 
  at System.Windows.Forms.Application.OnThreadException (System.Exception t) [0x0005e] in <6d635ac3dc1c4424ad385ded79f1e868>:0 
  at System.Windows.Forms.NativeWindow.OnThreadException (System.Exception e) [0x00000] in <6d635ac3dc1c4424ad385ded79f1e868>:0 
  at System.Windows.Forms.NativeWindow.WndProc (System.IntPtr hWnd, System.Windows.Forms.Msg msg, System.IntPtr wParam, System.IntPtr lParam) [0x00196] in <6d635ac3dc1c4424ad385ded79f1e868>:0 
  at System.Windows.Forms.XplatUIX11.DispatchMessage (System.Windows.Forms.MSG& msg) [0x00000] in <6d635ac3dc1c4424ad385ded79f1e868>:0 
  at System.Windows.Forms.XplatUI.DispatchMessage (System.Windows.Forms.MSG& msg) [0x00000] in <6d635ac3dc1c4424ad385ded79f1e868>:0 
  at System.Windows.Forms.Application.RunLoop (System.Boolean Modal, System.Windows.Forms.ApplicationContext context) [0x002ff] in <6d635ac3dc1c4424ad385ded79f1e868>:0 
  at System.Windows.Forms.Form.ShowDialog (System.Windows.Forms.IWin32Window owner) [0x001b7] in <6d635ac3dc1c4424ad385ded79f1e868>:0 
  at System.Windows.Forms.Form.ShowDialog () [0x00000] in <6d635ac3dc1c4424ad385ded79f1e868>:0 
  at (wrapper remoting-invoke-with-check) System.Windows.Forms.Form.ShowDialog()
  at Trizbort.Setup.Settings.ShowMapDialog () [0x0022c] in <ff4dd0d639de4e7fb68468301564265d>:0 
  at Trizbort.UI.MainForm.ProjectSettingsMenuItem_Click (System.Object sender, System.EventArgs e) [0x00001] in <ff4dd0d639de4e7fb68468301564265d>:0 
  at System.Windows.Forms.ToolStripItem.OnClick (System.EventArgs e) [0x00019] in <6d635ac3dc1c4424ad385ded79f1e868>:0 
  at System.Windows.Forms.ToolStripMenuItem.OnClick (System.EventArgs e) [0x00090] in <6d635ac3dc1c4424ad385ded79f1e868>:0 
  at System.Windows.Forms.ToolStripMenuItem.HandleClick (System.Int32 mouse_clicks, System.EventArgs e) [0x00000] in <6d635ac3dc1c4424ad385ded79f1e868>:0 
  at System.Windows.Forms.ToolStripItem.FireEvent (System.EventArgs e, System.Windows.Forms.ToolStripItemEventType met) [0x00054] in <6d635ac3dc1c4424ad385ded79f1e868>:0 
  at (wrapper remoting-invoke-with-check) System.Windows.Forms.ToolStripItem.FireEvent(System.EventArgs,System.Windows.Forms.ToolStripItemEventType)
  at System.Windows.Forms.ToolStrip.OnMouseUp (System.Windows.Forms.MouseEventArgs mea) [0x00048] in <6d635ac3dc1c4424ad385ded79f1e868>:0 
  at System.Windows.Forms.ToolStripDropDown.OnMouseUp (System.Windows.Forms.MouseEventArgs mea) [0x00000] in <6d635ac3dc1c4424ad385ded79f1e868>:0 
  at System.Windows.Forms.Control.WmLButtonUp (System.Windows.Forms.Message& m) [0x00078] in <6d635ac3dc1c4424ad385ded79f1e868>:0 
  at System.Windows.Forms.Control.WndProc (System.Windows.Forms.Message& m) [0x001b4] in <6d635ac3dc1c4424ad385ded79f1e868>:0 
  at System.Windows.Forms.ScrollableControl.WndProc (System.Windows.Forms.Message& m) [0x00000] in <6d635ac3dc1c4424ad385ded79f1e868>:0 
  at System.Windows.Forms.ToolStrip.WndProc (System.Windows.Forms.Message& m) [0x00000] in <6d635ac3dc1c4424ad385ded79f1e868>:0 
  at System.Windows.Forms.ToolStripDropDown.WndProc (System.Windows.Forms.Message& m) [0x00017] in <6d635ac3dc1c4424ad385ded79f1e868>:0 
  at System.Windows.Forms.Control+ControlWindowTarget.OnMessage (System.Windows.Forms.Message& m) [0x00000] in <6d635ac3dc1c4424ad385ded79f1e868>:0 
  at System.Windows.Forms.Control+ControlNativeWindow.WndProc (System.Windows.Forms.Message& m) [0x0000b] in <6d635ac3dc1c4424ad385ded79f1e868>:0 
  at System.Windows.Forms.NativeWindow.WndProc (System.IntPtr hWnd, System.Windows.Forms.Msg msg, System.IntPtr w<Param, System.IntPtr lParam) [0x00085] in <6d635ac3dc1c4424ad385ded79f1e868>:0 
cfcohen added a commit that referenced this issue Mar 27, 2021
This change should not be committed permanently, because it's actually
much _worse_ on Linux than the code currently on master, but I'm
curious to know if it works in Windows.  It should look very much like
the original behavior and should not require the Windows specific
Wingdings font.
cfcohen added a commit that referenced this issue Mar 27, 2021
This commit is an improvement on Linux if you don't have the Wingdings
font (which is provavly all Linux users by default).  Without the
Wingdings font, you get random characters that don't communicate the
purpose of the checkbox widgets at all.  With this commit, the north,
south, east and west arrows render reasonably and the other five
characters render as "missing character squares" which in my opinion
makes it a little more obvious what was intended.

Unfortunately, despite being only a few characters away from each
other in unicode, on my system the cardinal directions are "normal
width" unicode characters rendered at with a lighter weight, while the
five missing characters are extra wide, and substantially heavier in
their rendering.  So they're definitely not "harmonious".

If it works (and looks good) in Windows, I think this solution should
be considered temporarily since it's an improvement on Linux, and it
might get fixed before the commits #1 or #2, which is what should
really be done long term. If this doesn't look good on Windows, we
should revert to the original source code, and advise non-Windows
users to somehow obtain and install the Wingdings font.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant