profile
viewpoint

futurepaul/how-many-wars 5

how many wars?

futurepaul/calculator-2 3

Calculator 2: The sequel to calculators

futurepaul/code-on-tape 3

Code on tape

futurepaul/my-own-personal-blog 3

a static site generator

futurepaul/buidl-rs 2

minimal blockchain in rust

futurepaul/fragment 2

search notes! maybe do other things!

fragment-platform/blogify 1

this is example code not anything useful yet

futurepaul/aca 1

audio code annotation

futurepaul/advent 1

This is a collaborative project to learn Rust and celebrate Christmas

futurepaul/code-on-tape-old 1

audio code documentation

issue commentlinebender/druid

Segmentation fault (core dumped) when using MenuDesc widget and svg feature

here's the backtrace apologies for the poor formatting this has nice colors on my screen!

#0  0x0000555555671618 in BEInt<unsigned int, 4>::operator unsigned int() const
    (this=0x0) at harfbuzz/src/hb.hh:620
#1  0x0000555555670332 in OT::IntType<unsigned int, 4u>::operator unsigned int() const (this=0x0) at harfbuzz/src/hb-open-type.hh:64
#2  0x000055555566f81e in OT::OpenTypeFontFile::get_face(unsigned int, unsigned int*) const (this=0x0, i=0, base_offset=0x7fffffff91bc) at harfbuzz/src/hb-open-file.hh:408
#3  0x000055555566feb0 in _hb_face_for_data_reference_table(hb_face_t*, hb_tag_t, void*) (face=0x555555dfad40, tag=1835104368, user_data=0x555555dfad20)
    at harfbuzz/src/hb-face.cc:164
#4  0x000055555566eace in hb_face_t::reference_table(unsigned int) const
    (this=0x555555dfad40, tag=1835104368) at harfbuzz/src/hb-face.hh:76
#5  0x000055555567015e in hb_face_reference_table(hb_face_t const*, hb_tag_t)
    (face=0x555555dfad40, tag=1835104368) at harfbuzz/src/hb-face.cc:309
#6  0x00005555556c87eb in hb_sanitize_context_t::reference_table<OT::maxp>(hb_face_t const*, unsigned int) (this=0x7fffffff92c0, face=0x555555dfad40, tableTag=1835104368)
    at harfbuzz/src/hb-sanitize.hh:379
#7  0x00005555556c866e in hb_face_t::load_num_glyphs() const (this=0x555555dfad40)
    at harfbuzz/src/hb-static.cc:59
#8  0x000055555566eb57 in hb_face_t::get_num_glyphs() const (this=0x555555dfad40)
    at harfbuzz/src/hb-face.hh:96
#9  0x00005555556701fb in hb_face_get_glyph_count(hb_face_t const*)
    (face=0x555555dfad40) at harfbuzz/src/hb-face.cc:371
#10 0x00005555556a3ca6 in hb_sanitize_context_t::reference_table<OT::head>(hb_face_t const*, unsigned int) (this=0x7fffffff93a0, face=0x555555dfad40, tableTag=1751474532)
    at harfbuzz/src/hb-sanitize.hh:378
#11 0x00005555556a2867 in hb_table_lazy_loader_t<OT::head, 1u>::create(hb_face_t*)
    (face=0x555555dfad40) at harfbuzz/src/hb-machinery.hh:327
#12 0x00005555556a08c8 in hb_data_wrapper_t<hb_face_t, 1u>::call_create<hb_blob_t, hb_table_lazy_loader_t<OT::head, 1u> >() const (this=0x555555dfad90)
    at harfbuzz/src/hb-machinery.hh:158
#13 0x000055555569db02 in hb_lazy_loader_t<OT::head, hb_table_lazy_loader_t<OT::head, 1u>, hb_face_t, 1u, hb_blob_t>::get_stored() const (this=0x555555dfad90)
    at harfbuzz/src/hb-machinery.hh:243
#14 0x0000555555698756 in hb_lazy_loader_t<OT::head, hb_table_lazy_loader_t<OT::head, 1u>, hb_face_t, 1u, hb_blob_t>::get() const (this=0x555555dfad90)
    at harfbuzz/src/hb-machinery.hh:267
