<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dolphin/Source/Core/InputCommon/Src/ControllerInterface/ExpressionParser.cpp, branch 4.0</title>
<subtitle>GameCube and Wii emulator</subtitle>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/'/>
<entry>
<title>Revert "Fix a memory leak in ExpressionParser.cpp"</title>
<updated>2013-08-09T08:46:11+00:00</updated>
<author>
<name>Pierre Bourdon</name>
<email>delroth@gmail.com</email>
</author>
<published>2013-08-09T08:46:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=0aa93080066ca16f7566213c083363dc7690f8cf'/>
<id>0aa93080066ca16f7566213c083363dc7690f8cf</id>
<content type='text'>
This reverts commit cce809ac90cc195f0c88a6cc788b3ff7359083a5.

The code was actually correct: "expr" is never allocated when an error is
returned. This means when the expression parser fails, deleting "expr" means
deleting an uninitialized pointer.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit cce809ac90cc195f0c88a6cc788b3ff7359083a5.

The code was actually correct: "expr" is never allocated when an error is
returned. This means when the expression parser fails, deleting "expr" means
deleting an uninitialized pointer.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix a memory leak in ExpressionParser.cpp</title>
<updated>2013-08-08T21:56:15+00:00</updated>
<author>
<name>Lioncash</name>
<email>mathew1800@gmail.com</email>
</author>
<published>2013-08-08T21:56:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=cce809ac90cc195f0c88a6cc788b3ff7359083a5'/>
<id>cce809ac90cc195f0c88a6cc788b3ff7359083a5</id>
<content type='text'>
Because there's a return here, expr should be deleted since it's not assigned to anything before returning.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Because there's a return here, expr should be deleted since it's not assigned to anything before returning.
</pre>
</div>
</content>
</entry>
<entry>
<title>ExpressionParser: Parse fully qualified control names correctly</title>
<updated>2013-07-12T17:26:09+00:00</updated>
<author>
<name>Jasper St. Pierre</name>
<email>jstpierre@mecheye.net</email>
</author>
<published>2013-07-12T17:26:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=b64e882ba5f34f63bf588ed2e14ff28247675982'/>
<id>b64e882ba5f34f63bf588ed2e14ff28247675982</id>
<content type='text'>
Without clearing out the "accumulator" for the backtick parsing,
our control name was full of junk (the previous device name) causing
us to not correctly find the control.

Ensure that always we clear the "accumulator" string during backtick
parsing.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Without clearing out the "accumulator" for the backtick parsing,
our control name was full of junk (the previous device name) causing
us to not correctly find the control.

Ensure that always we clear the "accumulator" string during backtick
parsing.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix a case where a boolean check (vector.empty()) was used when a clear (vector.clear()) was intended in ExpressionParser.cpp.</title>
<updated>2013-07-03T01:42:44+00:00</updated>
<author>
<name>Lioncash</name>
<email>mathew1800@gmail.com</email>
</author>
<published>2013-07-03T01:42:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=03a47d3c6b81175331f9645cdb4bd72ab02eb14c'/>
<id>03a47d3c6b81175331f9645cdb4bd72ab02eb14c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>InputConfigDialog: Don't show "..." for complicated expressions</title>
<updated>2013-06-29T22:28:14+00:00</updated>
<author>
<name>Jasper St. Pierre</name>
<email>jstpierre@mecheye.net</email>
</author>
<published>2013-06-29T22:27:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=d5983b587e3e9739622b8e1658114a81ccfc3e69'/>
<id>d5983b587e3e9739622b8e1658114a81ccfc3e69</id>
<content type='text'>
Just show the actual expression. We need to do a bit of mangling
here as wx has no way to turn off mnemonics parsing, so do that
as well.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Just show the actual expression. We need to do a bit of mangling
here as wx has no way to turn off mnemonics parsing, so do that
as well.
</pre>
</div>
</content>
</entry>
<entry>
<title>ExpressionParser: Search for control names first</title>
<updated>2013-06-27T14:51:19+00:00</updated>
<author>
<name>Jasper St. Pierre</name>
<email>jstpierre@mecheye.net</email>
</author>
<published>2013-06-27T14:51:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=11fdd5a4ec25984c5c484cf1dd29fdec004028b3'/>
<id>11fdd5a4ec25984c5c484cf1dd29fdec004028b3</id>
<content type='text'>
Otherwise, valid control names like "Cursor X+" would be incorrectly
tokenized as "`Cursor` `X` +", causing the parser to first abort trying to
find a control named `Cursor` rather than aborting with invalid syntax on
the bad binop.

