Commit Graph

229 Commits

Author SHA1 Message Date
Pietro Gagliardi 9daef443b2 Moved uiQueueMain() to common/init.c to avoid having multiple initialized variables; the per-OS versions are now uiprivSysQueueMain(). Also more TODOs. 2019-05-30 01:39:43 -04:00
Pietro Gagliardi ab5b3076ed Removed uiInitError length checking and just truncated too-long messages with an ellipsis. Also removed the non-printf version of uiprivReportInitError. 2019-05-30 01:16:33 -04:00
Pietro Gagliardi 19ad0d33a3 Changed uiInit() to return bool instead of int, now that we've settled on using bool. 2019-05-29 21:10:44 -04:00
Pietro Gagliardi fd770430a9 And properly added init and thread checks to the uiEvent functions. Now we just need to do the same on the other platforms and THEN FINALLY we can move on to controls. 2019-05-29 00:41:36 -04:00
Pietro Gagliardi b5927353e0 Started work to test that functions dislike being called before uiInit() or on a different thread; better to do it now than later. 2019-05-28 21:54:13 -04:00
Pietro Gagliardi b3f2214f3e okay what the fuck 2019-05-27 11:36:59 -04:00
Pietro Gagliardi 79ecadb909 Fuck the industry domination of C++ and its standard not forcing compliance in both C and C++ modes, if this is the case here. If not, then fuck MSVC. 2019-05-27 11:18:52 -04:00
Pietro Gagliardi a6c1e1ed17 Fixed build errors. Now to fix runtime errors. 2019-05-27 11:02:23 -04:00
Pietro Gagliardi 7808b3ee94 Added the hook for checking programmer error responses, and made sure it works. Now to simplify it. 2019-05-26 15:41:22 -04:00
Pietro Gagliardi 9f0bb3aacb Fixed uiprivArray/testingprivArray bugs that led to the crash. Now to fix up the rest of the code. 2019-05-20 11:12:16 -04:00
Pietro Gagliardi 9bec2005a1 Added smprintf() and outbuf to the testingpriv.h functions, introducing a simpler outbuf API along the way. Changing the test suite to actually use this comes next. 2019-05-19 23:15:35 -04:00
Pietro Gagliardi 40508a457c Changed testingSet to use testingprivArray. 2019-05-19 18:06:58 -04:00
Pietro Gagliardi 8e5a12b869 And changed unusedIDs to use uiprivArray. Now we can transplant this into testing. 2019-05-19 15:46:09 -04:00
Pietro Gagliardi 02b61c0156 Changed uiEvent.handlers into a uiprivArray; also fixed the buggy implementations of InsertAt and Delete. 2019-05-19 14:37:32 -04:00
Pietro Gagliardi 745440b1e7 Wrote array manipulation functions. Now to convert events.c to use them. 2019-05-19 12:52:06 -04:00
Pietro Gagliardi a81ea6e3fb Fixed events not being deleted properly. 2019-05-19 01:00:25 -04:00
Pietro Gagliardi 66247ce73d Fixed building events.c. 2019-05-18 10:00:07 -04:00
Pietro Gagliardi 25afc9b13f And finished writing events.c. Now to write the tests. 2019-05-17 22:40:29 -04:00
Pietro Gagliardi 56156f549b Bah C99 2019-05-16 23:34:33 -04:00
Pietro Gagliardi 96c346c2dd Added uiprivAlloc() and friends and implemented uiNewEvent(). 2019-05-16 23:02:03 -04:00
Pietro Gagliardi bd84da7179 More implementation of uiEvent. Now we'll need to deal with memory allocation. 2019-05-16 12:27:04 -04:00
Pietro Gagliardi caa926feeb Started implementing and deduplicating the error handling in events.c. 2019-05-15 23:11:21 -04:00
Pietro Gagliardi 55a7e3e56e Started implementing events. 2019-05-15 22:40:06 -04:00
Pietro Gagliardi 101df7a469 Added uiEvent-specific programmer errors. Next up: actually implementing uiEvent. 2019-05-14 11:03:03 -04:00
Pietro Gagliardi 7c128e7bcd Added internal errors and refined the error handling somewhat. 2019-05-13 21:30:18 -04:00
Pietro Gagliardi 45f69cf058 Renamed programmererror.c to errors.c so we can add internal errors (which used to be called implementation bugs). 2019-05-13 10:46:42 -04:00
Pietro Gagliardi 7022e6f268 More programmer error refinement. 2019-05-13 06:37:19 -04:00
Pietro Gagliardi b3049b0a1e Started reintegrating what used to be called user bugs; they're now called programmer errors. We'll create a much more systematic approach to them. Implemented on macOS. 2019-05-12 22:17:24 -04:00
Pietro Gagliardi f97383f66c Rearranged things so that uiInit() itself is in common/init.c and the OS-specific initialization code is its own standalone internal function. This'll make testing a bit easier, especially after the next few commits, and will allow me to test pre-initialization and cross-thread stuff a bit more easily. 2019-05-09 12:07:28 -04:00
Pietro Gagliardi b8b3b3df39 Fixed the rest of the build errors and warnings. Woo! Now for the manifests. 2019-04-21 17:28:47 -04:00
Pietro Gagliardi f7867f3427 ALMOST fixed the build on Windows with MSVC. (For the change to test/testing.h: Even in VS2019 inline isn't available in C, ugh. That function doesn't need to be inline anyway, so eh.) 2019-04-21 15:08:09 -04:00
Pietro Gagliardi c6aa8c3324 Pruned windows/init.cpp to a minimal initialization that we can test things with, which includes adding a function to load err->Message with a formatted string.
Also added a better error for if InitCommonControlsEx() returns 0 without setting the last error; this usually means that v5 is loaded.
Fixes #451.
Updates #337.
2019-04-21 14:49:16 -04:00
Pietro Gagliardi 469484415d Implemented uiInit() on Unix. 2019-04-21 12:24:19 -04:00
Pietro Gagliardi 484989e925 Implemented uiInit() on macOS. The tests work so far! 2019-04-20 21:38:26 -04:00
Pietro Gagliardi 74b1e2780d Implemented the cross-platform bits of uiInit(). 2019-04-19 12:32:13 -04:00
Pietro Gagliardi 992d8694a9 Let's start the remodel. Move almost everything out of the way. 2019-04-08 20:36:21 -04:00
Pietro Gagliardi f6ef61cdee And settled common/CMakeLists.txt (it also had nothing that needed to be moved). 2019-03-27 01:05:57 -04:00
Pietro Gagliardi 1b9250e41e Removed include_directories hackery, as suggested by various people in freenode #mesonbuild. 2019-03-25 20:07:22 -04:00
Pietro Gagliardi 1deacb55aa And massaged things into a buildable state. Woo. NOW things are starting to get annoying, but at least it's not so much *voodoo* anymore? 2019-03-23 16:18:13 -04:00
Pietro Gagliardi 253ce9a3cc Decided to just use add_project_(link_)arguments() for now, and set up the macOS build for testing. 2019-03-23 15:42:42 -04:00
Pietro Gagliardi 419c584523
Merge pull request #379 from mischnic/attrstr-delete
Fix uiAttributedStringDelete
2018-08-09 05:16:52 -04:00
Pietro Gagliardi f3882d6124 Cleaned up color access across platforms. 2018-06-24 14:22:05 -04:00
Pietro Gagliardi acb40964f3 Deduplicated editable logic across platforms. 2018-06-24 11:41:19 -04:00
Pietro Gagliardi 4dbf1994a6 Deduplicated the default text column parameters across platforms. 2018-06-24 00:45:54 -04:00
Pietro Gagliardi 74ec21f4c7 Turned the direct method calls on uiTableModel into functions to make the call sites look a bit cleaner. More stuff will go into common/tablemodel.c... 2018-06-23 23:35:42 -04:00
Pietro Gagliardi 9a79eed2ac Final cleanup, first part: renamed uiTableData to uiTableValue. 2018-06-23 20:19:30 -04:00
Pietro Gagliardi 2b428d50f6 And fixed build errors. Now I just need to rewrite the tester and try this out... 2018-06-03 23:06:44 -04:00
Pietro Gagliardi 54ca41afb6 Moved common/table.c out of the way for now; it's not relevant with the proposed colum changes and definite data changes. 2018-06-03 17:57:17 -04:00
Pietro Gagliardi 43b1a46669 Wrote the common table data functions. 2018-06-03 17:28:54 -04:00
Niklas Mischkulnig 773856fa90 Fix uiAttributedStringDelete 2018-05-31 17:49:44 +02:00