johanneszab / TumblThree

A Tumblr Blog Backup Application
https://www.jzab.de/content/tumblthree
MIT License
922 stars 130 forks source link

Application Crashes when adding blog name with space at the end #79

Closed readydave closed 7 years ago

readydave commented 7 years ago

Hello. If I add a blog manually into the Enter URL: field and I accidentally put a space at the end of the blog name, the application crashes. This has happened in all versions so far, going way back to the early releases.

For example, if I put it https://myblog.tumblr.com, and click add blog, it freezes the UI for about 20-30 seconds, but it will add the blog in. If I type in https://myblog .tumblr.com (notice the space after 'myblog', the UI still stalls but then crashes. A simple solution is to not copy that space at the end when I am doing my copy and paste, but I don't always remember.

Here's the event log info in case that helps. Running this on Windows 10 x64.

Faulting application name: TumblThree.exe, version: 1.0.4.44, time stamp: 0x5908e8c2 Faulting module name: KERNELBASE.dll, version: 10.0.14393.1198, time stamp: 0x5902808f Exception code: 0xe0434352 Fault offset: 0x0000000000033c58 Faulting process id: 0x6bc54 Faulting application start time: 0x01d2cf3e04f9cb09 Faulting application path: C:\TumblThree.exe Faulting module path: C:\Windows\System32\KERNELBASE.dll Report Id: f0007710-9d57-4e5f-85da-45cd9ce90739 Faulting package full name: Faulting package-relative application ID:

Here is the .net error in the event log. Application: TumblThree.exe Framework Version: v4.0.30319 Description: The process was terminated due to an unhandled exception. Exception Info: System.UriFormatException at System.Uri.CreateThis(System.String, Boolean, System.UriKind) at System.Net.WebRequest.Create(System.String) at TumblThree.Applications.Downloader.Downloader.CreateWebReqeust(System.String) at TumblThree.Applications.Downloader.Downloader+d14.MoveNext() at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task) at TumblThree.Applications.Downloader.Downloader+d17.MoveNext() at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task) at TumblThree.Applications.Downloader.Downloader+d19.MoveNext() at System.Runtime.CompilerServices.AsyncMethodBuilderCore+<>c.b6_0(System.Object) at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32) at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate) at System.Windows.Threading.DispatcherOperation.InvokeImpl() at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object) at MS.Internal.CulturePreservingExecutionContext.Run(MS.Internal.CulturePreservingExecutionContext, System.Threading.ContextCallback, System.Object) at System.Windows.Threading.DispatcherOperation.Invoke() at System.Windows.Threading.Dispatcher.ProcessQueue() at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef) at MS.Win32.HwndWrapper.WndProc(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef) at MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object) at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32) at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate) at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32) at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr, Int32, IntPtr, IntPtr) at MS.Win32.UnsafeNativeMethods.DispatchMessage(System.Windows.Interop.MSG ByRef) at System.Windows.Threading.Dispatcher.PushFrameImpl(System.Windows.Threading.DispatcherFrame) at System.Windows.Application.RunDispatcher(System.Object) at System.Windows.Application.RunInternal(System.Windows.Window) at TumblThree.Presentation.App.Main()

johanneszab commented 7 years ago

Why don't use the clipboard monitor anyways when you're already pasting parts of the urls? Should definitely be easier.

I haven't used the textbox once in TumblThree and actually thought of not putting it there at all.