We could also do this by resolving devices lazily, but since simple
control name bindings are going to be 90% of usecases, just look for these
first.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Otherwise, valid control names like "Cursor X+" would be incorrectly
tokenized as "`Cursor` `X` +", causing the parser to first abort trying to
find a control named `Cursor` rather than aborting with invalid syntax on
the bad binop.

We could also do this by resolving devices lazily, but since simple
control name bindings are going to be 90% of usecases, just look for these
first.
</pre>
</div>
</content>
</entry>
<entry>
<title>ExpressionParser: Add support for simple barewords control names</title>
<updated>2013-06-27T00:19:23+00:00</updated>
<author>
<name>Jasper St. Pierre</name>
<email>jstpierre@mecheye.net</email>
</author>
<published>2013-06-27T00:19:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=f53eefb491d8325ec7fccc8c006dc3be38765fe5'/>
<id>f53eefb491d8325ec7fccc8c006dc3be38765fe5</id>
<content type='text'>
If an expression can't be parsed normally, we then look to see if it's a
simple device name. This keeps backwards compatibility with simple input
ocnfigurations, where people just used the Detect button.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If an expression can't be parsed normally, we then look to see if it's a
simple device name. This keeps backwards compatibility with simple input
ocnfigurations, where people just used the Detect button.
</pre>
</div>
</content>
</entry>
<entry>
<title>ExpressionParser: Don't crash when we can't find a device</title>
<updated>2013-06-26T20:54:48+00:00</updated>
<author>
<name>Jasper St. Pierre</name>
<email>jstpierre@mecheye.net</email>
</author>
<published>2013-06-26T20:54:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=03fdebac09f76decaa0a51f3491fa606f45df3cb'/>
<id>03fdebac09f76decaa0a51f3491fa606f45df3cb</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>ExpressionParser: Fix delimiter scanning</title>
<updated>2013-06-25T05:44:28+00:00</updated>
<author>
<name>Jasper St. Pierre</name>
<email>jstpierre@mecheye.net</email>
</author>
<published>2013-06-25T05:44:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=89e84163c2369c0839ee901015d992abacb1191c'/>
<id>89e84163c2369c0839ee901015d992abacb1191c</id>
<content type='text'>
We need to make sure we eat the delimiter, otherwise we'll notice
the colon / backtick and think it's either a new control or part
of the control name
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We need to make sure we eat the delimiter, otherwise we'll notice
the colon / backtick and think it's either a new control or part
of the control name
</pre>
</div>
</content>
</entry>
<entry>
<title>InputConfigDiag: Use "..." for complicated expressions</title>
<updated>2013-06-25T04:58:31+00:00</updated>
<author>
<name>Jasper St. Pierre</name>
<email>jstpierre@mecheye.net</email>
</author>
<published>2013-06-17T10:52:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=c5c86d17dc5f8fcb4421a9e745b443ea33f143c4'/>
<id>c5c86d17dc5f8fcb4421a9e745b443ea33f143c4</id>
<content type='text'>
The full expression is quite often too big for a simple button
label, so encourage people to use the full editor to edit it.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The full expression is quite often too big for a simple button
label, so encourage people to use the full editor to edit it.
</pre>
</div>
</content>
</entry>
</feed>
