Byla vydána verze 1.98.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.
Byla vydána nová verze 7.1 (YouTube) svobodného open source redakčního systému WordPress. Kódové jméno Mary Lou bylo vybráno na počest americké jazzové klavíristky Mary Lou Williams (YouTube).
Bun (Wikipedie), tj. běhové prostředí (runtime) a toolkit pro JavaScript a TypeScript, alternativa k Node.js a Deno, byl vydán ve verzi 1.4. Představení novinek také na YouTube. Bun byl přepsán z programovacího jazyka Zig do Rustu. Pomocí Claude Fable 5.
Vývojáři KDE na Mastodonu oznámili vydání balíku aplikací KDE Gear 26.08. Přehled novinek i s náhledy a videi v oficiálním oznámení.
Společnost PINE64 kvůli nedostatku a vysokým cenám DRAM a eMMC dočasně pozastavuje výrobu linuxových zařízení. Výroba zařízení jako PineTime, PineVoice a Pinecil pokračuje.
Společnost Stripe se dohodla na akvizici společnosti OpenRouter. Za 7,5 miliardy dolarů.
Byla vydána nová verze 1.27 programovacího jazyka Go (Wikipedie). Přehled novinek v poznámkách k vydání.
V pátek 28. srpna se v Praze uskuteční již osmý Mobile Linux Hackday. Jako obvykle se potkáme v pražské pobočce SUSE v Karlíně na Křižíkově, takže kromě mobilního Linuxu je to tentokrát i příležitost přijít se podívat na nově zrekonstruované kanceláře. Začínáme v 10:00, ale dorazit můžete samozřejmě kdykoliv v průběhu dne. Setkáním vás provede Petr Hodina, vývojář GPU ovladačů v Mesa 3D a jeden z hlavních lidí české komunity kolem mobilního … více »
Představen byl Raspberry Pi Compute Module 5 Programming Jig. Jedná se o zařízení umožňující připravit Compute Module 5 do plně funkčního stavu bez nutnosti použití dalších vstupně / výstupních desek. Podporuje automatizaci pomocí nástroje rpi-sb-provisioner. Podrobnosti v dokumentaci.
Hackeři ve Francii ukradli data více než půl milionu daňových poplatníků. Je to jeden z největších hackerských útoků v dějinách země. O útoku z konce června informovala až teď daňová správa. Teprve od pondělí dotčeným občanům zasílá e-maily s instrukcemi, jak postupovat dál. Hackeři se sice nedostanou k penězům dotyčných, hrozí ale věrohodné podvody. Hackeři získali třeba celá jména, údaje o rodinných příslušnících nebo také údaje o
… více »mem.h
#include <QWidget>
class Mem : public QWidget
{
public:
Mem (QWidget * parent = NULL);
};
mem.cpp
#include "mem.h"
#include <QVBoxLayout>
#include <QLabel>
Mem::Mem (QWidget * parent)
: QWidget(parent)
{
QVBoxLayout * vbox = new QVBoxLayout(this);
QLabel * one = new QLabel("Hello");
QLabel * two = new QLabel("world!");
vbox->addWidget(one);
vbox->addWidget(two);
setLayout(vbox);
}
main.cpp
#include <QApplication>
#include "mem.h"
int main (int argc, char ** argv)
{
QApplication app(argc,argv);
Mem window;
window.show();
return app.exec();
}
A teď výpis z Valgrindu:
==26725== HEAP SUMMARY: ==26725== in use at exit: 83,285 bytes in 1,696 blocks ==26725== total heap usage: 17,743 allocs, 16,047 frees, 1,890,066 bytes allocated ==26725== ==26725== LEAK SUMMARY: ==26725== definitely lost: 192 bytes in 2 blocks ==26725== indirectly lost: 912 bytes in 34 blocks ==26725== possibly lost: 1,720 bytes in 9 blocks ==26725== still reachable: 80,461 bytes in 1,651 blocks ==26725== suppressed: 0 bytes in 0 blocksVýpis s
--leak-check=full
==27097== Memcheck, a memory error detector ==27097== Copyright (C) 2002-2010, and GNU GPL'd, by Julian Seward et al. ==27097== Using Valgrind-3.6.1 and LibVEX; rerun with -h for copyright info ==27097== Command: ./memory_leak ==27097== Parent PID: 24134 ==27097== ==27097== ==27097== HEAP SUMMARY: ==27097== in use at exit: 83,285 bytes in 1,696 blocks ==27097== total heap usage: 17,438 allocs, 15,742 frees, 1,884,214 bytes allocated ==27097== ==27097== 120 bytes in 1 blocks are possibly lost in loss record 116 of 170 ==27097== at 0x4024150: memalign (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so) ==27097== by 0x402420E: posix_memalign (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so) ==27097== by 0x509FFA9: ??? (in /usr/lib/libglib-2.0.so.0.2800.6) ==27097== by 0x50A14C8: g_slice_alloc (in /usr/lib/libglib-2.0.so.0.2800.6) ==27097== by 0x50A219D: g_slist_prepend (in /usr/lib/libglib-2.0.so.0.2800.6) ==27097== by 0x50A516C: g_strsplit (in /usr/lib/libglib-2.0.so.0.2800.6) ==27097== by 0x50BACB8: g_get_language_names (in /usr/lib/libglib-2.0.so.0.2800.6) ==27097== by 0x50BB216: ??? (in /usr/lib/libglib-2.0.so.0.2800.6) ==27097== by 0x50AD289: g_thread_init_glib (in /usr/lib/libglib-2.0.so.0.2800.6) ==27097== by 0x50364B5: g_thread_init (in /usr/lib/libgthread-2.0.so.0.2800.6) ==27097== by 0x4C61941: QEventDispatcherGlibPrivate::QEventDispatcherGlibPrivate(_GMainContext*) (in /usr/lib/qt/lib/libQtCore.so.4.7.0) ==27097== by 0x4227BB5: ??? (in /usr/lib/qt/lib/libQtGui.so.4.7.0) ==27097== ==27097== 124 bytes in 1 blocks are definitely lost in loss record 117 of 170 ==27097== at 0x4025BB8: malloc (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so) ==27097== by 0x53CCE52: ??? (in /usr/lib/libxcb.so.1.1.0) ==27097== by 0x53CCF54: ??? (in /usr/lib/libxcb.so.1.1.0) ==27097== by 0x53CC813: xcb_connect_to_display_with_auth_info (in /usr/lib/libxcb.so.1.1.0) ==27097== by 0x53CCB5B: xcb_connect (in /usr/lib/libxcb.so.1.1.0) ==27097== by 0x52D5652: _XConnectXCB (in /usr/lib/libX11.so.6.3.0) ==27097== by 0x52C5476: XOpenDisplay (in /usr/lib/libX11.so.6.3.0) ==27097== by 0x41FBC5C: ??? (in /usr/lib/qt/lib/libQtGui.so.4.7.0) ==27097== by 0x417DAD7: QApplicationPrivate::construct(_XDisplay*, unsigned long, unsigned long) (in /usr/lib/qt/lib/libQtGui.so.4.7.0) ==27097== by 0x417E342: QApplication::QApplication(int&, char**, int) (in /usr/lib/qt/lib/libQtGui.so.4.7.0) ==27097== by 0x8049E7A: main (in /home/yenn/qt/memory_leak/memory_leak) ==27097== ==27097== 360 bytes in 3 blocks are possibly lost in loss record 132 of 170 ==27097== at 0x4024150: memalign (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so) ==27097== by 0x402420E: posix_memalign (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so) ==27097== by 0x509FFA9: ??? (in /usr/lib/libglib-2.0.so.0.2800.6) ==27097== by 0x50A14E5: g_slice_alloc (in /usr/lib/libglib-2.0.so.0.2800.6) ==27097== by 0x50A219D: g_slist_prepend (in /usr/lib/libglib-2.0.so.0.2800.6) ==27097== by 0x50A516C: g_strsplit (in /usr/lib/libglib-2.0.so.0.2800.6) ==27097== by 0x50BACB8: g_get_language_names (in /usr/lib/libglib-2.0.so.0.2800.6) ==27097== by 0x50BB216: ??? (in /usr/lib/libglib-2.0.so.0.2800.6) ==27097== by 0x50AD289: g_thread_init_glib (in /usr/lib/libglib-2.0.so.0.2800.6) ==27097== by 0x50364B5: g_thread_init (in /usr/lib/libgthread-2.0.so.0.2800.6) ==27097== by 0x4C61941: QEventDispatcherGlibPrivate::QEventDispatcherGlibPrivate(_GMainContext*) (in /usr/lib/qt/lib/libQtCore.so.4.7.0) ==27097== by 0x4227BB5: ??? (in /usr/lib/qt/lib/libQtGui.so.4.7.0) ==27097== ==27097== 980 (68 direct, 912 indirect) bytes in 1 blocks are definitely lost in loss record 150 of 170 ==27097== at 0x4025C9E: realloc (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so) ==27097== by 0x52E9A57: ??? (in /usr/lib/libX11.so.6.3.0) ==27097== by 0x52E9FD0: ??? (in /usr/lib/libX11.so.6.3.0) ==27097== by 0x52EBC91: ??? (in /usr/lib/libX11.so.6.3.0) ==27097== by 0x52EC4B4: _XlcCreateLC (in /usr/lib/libX11.so.6.3.0) ==27097== by 0x530F509: _XlcUtf8Loader (in /usr/lib/libX11.so.6.3.0) ==27097== by 0x52F43BB: _XOpenLC (in /usr/lib/libX11.so.6.3.0) ==27097== by 0x52F467D: _XrmInitParseInfo (in /usr/lib/libX11.so.6.3.0) ==27097== by 0x52DAA10: ??? (in /usr/lib/libX11.so.6.3.0) ==27097== by 0x52DE1B7: XrmGetStringDatabase (in /usr/lib/libX11.so.6.3.0) ==27097== by 0x52B9ADE: ??? (in /usr/lib/libX11.so.6.3.0) ==27097== by 0x52B9D0E: XGetDefault (in /usr/lib/libX11.so.6.3.0) ==27097== ==27097== 1,240 bytes in 5 blocks are possibly lost in loss record 156 of 170 ==27097== at 0x4024150: memalign (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so) ==27097== by 0x402420E: posix_memalign (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so) ==27097== by 0x509FFA9: ??? (in /usr/lib/libglib-2.0.so.0.2800.6) ==27097== by 0x50A14E5: g_slice_alloc (in /usr/lib/libglib-2.0.so.0.2800.6) ==27097== by 0x50545F8: g_array_sized_new (in /usr/lib/libglib-2.0.so.0.2800.6) ==27097== by 0x50546D2: g_array_new (in /usr/lib/libglib-2.0.so.0.2800.6) ==27097== by 0x50AD16E: g_static_private_set (in /usr/lib/libglib-2.0.so.0.2800.6) ==27097== by 0x5064846: g_get_filename_charsets (in /usr/lib/libglib-2.0.so.0.2800.6) ==27097== by 0x50648CC: ??? (in /usr/lib/libglib-2.0.so.0.2800.6) ==27097== by 0x50AD279: g_thread_init_glib (in /usr/lib/libglib-2.0.so.0.2800.6) ==27097== by 0x50364B5: g_thread_init (in /usr/lib/libgthread-2.0.so.0.2800.6) ==27097== by 0x4C61941: QEventDispatcherGlibPrivate::QEventDispatcherGlibPrivate(_GMainContext*) (in /usr/lib/qt/lib/libQtCore.so.4.7.0) ==27097== ==27097== LEAK SUMMARY: ==27097== definitely lost: 192 bytes in 2 blocks ==27097== indirectly lost: 912 bytes in 34 blocks ==27097== possibly lost: 1,720 bytes in 9 blocks ==27097== still reachable: 80,461 bytes in 1,651 blocks ==27097== suppressed: 0 bytes in 0 blocks ==27097== Reachable blocks (those to which a pointer was found) are not shown. ==27097== To see them, rerun with: --leak-check=full --show-reachable=yes ==27097== ==27097== For counts of detected and suppressed errors, rerun with: -v ==27097== ERROR SUMMARY: 5 errors from 5 contexts (suppressed: 75 from 9)OS: Slackware-current, g++ 4.5.3, QT 4.7 Je to chyba v QT nebo dělám něco špatně já?
Řešení dotazu:
Nijak zvlášť jsem to nestudoval, ale IMHO minimálně neuklízíš vbox, one a two
addWidget()
[...]
Note: The ownership of item is transferred to the layout, and it's the layout's responsibility to delete it
Pokuď layout manager uklízí sám své widgety a widget svůj layout manager, pak je všechno v pořádku.
Release 1.7 (2010-08-13)
========================
- Always wake up readers after writing
- Get rid of PATH_MAX and MAXPATHLEN
- Add ~ operator support in code generator
- xcb_open: Improve protocol/host parsing
- xcb_connect_to_display_with_auth_info: Fix memory leak
- Report which extensions are being built
Dost z tech glib leaku je staticky alokovana pamet, ktera se alokoje jen jednou pri startu - nemela by mit vliv na program.
Tiskni
Sdílej: