When the current row in the table of graphs changes, if it's
valid and enabled, scan to see if we can make that the graph
the QCP Tracer (the circle identifying points) is associated
with. If it's not enabled, don't scan because we don't want
to switch the tracer from the old graph to the graph in the
first row of the table.
If the validity changes later, we'll do a scan via
modelDataChanged -> syncGraphSettings.
HTTPS Some More Places.
Instead of giving a now-dead link to a not-archived-in-the-Wayback-
Machine ICAO document repository, give a live link to a PDF of ICAO Doc
9705 Second Edition.
Handle "TRUE" or "FALSE" with any case for a UAT boolean.
Continue to write it as TRUE or FALSE in the files, for
backwards compatibility for versions before 4.4.
Note that the IO Graphs have their own version of this, from
when a UAT wasn't used (pre-2.6), though we can probably
stop writing "Enabled" and "Disabled" in that case (but
continue reading them for a while.)
Follow up to f3311c1840
In prefs_pref_to_str, since valp is now a bool* for PREF_BOOL,
cast it appropriately. Otherwise ASAN will crash, complaining of
a buffer overflow.
Follow up to 5a9393c646
The json dumper code in wsutil uses isfinite, which is in
math.h, and some of the command line taps and other things
in ui use math.h. Nothing in ui or wsutil includes math.h
in a header. tshark, dumpcap, and sharkd don't include math.h
and only link with libm because they happen to use functions
from ui and/or wsutil that need it (at least on some platforms,
see 024f8a27bd).
Move linking to libm to the ui and wsutil libraries as PRIVATE
dependencies, so that executables don't have to worry about
needing to add linking with libm because of using a function
from a library.
A couple of dissectors referenced boolean preferences declared
in other dissectors via extern. Change them to bool as well.
In the case of ANSI TCAP, that (plus two other dissectors from
the non ANSI TCAP dissector) doesn't seem to be used at all, so
just remove the declaration.
Follow up to 5a9393c646Fix#19730
That way, it looks like the other items in that section, rather than
getting a section number.
(There does not appear to be an obvious way to make that show up *after*
the argument and return value items, which is where it really belongs.)
We copy the sessionblob to encryptedsessionkey if it has between
1 and NTLMSSP_KEY_LEN bytes; if it has less than the full amount,
make sure that the remaining bytes of encryptedsessionkey are
initialized to zero because they're copied around and printed
as expert info.
Fix#19728
When moving from the begining with a beginning offset specified,
don't run off the end. Subtract the source memory area's full offset
from the beginning of the buffer from the capture length.
Fix#19724
Set the IO Graph bar graph color to a somewhat darker color of the graph
for an outline. This looks good now that the bar widths adjust
correctly and don't overlap. (68f427822a)
We should, ideally, set the outline to a slightly *lighter* color when
using dark mode instead, but we don't yet respect dark mode in any
of our widgets that use QCustomPlot. Whenever we do so, we should make
that change.
Fix#17422
Add sentence dissector for ZDA messages.
- It splits the time field into separated hour, minutes and seconds fields.
- The other fields are named and simply display their contents
- Report an expected but missing field
- Other sentence types are dissected by the existing code (split into unnamed fields)
When switching the plottable from a QCPGraph to QCPBars or vice
versa, we have to recalculate the graph to insert the data.
If the plottable is the same but changes styles, we only need
a replot (which we do in the calling function.)
This was exposed by 81c7238776,
which removed the automatic recalculation in nearly all
circumstances.
We attempt to rescale the IO Graph if it's there's only one visible.
Only rescale the one that is visible, instead of performing unnecessary
calculations on the graphs that won't be shown as well.
If the visibility status changes, recalculation and rescaling occurs again.
Only set the filter if the full filter has changed. Setting
it when it hasn't changed marks the tap as needing a redraw,
which ends up triggering a full IOGraph recalculation. This
change removes some unnecessary recalculations.
We need to recalculate when changing visibility if the umber
of enabled graphs changed to or from 1, as that might have
changed whether rescaling is done. (This is why QCustomPlot
recommends scaling in the axis ticker instead.) The recalculation
was getting picked up eventually (via syncGraphSettings ->
setFilter -> setting the tap filter -> marking the tap as
needing redraw -> main application timer -> tapDraw -> recalc),
but on the main application tap timer, which has a larger default
delay than the IO Graph Dialog timer when the IO Graph Dialog is open.
This causes the recalculation and thus axis legend update to
happen more quickly when it needs to, instead of having a delay
before the axis title updates.
The MongoDB Wire Protocol uses _signed_ 32 bit integers for lengths.
dissect_bson_document checks for bogus values and ensures that a
non-negative (and at least 5) size is returned, but we need to make
sure to use that return value instead of trusting the value read
from the packet in dissect_op_msg_section.
Fix#19726