Community
Participate
Working Groups
The only rendering option in the Memory Browser of stock CDT is Traditional. That's because the rendering bindings that CDT contributes end up associating the built-in platform renderings (e.g., Hex, ASCII) directly to CDT memory block implementations (CMemoryBlockExtension and DsfMemoryBlock). This is done in plugin.xml. The way the Memory Browser chooses which renderings to support is by seeing which renderings have been bound to a dummy instance of the generic IMemoryBlockExtension (see MemoryBrowser.getRenderingTypes()). Since CDT binds the rendering to CDT-specific types and not the generic IMemoryBlockExtension, the memory browser ends up making available only the single Traditional rendering (since the browser plugin binds Traditional to IMemoryBlockExtension). This is bad for two reasons. First, CDT user's don't have access to the platform's stock renderings within the Memory Browser. Secondly, CDT is injecting its Traditional rendering into all tools that are using the Memory View, whether or not those tools want that rendering. The solution is to get the Memory Browser to (1) determine the suitable rendering by using the actual memory block instance being used and not a fabricated generic one, and (2) no longer bind Traditional to all IMemoryBlockExtensions so we're not forcing it on all tools using the Memory view.