Timothy
  • Timothy
  • 100% (Exalted)
  • Flock Leader Topic Starter
2008-05-14T14:36:25Z
I know I said 2.1 was feature complete, but I couldn't resist sneaking a couple small UI enhancements into 2.1.7. Along with that 2.1.7 has a bunch of bug fixes.

Download links...
x86: http://www.avianwaves.co...-DO_NOT_REDISTRIBUTE.msi 
x64: http://www.avianwaves.co...-DO_NOT_REDISTRIBUTE.msi 

Here is the changelog...
- Began working on a generic interface for all protocol controls, so I can eventually wire in non-RDP protocols into RD Tabs. There should be no functionality change, as I literally just created an interface and wired up "implements" on the RDP control.
- Fixed a long outstanding issue where screen data from a remote RDP session will still use the network even if the tab is not in view (RDP is capable of suspending screen updates while not in view to conserve network traffic). RD Tabs performance should increase as a result of this fix. Since I had to tamper with some pretty core areas of RD Tabs, let me know if you ever switch to a tab and the remote connection just disappears or something of that nature. (Seems to be okay to me so far, but you never know!)
- New feature: You can now choose between using the "add new tab button" on the left side of each tab pane, as was introduced in RD Tabs 2.1, or use the IE7 (and RD Tabs 1.x-style) "new tab tab" where the right most tab in each tab pane creates a new tab. This is entirely a matter of preference. They are both functionally the same when clicked by the left or right mouse button. Keyboard shortcuts also have not changed.
- Fixed a bug where when you selected certain pages (such as the Warning page) in the options, the apply button would erroneously light up, even if no settings have changed. This one is actually different and more intermittent than the similar bug fixed in 2.1.6.
- In order to ease the burden on my poor update server, RD Tabs will now only check the update server a maximum of once every 12 hours, no matter what the interval is set to in the config file. Addtionally, if it has already checked the update server within the last 12 hours, it will not perform an automatic check on startup. This does not affect the manual "check for updates." So as not to negatively affect the user experience, RD Tabs will remember a previous successful automatic check, and will give you the download link again within a minute of starting RD Tabs (useful if you close the application before downloading the new RD Tabs).
- If the RDP control initializes, but throws a COM expection while setting default properties (a very peculiar rare error where an error of type TYPE_E_ELEMENTNOTFOUND is generated on any call to the initialized control), RD Tabs will now allow you to choose to launch the RD Tabs Repair Utility to try to see if re-registering your RDP COM library might help fix the problem. You can always select "no" and send an error report, if you encounter this error but the repair tool does nothing to help. According to MSDN, this error is usually genrated when something in a computer's COM subsystem is corrupted.
- Cleaned up part of the RD Tabs main form initialization. There was a part that was doing redundant work, so I combined it into one step. It is probably unnoticable performance-wise, but I cleaned it up never-the-less!
- In some cases, device redirection would cause RD Tabs to crash. I don't know the cause yet, but I think I have figured out the trigger. It seems that in the cases where it crashes, the remote desktop library is returning a NULL collection. Since RD Tabs is expecting a collection object, even if it's empty, it will throw a null reference exception. I now detect for a NULL collection and if RD Tabs gets one, it will tell the user it could not enumerate system devices. I also put "you may not have permission" because I'm assuming (possibly errantly) that this is a permissions problem. So at least RD Tabs will not crash, even if device redirection is not working.
- Fixed a bug for XP users. When importing settings in 2.1.6 or newer, you would receive an error saying something about a missing method called "AutoUpgradeEnabled." This method is only supported on Vista, so for XP users, the exception is ignored if it is thrown.
- Modified behavior: if a warning is thrown during settings import, it will remind you when the import finishes.
- Fixed a bug where under Windows Vista, if your system was under high load (CPU or disk or memory) and you started RD Tabs, rarely a strange exception would be thrown about a null reference exception. For some reason (I suspect possibly even a framework bug), in this high load case, the "OnActivated" event was being fired BEFORE the completion of the constructor and the "OnLoad" event. I have since put a check into the OnActivated event handler to make sure the objects it is accessing are not null before attempting to use them.

full film