Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Overhaul PDF Model code #57

Open
wants to merge 7 commits into
base: master
Choose a base branch
from

Conversation

GravisZro
Copy link
Contributor

@GravisZro GravisZro commented Sep 11, 2023

I used re-structured the code to be more OO compliant. However, the main extraction loop was heavily modified to be readable. Some unused files were deleted and removed from the project file. This is a much cleaner implementation, so please merge it.

I did this because I was curious about how the actual extraction process worked. I now have some ideas for identifying labeled packages but this had to be cleaned up first.

Note 1: this PR is going to have conflicts with PR #54, so merge that first and I'll rebase this and resolve conflicts.

Note 2: the project files were modified to fix the Appveyor build issue with including poppler-qt headers

Included files that are relative to the current directory should be included as such:
\#include "relative_path/file.h"

Included files that are relative to an included path should be included as such:
\#include <some_path/file.h>

The fact that they worked is somewhat of a bug and they may not always be the case.
Many variables were not initialized or were initialized only after complex code
execution. Variables (especially pointers!!!) should ALWAYS be initialized at the
start of the constructor in order to avoid uninitialized values while debugging
code in the constructor.

Always assign deleted pointers to nullptr for extra safety.

I know it's against your style but I very much hope you adopt this style because
it will save you from finding yourself in "impossible" situations.
The program has been using objects in freed memory for a very long time.
@GravisZro GravisZro force-pushed the pdf-overhaul branch 10 times, most recently from f935453 to caeeb59 Compare September 12, 2023 00:41
I used re-structured the code to be more OO compliant. However, the main extraction
loop was heavily modified to be readable.  Some unused files were deleted and removed
from the project file. Project file options were unified and updated for Appveyor.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants