ecere:gpuCommandsFix

Last commit made on 2022-05-31
Get this branch:
git clone -b gpuCommandsFix https://git.launchpad.net/ecere

Branch merges

Branch information

Name:
gpuCommandsFix
Repository:
lp:ecere

Recent commits

80ae753... by Jerome St-Louis

ecere/net/Socket:safeDecRef() Fixed freed memory write on mutex release

b8a32da... by Jerome St-Louis

ecere/gfx/drivers/OpenGL: Checking for errors in GLAB::allocate()

f236345... by Jerome St-Louis

ecere/gfx/OpenGL: Fixed properly setting gpuCommand and mdei for older GL/ES versions

d8d3436... by Jerome St-Louis

ecere/src/com/dataTypes: Safety preventing IDE crashes in OnCompare()
- TODO: Investigate how OnCompare() is being invoked with instances missing a hierarchy level from the _class being passed.
- This issue was happening with an instance of a class derived from EditSection defined in the code and/or project, but with instances missing the EditSection hierarchy level.
- Printing warnings in Debug mode.

6e7ba33... by Jerome St-Louis

butterbur/GraphicalElement: Fixed crash on null element

196deb1... by Jerome St-Louis

ecere/net;gui;sys: Replaced usage of select() by poll() on POSIX systems
- select() does not work with file descriptors greater than or equal to FD_SETSIZE.
- The behavior of the FD_SET() and FD_CLR() macros is undefined with such large selectors and can easily result in corrupting the stack or heap.
- Such large file descriptors are not a rare occurence with a large number of connections and/or files opened.

939fd1b... by Jerome St-Louis

samples/bindings/cpp: Fixed samples
- Fixed compilation and cleaned up all samples
- Added Embedded and Dynamic configs to all samples
- Using $(ECERE_SDK_SRC) everywhere (rather than ECERE_SDK_BINDINGS)
- Removed large non-USE_MACROS sections because they did not compile and these samples are intended for end-users
- The register_* approach to registreing virtual methods no longer works (the register_* are not currently generated_
   - Did we decide to phase that out completely in favor of overriding directly in the class?
- Moved unrelated testing code in Cube sample to 12_demoTest
- Moved form.cpp / foo.cpp, testing instantiating C++ forms from eC, to 13_fromeC
- Removed other duplicates samples from samples/bindings/cpp

ab9c1ff... by Jerome St-Louis

bgen/cpp: Changing INSTANCE macro to avoid multiple evaluation (#27)
- Multiple evaluation was resulting in a crash on exit in form.cpp, due to a second HelloForm2
  instance outliving its TCPPClass.
- miscTypes: Added clarification regarding UIntPtr comparison issue
   - byValueSystemClass flag on base uintptr does not get carried to derived UIntPtr and its own derivatives
   - this causes UIntPtr64_OnCompare() to expect elements by value while they get passed by reference

1b03e85... by Jerome St-Louis

bgen/cpp: Change TIH logic to use its own 'ownRef' flag (#27)
- mustFree on the instance indicates whether an object must be deleted when it reaches final destruction change
- TIH::ownRef is true if TIH created the object itself
- This prevents the TIH deleting a C++ object allocated dynamically which it didn't just create
- The problem was occurring in samples/bindings/cpp/form.cpp, together with form.cpp, as a result of testStuff() being invoked

7ec5481... by Jerome St-Louis

bgen/cpp: Removing code setting mustFree = true on Application when it should not