#15 0x00005555556c8872 in hb_lazy_loader_t<OT::head, hb_table_lazy_loader_t<OT::head, 1u>, hb_face_t, 1u, hb_blob_t>::operator->() const (this=0x555555dfad90)
    at harfbuzz/src/hb-machinery.hh:220
#16 0x00005555556c86ec in hb_face_t::load_upem() const (this=0x555555dfad40) at harfbuzz/src/hb-static.cc:70
#17 0x000055555566eb1b in hb_face_t::get_upem() const (this=0x555555dfad40) at harfbuzz/src/hb-face.hh:87
#18 0x00005555556701dd in hb_face_get_upem(hb_face_t const*) (face=0x555555dfad40) at harfbuzz/src/hb-face.cc:356
#19 0x000055555567882b in _hb_font_create(hb_face_t*) (face=0x555555dfad40) at harfbuzz/src/hb-font.cc:1152
#20 0x0000555555678880 in hb_font_create(hb_face_t*) (face=0x555555dfad40) at harfbuzz/src/hb-font.cc:1170
#21 0x00007ffff6afdd1d in  () at /lib/x86_64-linux-gnu/libpangoft2-1.0.so.0
#22 0x00007ffff769699b in pango_font_get_hb_font () at /lib/x86_64-linux-gnu/libpango-1.0.so.0
#23 0x00007ffff76b334b in  () at /lib/x86_64-linux-gnu/libpango-1.0.so.0
#24 0x00007ffff76b2b5f in pango_shape_with_flags () at /lib/x86_64-linux-gnu/libpango-1.0.so.0
#25 0x00007ffff76a33f0 in  () at /lib/x86_64-linux-gnu/libpango-1.0.so.0
#26 0x00007ffff76a46a0 in  () at /lib/x86_64-linux-gnu/libpango-1.0.so.0
#27 0x00007ffff76a699e in  () at /lib/x86_64-linux-gnu/libpango-1.0.so.0
#28 0x00007ffff76a8549 in  () at /lib/x86_64-linux-gnu/libpango-1.0.so.0
#29 0x00007ffff7a1e720 in  () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#30 0x00007ffff7961b07 in  () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#31 0x00007ffff79669ef in  () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#32 0x00007ffff7a1b067 in  () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#33 0x00007ffff7ad585b in  () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#34 0x00007ffff7ad4f09 in gtk_widget_get_preferred_height () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#35 0x00007ffff7a43c57 in  () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#36 0x00007ffff7961b07 in  () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#37 0x00007ffff79669ef in  () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#38 0x00007ffff7a4385a in  () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#39 0x00007ffff7ad528b in  () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#40 0x00007ffff7ad5df5 in gtk_widget_get_preferred_height_and_baseline_for_width () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#41 0x00007ffff7a40ca0 in  () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#42 0x00007ffff7961b07 in  () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#43 0x00007ffff79669ef in  () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#44 0x00007ffff7a412aa in  () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#45 0x00007ffff7fbdd9f in  () at /usr/lib/x86_64-linux-gnu/gtk-3.0/modules/libappmenu-gtk-module.so
#46 0x00007ffff7ad528b in  () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#47 0x00007ffff7ad5df5 in gtk_widget_get_preferred_height_and_baseline_for_width () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#48 0x00007ffff790dff1 in  () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#49 0x00007ffff7961b07 in  () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#50 0x00007ffff79669ef in  () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#51 0x00007ffff790ea67 in  () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#52 0x00007ffff7ad585b in  () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#53 0x00007ffff7ad4f09 in gtk_widget_get_preferred_height () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#54 0x00007ffff7b9e8ca in  () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#55 0x00007ffff7900a90 in  () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#56 0x00007ffff7ad528b in  () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#57 0x00007ffff7ad5df5 in gtk_widget_get_preferred_height_and_baseline_for_width () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#58 0x00007ffff7ad5ee7 in  () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#59 0x00007ffff7ba0511 in  () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#60 0x00007ffff7ba777f in  () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#61 0x00007ffff72f6b56 in  () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#62 0x00007ffff730fbbf in g_signal_emit_valist () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#63 0x00007ffff730fda3 in g_signal_emit () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#64 0x00007ffff7ba2a8e in  () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#65 0x00007ffff72f68fa in g_closure_invoke () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#66 0x00007ffff730914a in  () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#67 0x00007ffff730fc41 in g_signal_emit_valist () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#68 0x00007ffff730fda3 in g_signal_emit () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#69 0x00007ffff7b8e826 in gtk_widget_show () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#70 0x000055555582cbef in <O as gtk::auto::widget::WidgetExt>::show_all (self=0x555555aedae0)
    at /home/futurepaul/.cargo/registry/src/github.com-1ecc6299db9ec823/gtk-0.9.2/src/auto/widget.rs:2708
