c17f854d04And added uiControlOSVtable on Windows. We're now back to building everywhere! :D
Pietro Gagliardi
2019-06-18 20:31:28 -0400
80ada0a06bAnd implemented the bare bones of uiControlOSVtable on GTK+.
Pietro Gagliardi
2019-06-18 20:19:32 -0400
4649e7d632Oh wait, we leave that to the individual containers. Never mind! Let's write this on other platforms!!
Pietro Gagliardi
2019-06-18 11:02:39 -0400
644afdedafAdded uiControlOnFree() checking to test/control.c. Now we can add the tests for uiControlFree() calling Free on children, and then we can finally start implementing these on the other platforms :D
Pietro Gagliardi
2019-06-18 10:59:56 -0400
a1b0979506Rewrote test/controls.c to be about counting calls.
Pietro Gagliardi
2019-06-18 10:48:10 -0400
dcae8888d2More controls test work.
Pietro Gagliardi
2019-06-17 20:03:57 -0400
a9145c2f35Started writing the uiControl functionality tests. Also more TODOs. Let's fix build errors next.
Pietro Gagliardi
2019-06-16 21:44:49 -0400
6b161efed7Added uiControlSetParent() to allcalls.h.
Pietro Gagliardi
2019-06-16 21:28:16 -0400
a907353c9cWorkaround for now. I should have specified in the bug that I overlooked it because my version of clang seems to use C99 for Objective-C by default, but not for Objective-C++. I'll do that when I'm next online. Anyway, now to write uiControl functionality tests.
Pietro Gagliardi
2019-06-16 21:26:05 -0400
517791f04eStarted writing the macOS control errors file. We have a meson problem now... it's not respecting cpp_std for Objective-C++.
Pietro Gagliardi
2019-06-16 20:34:56 -0400
aa7da7b647And added those control errors. Back to passing, and more importantly, back to actually writing tests! (Once we get to the uiControlOSVtable tests, that is...) Also more TODOs.
Pietro Gagliardi
2019-06-16 20:03:37 -0400
3f744de64eStarted cleaning things up from zOLD as well.
Pietro Gagliardi
2019-06-16 19:55:51 -0400
edee2b930cRe-added uiControlSetParent() to allow finishing testing uiControlFree() errors. That will come next, alongside its own errors.
Pietro Gagliardi
2019-06-16 19:52:09 -0400
fda6c4a743And strengthened the uiControlType() test a bit.
Pietro Gagliardi
2019-06-16 17:32:47 -0400
c28adcbd01Added test hook for checking a malformed uiControl whose type field is invalid.
Pietro Gagliardi
2019-06-16 17:26:03 -0400
f90150a579More filling in of the uiControl errors tests.
Pietro Gagliardi
2019-06-16 13:06:28 -0400
0d61f674c5Filled in some error messages in the previous commit. More TODOs.
Pietro Gagliardi
2019-06-16 10:28:27 -0400
0bc347dd62Stubbed out most of the other uiControl errors to test.
Pietro Gagliardi
2019-06-16 10:20:21 -0400
3e96dafe44Created the test uiControl type. Now we can start writing the rest of the uiControl tests.
Pietro Gagliardi
2019-06-16 05:45:16 -0400
29309ab040And also FINALLY added the internal uiEvents to the uiEventFree() test.
Pietro Gagliardi
2019-06-15 21:45:35 -0400
29ce809772And FINALLY fixed the NULL name error in uiRegisterControlType().
Pietro Gagliardi
2019-06-15 21:38:21 -0400
0550e4bc00Turned testVtable into a function that returned the pointer to use, made the OSVtable equivalent likewise, and renamed darwin/control.m to darwin/controls.m.
Pietro Gagliardi
2019-06-15 21:33:53 -0400
c1d8c0f5ecOops, forgot to add the consts to the documentation.
Pietro Gagliardi
2019-06-15 20:48:55 -0400
b6a8d24c3eAnd fixed const issues and other build errors.
Pietro Gagliardi
2019-06-15 20:48:20 -0400
ad209175c1Migrated controls_errors.h. Now I need to add consts to uiRegisterControlType() and friends.
Pietro Gagliardi
2019-06-15 20:38:18 -0400
4d78b5a3efMigrated noinitwrongthread.c.
Pietro Gagliardi
2019-06-15 20:17:45 -0400
8c7f1987daAnd fixed build errors. It works! Now to translate everything else back.
Pietro Gagliardi
2019-06-15 20:06:12 -0400
83dc1d6065And removed errors.h.
Pietro Gagliardi
2019-06-15 19:59:17 -0400
c2bace108dAnd finished rewriting events_errors.h.
Pietro Gagliardi
2019-06-15 19:58:46 -0400
f966b6ee16Adapted everything to life with C++ and to the new error checking model.
Pietro Gagliardi
2019-06-15 19:53:50 -0400
c74fc09261Started rewriting the error checks in C++, because ugh.
Pietro Gagliardi
2019-06-15 19:28:47 -0400
5d63b34904I should probably just switch all this to C++ at this rate.
Pietro Gagliardi
2019-06-14 20:15:39 -0400
f517742a3cStarted rewriting events_errors.c to use a new errors.h that will do all the hard work. We'll need to do slightly more work for this particular case because of the firing stuff, though.
Pietro Gagliardi
2019-06-13 21:20:39 -0400
ae4bfea10bStarted rewriting events_errors.c to mention events less; this will turn into an events.h that will do all the heavy lifting.
Pietro Gagliardi
2019-06-13 20:57:15 -0400
ab82278a30And got things building. Now to clean up the error macro part.
Pietro Gagliardi
2019-06-13 10:43:44 -0400
d54f23c0ccDeduplicated the common defer functions.
Pietro Gagliardi
2019-06-13 10:39:40 -0400
f3b0dc16abSlight refactoring of the controls test. One more thing to do for now.
Pietro Gagliardi
2019-06-13 10:31:17 -0400
c1ca78c46eSplit the events.c errors test into its own file.
Pietro Gagliardi
2019-06-12 11:12:08 -0400
47a8ccaf98And filled in the error messages in controls_errors.h.
Pietro Gagliardi
2019-06-12 11:03:21 -0400
63773f703cFixed build errors. The test itself will fail at present, but we have some cleanups to do still...
Pietro Gagliardi
2019-06-11 21:29:25 -0400
e30ed33046Finished rewriting test/controls.c for the initial run. Now to fix errors.
Pietro Gagliardi
2019-06-11 21:23:56 -0400
28a5cd543aStarted writing the uiControl error tests.
Pietro Gagliardi
2019-06-11 12:01:35 -0400
6903bebe7dStarted writing the controls Darwin-specific code and all-platforms tests for real.
Pietro Gagliardi
2019-06-10 23:09:35 -0400
89f64eb067Added the documentation for macOS uiControl, or what little of it currently exists.
Pietro Gagliardi
2019-06-10 20:11:10 -0400
7e3d6d2b1cAnd fixed build and runtime errors. This works! Woo! We can now move on to uiControl for real this time! (Will resolve the TODOs later.)
Pietro Gagliardi
2019-06-10 11:36:44 -0400
a0fc3187e2And rewrote events.c to use the new error checking framework. Now to fix build and possibly runtime errors.
Pietro Gagliardi
2019-06-10 11:24:33 -0400
7b10fa729bMore TODOs.
Pietro Gagliardi
2019-06-10 10:42:11 -0400
70ff47cb06Wrote a new file to store the uiEvent error test cases.
Pietro Gagliardi
2019-06-10 10:41:33 -0400
afbf5f2d59And actually did split the new error testing code into its own file. Next is changing both events.c and controls.c to use it (and yes, that means we can finally start continuing work on controls.c).
Pietro Gagliardi
2019-06-09 22:45:44 -0400
b34a427077Further refactored noinitwrongthread.c; at this point, the actual check runner can be separated into its own file and used elsewhere.
Pietro Gagliardi
2019-06-09 22:33:45 -0400
05b1e26ee2Removed some leftover code.
Pietro Gagliardi
2019-06-09 21:18:31 -0400
97e37e5831Started defining uiControlOSVtable on macOS. I'll need to write the documentation alongside this.
Pietro Gagliardi
2019-06-09 21:16:13 -0400
5f454a6114Some more refactoring in noinitwrongthread.c. The different components are almost isolated!
Pietro Gagliardi
2019-06-09 21:00:33 -0400
ee9df0491fSimplified noinitwrongthread.c further. This will form the basis of a simplified general event handler.
Pietro Gagliardi
2019-06-09 19:00:01 -0400
ef05d40fadFixed test execution.
Pietro Gagliardi
2019-06-09 18:19:43 -0400
a0fd823328Just restored TestEventErrors as is for now. There's definitely room for cleanup here.
Pietro Gagliardi
2019-06-09 18:08:50 -0400
94d638e601And finished rewriting test/noinitwrongthread.c.
Pietro Gagliardi
2019-06-09 16:14:18 -0400
91c1e8e517And rewrote TestFunctionsFailBeforeInit. This should work nicely.
Pietro Gagliardi
2019-06-09 15:29:03 -0400
db3de44432Collapsed the strsafe*_impl files. strdup_impl is still a mess, but to fix that we'll need to both clean up the static nonsense and other stuff in testingpriv.c.
Pietro Gagliardi
2019-06-09 14:06:16 -0400
5f011acc0cSomewhat hackily worked around strdup wonk.
Pietro Gagliardi
2019-06-09 14:03:27 -0400
24320ce784Disabled the event error tests and started rewriting the no uiInit()/wrong thread checks to use the new programmer error test hooks. I'll also start taking care of the sharedbits cruft now by just providing Strdup and FreeStrdup as utility functions, because bleh.
Pietro Gagliardi
2019-06-09 13:57:02 -0400
65226ac416Refactored the programmer error test hook to not needlessly pass in the prefix, suffix, or internal flag, and to allow passing in arbitrary data so we can get rid of the global state in the tests. This will make the tests a LOT easier.
Pietro Gagliardi
2019-06-09 13:49:53 -0400
7486ff6b25Changed the programmer error tests to require a strict match. Now I want to restructure them to both be reusable and to not require global state.
Pietro Gagliardi
2019-06-09 13:44:46 -0400
a2b9145931Did the same rewording to most of the other programmer errors. Only the first two are left, because I can't think of a good rewording...
Pietro Gagliardi
2019-06-09 13:39:14 -0400
87a2195027Renamed the uiControl programmer errors to more clearly indicate they are uiControl programmer errors, and reworded their messages to put the function name first.
Pietro Gagliardi
2019-06-09 13:32:31 -0400
0f41bb2188Made all programmer error functions take the function name as an argument.
Pietro Gagliardi
2019-06-09 13:18:18 -0400
9b11ec4a6fChanged the IntID error into a uiEvent-specific one.
Pietro Gagliardi
2019-06-09 10:30:47 -0400
14c80eefb8Started organizing common/programmererrors.h.
Pietro Gagliardi
2019-06-09 10:27:28 -0400
e808d85e01Added function names to the wrong struct size error.
Pietro Gagliardi
2019-06-09 08:50:12 -0400
9e05efa091Oh right forgot to clean up error stuff from zOLD.
Pietro Gagliardi
2019-06-09 08:44:30 -0400
e3a4d34196Started cleaning up zOLD/control stuff now that we are reimplmenting it all.
Pietro Gagliardi
2019-06-09 08:39:51 -0400
c45ab57bceStarted writing control tests. This is going to be fun...
Pietro Gagliardi
2019-06-08 21:38:32 -0400
822572d395Stubbed out the OS-specific files on macOS so I can actually start writing the uiControl tests.
Pietro Gagliardi
2019-06-08 19:45:09 -0400
379fc230e5More compile fixes. sharedbits is starting to get really messy.
Pietro Gagliardi
2019-06-08 18:39:59 -0400
22cc5ad834More error fixing.
Pietro Gagliardi
2019-06-08 18:22:16 -0400
19fc6f674fOops, forgot to add controls.c to the build.
Pietro Gagliardi
2019-06-08 18:09:37 -0400
9f776c140dFixed compile errors.
Pietro Gagliardi
2019-06-08 18:09:12 -0400
7aa1b0870dAnd finished filling in controls.c. This is gonna be fun to debug...
Pietro Gagliardi
2019-06-08 15:31:40 -0400
1189877ca5Started writing the uiControl implementation.
Pietro Gagliardi
2019-06-08 13:00:30 -0400
e2842bae35Oops, forgot to put Size in uiControlVtable. Let's go!
Pietro Gagliardi
2019-06-08 09:58:25 -0400
6f4c65defcFinished the uiEventInvalidateSender() tests.
Pietro Gagliardi
2019-06-07 21:05:45 -0400
5260d5c90fMore reminders for when I write the rest of the uiEventInvalidateSender() tests later.
Pietro Gagliardi
2019-06-07 11:01:17 -0400
6cf92b2058Wrote and started testing uiEventInvalidateSender(). The rest of the tests come next.
Pietro Gagliardi
2019-06-07 10:58:39 -0400
65c88fd1c4And documented all the other functions we need to start writing common/control.c.
Pietro Gagliardi
2019-06-06 22:51:37 -0400
582a781171More uiControl work.
Pietro Gagliardi
2019-06-05 23:20:53 -0400
4ff61c81b0More uiControl documentation writing. This new system might work nicely the way I'm designing it...
Pietro Gagliardi
2019-06-04 20:33:29 -0400
26e492539dRenamed uiFreeEvent() to uiEventFree() for consistency with uiControlFree().
Pietro Gagliardi
2019-06-02 22:04:25 -0400
57dc482f2aOops
Pietro Gagliardi
2019-06-02 20:50:55 -0400
b8f8e1c4f7Started writing out uiControl's documentation. This new design is going to be rather interesting.
Pietro Gagliardi
2019-06-02 20:47:27 -0400
c6294f163fOkay, added uiFreeEvent() error tests. Now back to uiControl.
Pietro Gagliardi
2019-06-02 19:11:22 -0400
d040bca07eStarted layout out the uiControl stuff. I forgot to write tests for uiFreeEvent() errors :|
Pietro Gagliardi
2019-06-02 18:49:16 -0400
12c01d0d42Ensured calls to bsearch() have a length of at least 1; UndefinedBehaviorSanitizer will warn otherwise. Also included qsort(), to be safe.
Pietro Gagliardi
2019-06-02 14:26:25 -0400
6d6cd66046Freed defers after they run. Apparently this is sufficient to satisfy AddressSanitizer, which... how? I'll take it, but still, there's definitely more unfreed allocations than this...
Pietro Gagliardi
2019-06-02 14:05:36 -0400
ddaa10b7e1Wrote defers into test/events.c. Woo! Now we need to free the defers when we're done, and I have an idea...
Pietro Gagliardi
2019-06-02 12:48:06 -0400
9f2796ebacAdded uiEventFree(). Now to add it to the tests and see what AddressSanitizer says afterward.
Pietro Gagliardi
2019-06-02 10:06:50 -0400
ece22bdddcSplit programmer errors into their own header file for readability and turned the names from string constants into full-fledged uiprivProgrammerError() calls to increase safety.
Pietro Gagliardi
2019-06-02 08:35:40 -0400
623575f25aChanged uiprivProgrammerError() to use format strings directly, so errors can be more easily caught. We'll make things even more robust when I change the programmer error macros to be functions.
Pietro Gagliardi
2019-06-02 02:23:12 -0400
671c2031bfTODO in allcalls.h now resolved.
Pietro Gagliardi
2019-06-02 02:07:33 -0400
b5e8b76066Fixed one mistake.
Pietro Gagliardi
2019-06-02 02:04:20 -0400