This fixes changing the play/pause button's label depending on the
emulation state. Before, wxToolBarToolBase's SetLabel() function was
used. This function, however, is not implemented in wxGTK which leads to
the label not changing on linux when the button is clicked. Although the preferred
method (according to the wxWidgets documentation) to change the properties
of a tool is to use the toolbar's setters, there is no such setter for
the label. Therefore, this implements a workaround where the
button is deleted and readded afterwards with the updated properties.
Thanks to linkmauve for noticing this!
This was due to specifying negative source coordinates for the texture copy, which must lie within the bounds of the source and destination textures.
The behavior now is to clamp the copy region to [0 <= size <= backbuffer size], resulting in a copy region that can be smaller than the backbuffer, but never larger.
Rather than rely on the developer to do the right thing,
just make the default behavior safely deallocate resources.
If shared semantics are ever needed in the future, the
constructor that takes a unique_ptr for shared_ptr can
be used.
"-TR" Wiimotes don't accept output reports via the Control Channel. HidP_SetOutputReports will send the data via the Control Channel, whereas WriteFile will send it via the Interrupt Channel. Therefore using WriteFile enables "-TR" Wiimotes on Windows. There are some issues to be aware of. First the Toshiba Bluetooth Stack needs the output report buffer to have the size of the largest output report supported by the device. This requirement is also enforced by the Windows 7 default stack. However the Toshiba Stack, will only send the actual report bytes to the device, whereas on Windows 7 the full resized buffer is sent, resulting in an error on the Wiimote. This issue renders WriteFile unusable on Windows 7 with the default stack. On Windows 8/8.1/10 this requirement is somehow not implemented and it is possible to send smaller buffers via WriteFile to the device, enabling "-TR" Wiimotes.
Check is done by checking the driver provider property of the HID Class Driver. As the Toshiba Bluetooth Stack provides its own.
The initial enumerated device node is a empty hid interface node. Therefore first one node is moved up and then the provider property check is done.
The data passed in isn't modified in these functions
Also normalizes variables with prefixed underscores in the modified
functions (and normalizes outliers to our current coding style), as
single-underscore followed by any lowercased/uppercased character is
reserved for use in the global namespace (it's a common misconception this
is assumed to only be the case for underscores followed by a capital
character, but this is only the case in C, not C++).
It only marks a string for translation. It doesn't actually do anything
at runtime, so the message will always be displayed in English. Even if
we would've had a way to make the translation work, we shouldn't
translate this, because OSD doesn't support non-ASCII characters.
Caused by the recent merge 1c95cd5.