#71 0x000055555580fedb in druid_shell::platform::gtk::window::WindowHandle::show (self=0x7fffffffc360) at druid-shell/src/platform/gtk/window.rs:764
#72 0x00005555558074fb in druid_shell::window::WindowHandle::show (self=0x7fffffffc360) at druid-shell/src/window.rs:179
#73 0x00005555555bbebc in druid::app::AppLauncher<T>::launch (self=..., data=...) at /home/futurepaul/dev/rust/druid/druid/src/app.rs:177
#74 0x00005555555ded91 in multiwin::main () at druid/examples/multiwin.rs:47
ivanceras

comment created time in a day

issue commentlinebender/druid

Segmentation fault (core dumped) when using MenuDesc widget and svg feature

I followed the gdb instructions, got this:

Starting program: /home/futurepaul/dev/rust/druid/target/debug/examples/multiwin-3d3680e1e9e4ce7a 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7ffff5e8a640 (LWP 192921)]
[New Thread 0x7ffff5689640 (LWP 192922)]
[New Thread 0x7ffff4e28640 (LWP 192923)]
[New Thread 0x7fffef100640 (LWP 192924)]
DEBUG [druid::localization] available locales [], current en-US
DEBUG [druid::localization] resolved: [en-US]
INFO  [multiwin] Window added, id: WindowId(1)

Thread 1 "multiwin-3d3680" received signal SIGSEGV, Segmentation fault.
0x0000555555671618 in BEInt<unsigned int, 4>::operator unsigned int (this=0x0)
    at harfbuzz/src/hb.hh:620
620             return (v[0] << 24) + (v[1] << 16) + (v[2] << 8) + (v[3]);
ivanceras

comment created time in a day

issue commentlinebender/druid

Segmentation fault (core dumped) when using MenuDesc widget and svg feature

I'm also getting this segfault with no backtrace after updating my app to master (was on 0.6). I'm on pop_os latest which is based on ubuntu 20.10.

ivanceras

comment created time in a day

issue openedlinebender/runebender

Crash on backspace while using pen tool

Sorry I don't know the correct term for this state of the pen tool but here is my process to recreate:

select the pen tool

  1. click to draw one point
  2. click to draw second point
  3. click and drag while drawing third point to pull out a curve
  4. let go of click (don't click again)
  5. hit backspace

I get

thread 'main' panicked at 'index out of bounds: the len is 4 but the index is 4', src/draw.rs:195:30

created time in 10 days

push eventfuturepaul/fragment-native

Paul Miller

commit sha f162c3ae6d396b80952f75d180eedc18cda98bda

Update README.md

view details

push time in 14 days

issue openedfuturepaul/fragment-native

add a screenshot to readme

fragment-native

created time in 14 days

push eventfuturepaul/fragment-native

Paul Miller

commit sha 5a36d07c4281e6a0c940e068e208a653692f20f5

Create README.md

view details

push time in 14 days

issue commentvulpemventures/nigiri

Trouble with Linux install

I believe that /usr/local/bin is appropriate here: https://unix.stackexchange.com/questions/8656/usr-bin-vs-usr-local-bin-on-linux

I don't prefer to use with or without sudo I don't actually use docker on this machine usually. I just didn't understand why nigiri wasn't working and it turns out it requires non-sudo, which isn't the default out-of-the-box experience of docker. I think a note in the install instructions would be plenty to clear it up.

futurepaul

comment created time in a month

issue openedvulpemventures/nigiri

Trouble with Linux install

Hey, I had a couple of problems with installing this on Linux (using PopOS, which is basically Ubuntu):

  1. Putting a bin folder in my home folder feels a little rude and requires me to edit my .bash_profile. If this is standard practice it's news to me.
  2. There seem to be hardcoded expectations in nigiri to run with a non-sudo docker. I needed to follow these instructions https://docs.docker.com/engine/install/linux-postinstall/ before I could get nigiri to run successfully. Before I did that,nigiri start couldn't find docker, and sudo nigiri start was looking for the config in /root/....

created time in a month

issue commentlinebender/druid

Clarification of behaviour and expectations of the layout API

What does it mean for the parent to choose a size different from that returned by the child? This is not really written down anywhere; nor is there a clear guideline for how the child is expected to adapt when drawing to an unexpected size.

I know I've ran into situations like this that have been hard to understand what I'm doing wrong (or if it's the widgets I'm composing at fault). I feel like a great start is to get rid of this ambiguous behavior and see where we stand and what extra functionality we need to be expressive. Basically, I really like this proposal and even if it exposes layout challenges those layout challenges will be easier to solve without this ambiguity.

cmyr

comment created time in a month

issue commentlinebender/druid

Add 'disabled' state to widgets.

Hey just bumping this because I'm dealing with it for a Button right now in my own app. There seem like so many different ways to deal with this I don't really know the right approach, but here's what I'm leaning toward for my own project:

Setting a canonical "DISABLED" key in the Env makes it easy to visually respond to the disabled state. It's also easy to do wrap a whole section of the tree in a env_scope and disabled it all at once.

The on_click handler in Button can also check the Env and just do nothing when "DISABLED" is true.

More complicated interactions maybe need more bespoke handling of what DISABLED means to them.

Could set this key directly with

.env_scope(|env, data| {
            env.set(DISABLED, data.should_be_disabled);
        });

Or have some sort of convenience method in WidgetExt:

.set_disabled(|data| data.should_be_disabled);

This is all about ignoring events at the leaf, does nothing to address not sending them down, so I don't know if this is an ideal solution but it seems reasonable to me.

cmyr

comment created time in a month

push eventfuturepaul/fragment-native

Paul Miller

commit sha 7bf16c3d7b128acfeb985ef31ff19f35c5eff7a0

update to master

view details

Paul Miller

commit sha 0343c3a891073074246de9e99bd96e902a9e4b9d

Merge pull request #2 from futurepaul/update-druid-to-master update to master

view details

push time in 2 months

PR opened futurepaul/fragment-native

update to master
+514 -423

0 comment

3 changed files

pr created time in 2 months

create barnchfuturepaul/fragment-native

branch : update-druid-to-master

created branch time in 2 months

delete branch futurepaul/fragment-native

delete branch : update-druid

delete time in 2 months

push eventfuturepaul/fragment-native

Paul Miller

commit sha 5a291222f3efd91b3fd60050bcf3e5c36100809f

update to 0.6

view details

Paul Miller

commit sha 9de3ff2e0ea5432cbdb1c7e1c7ee398edb0cd9df

Merge pull request #1 from futurepaul/update-druid update to 0.6

view details

push time in 2 months

PR merged futurepaul/fragment-native

update to 0.6
+180 -116

0 comment

5 changed files

futurepaul

pr closed time in 2 months

PR opened futurepaul/fragment-native

update to 0.6
+180 -116

0 comment

5 changed files

pr created time in 2 months

create barnchfuturepaul/fragment-native

branch : update-druid

created branch time in 2 months

create barnchfuturepaul/druid

branch : update-to-new-piet-text

created branch time in 3 months

issue commentlinebender/druid

Look at how to help people with an infinite non-flex child.

Yeah I still run into this problem often. The reason we don't have a straightfoward one-size fix (from my understanding) is some widgets (like flex and scroll) can make reasonable sense of being passed an infinite constraint, while others (especially when writing my own, but also a few of the built-ins) don't handle infinity well.

Most of my attempts at fixing this so far have been simply to check if a constraint is "valid." But that's not the whole problem it seems.

derekdreery

comment created time in 3 months

startedFinnerale/druid-enums

started time in 3 months

create barnchfuturepaul/druid

branch : horizontal-list

created branch time in 3 months

create barnchfuturepaul/bitcoin-donations

branch : fix-link

created branch time in 3 months

fork futurepaul/bitcoin-donations

Support bitcoin developers so they can focus on building our future.

https://bitcoindevlist.com/

fork in 3 months

more